No description
Find a file
Daniel Høyer Iversen b30fc0d1c1 Ensure discover() returns devices and not None
There's a small race condition in the discover() method. If recv() returns
before the socket timeout is reached, but we hit the top of the loop after
the timeout is reached, we'll return None rather than the set of devices.
2016-12-25 11:16:53 +00:00
broadlink Ensure discover() returns devices and not None 2016-12-25 11:16:53 +00: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 Update documentation to cover RF packets 2016-10-30 14:18:20 -07:00
README.md Add new device support: Broadlink MP1 Smart power strip 2016-12-25 10:59:58 +00:00
requirements.txt Create requirements.txt 2016-12-18 19:24:06 +01:00
setup.py Update setup.py 2016-12-18 19:38:08 +01: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

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()