This is a driver for Samsung SmartThings home automation hubs, allowing a hub to find and control a Broadlink learning Infrared remote. It's a SmartThings "edge" driver (written in LUA, runs on the hub).
⚠️ This is a very basic proof-of-concept. It was a hobby project when a firmware update stopped my TV supporting wake-on-lan reliably. It's only writen and tested with the single Broadlink device I had, and isn't particularly user-friendly.
pronto2broadlink.py
script can convert Pronto Hex to the Broadlink hex format.frostmar Shared Drivers
channel to your hub; from the list of available drivers install driver Broadlink Remote
Add a device
→ Scan
Broadlink Remote
device will immediately be created (if a supported Broadlink IR remote is found on the local network)Broadlink Remote
device to:
learn code
button to put the Broadlink into learning mode, the next IR code received will be displayedNewVirtualRemoteDevice
button to create a new child device. Each virtual remote device has a single momentary button, which can be configured to send a single remote codeThis code is at a very basic proof-of-concept level. Please do fork/extend/improve. The Broadlink protocol is fairly similar for many different devices, with a few tweaks and testing the same approach could run different device types, as well as other remote models. See README_development for some notes.
Embeds encryption from the smartthings-edge
branch of lua-lockbox
- https://github.com/rtyle/lua-lockbox/blob/smartthings-edge/
Many thanks to Ross Tyler for the SmartThings-compatible fork of this useful libray.
Thanks to Mathew Garett for the excellent python-broadlink library and Broadlink protocol information, much of the code here is shamelessly based on it.
Thanks to Scott Kyle for the pronto2broadlink.py script to convert Pronto Hex remote codes into the Broadlink hex format.