1
0
mirror of https://github.com/mjg59/python-broadlink.git synced 2024-11-22 07:00:12 +01:00
Python module for controlling Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs
Go to file
Marcin Koperski 21d96bd140 Add option to switch state (#160)
Find lacking for an option in one line to switch a state of SP2 switches
2018-03-18 14:55:03 -07:00
broadlink Fix for environments where Crypto and pyaes are installed. (#151) 2018-03-18 14:54:17 -07:00
cli Add option to switch state (#160) 2018-03-18 14:55:03 -07:00
.gitignore Add new device support: Broadlink MP1 Smart power strip 2016-12-25 10:59:58 +00:00
LICENSE Initial commit 2016-09-15 13:20:16 -07:00
protocol.md Fix protocol description (#125) 2017-11-25 12:14:12 -08:00
README.md Add in AP Mode device setup for new Broadlink devices. (#53) 2017-04-22 12:48:02 -07:00
requirements.txt Depend on pycryptodome instead of pycrypto 2018-02-27 00:26:07 -08:00
setup.py Depend on pycryptodome instead of pycrypto 2018-02-27 00:26:07 -08:00

Python control for Broadlink RM2 IR controllers

A simple Python API for controlling IR controllers from Broadlink. At present, only RM Pro (referred to as RM2 in the codebase) and A1 sensor platform devices are supported. There is currently no support for the cloud API.

Example use

Setup a new device on your local wireless network:

  1. Put the device into AP Mode
  2. Long press the reset button until the blue LED is blinking quickly.
  3. Long press again until blue LED is blinking slowly.
  4. Manually connect to the WiFi SSID named BroadlinkProv.
  5. Run setup() and provide your ssid, network password (if secured), and set the security mode
  6. Security mode options are (0 = none, 1 = WEP, 2 = WPA1, 3 = WPA2, 4 = WPA1/2)
import broadlink

broadlink.setup('myssid', 'mynetworkpass', 3)

Discover available devices on the local network:

import broadlink

devices = broadlink.discover(timeout=5)

Obtain the authentication key required for further communication:

devices[0].auth()

Enter learning mode:

devices[0].enter_learning()

Obtain an IR or RF packet while in learning mode:

ir_packet = devices[0].check_data()

(This will return None if the device does not have a packet to return)

Send an IR or RF packet:

devices[0].send_data(ir_packet)

Obtain temperature data from an RM2:

devices[0].check_temperature()

Obtain sensor data from an A1:

data = devices[0].check_sensors()

Set power state on a SmartPlug SP2/SP3:

devices[0].set_power(True)

Check power state on a SmartPlug:

state = devices[0].check_power()

Set power state for S1 on a SmartPowerStrip MP1:

devices[0].set_power(1, True)

Check power state on a SmartPowerStrip:

state = devices[0].check_power()