mjg59 / python-broadlink

Python module for controlling Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs
MIT License
1.35k stars 477 forks source link

Upstream/custom device lib #779

Closed brentleeper closed 2 months ago

brentleeper commented 3 months ago

This is a work in progress POC for an idea I had to make python-broadlink more useful and more powerful. Please take a look and share any feedback.

The primary area of focus should be in the files: lib/broadlink_controller.py, lib/custom_device.py, cli/custom_device_creator, and server/server.py

The summary of the idea is, you can use the custom_device_creator script to discover and select among multiple broad link controllers, then create and name a custom device, train commands for the custom device, test the command, modify a previously created custom device (re train, add commands), and save the custom device. The custom device can then be used in the server once it is registered.

brentleeper commented 3 months ago

Here is a demo of the custom device creator:

https://github.com/mjg59/python-broadlink/assets/36904623/7fc390c1-13d9-4495-82be-2d32e9162b4c

brentleeper commented 3 months ago

And here is a demo of the custom device used in the server:

https://github.com/mjg59/python-broadlink/assets/36904623/422df9a8-d5e9-4205-a2b1-8e314bc825a5

felipediel commented 2 months ago

Hi Brent, and thank you! I like the idea of a project using Flask to manage Broadlink devices. However, I'm uncertain if this repo is the most suitable place for it. Our main objective is to maintain a lean codebase focused on the controllers, allowing other projects to present them to the end user.

brentleeper commented 2 months ago

I don't think "maintain" is a good word for it. This repo has been dead for months if not longer.

brentleeper commented 2 months ago

image