Aircoookie / Espalexa

Alexa voice control for ESP8266/ESP32 (including brightness and color!)
MIT License
531 stars 135 forks source link

Espalexa as bridge to REST API of WLED, esp8266_milight_hub .... #200

Open disc0018 opened 2 years ago

disc0018 commented 2 years ago

I am using esp8266-milight_hub, WLED and Bluetooth LE bacons to control my LED bulbs, LED stripes and LED Panels at home.
Unfortunately WLED only has base support, and Esp8266_milight_hub has no support for alexa. My LED Panel only supports a remote control based on BT LE bacons. With Espalexa I was able to create an inexpensive, flexible and powerful "alexa control hub" for all my lights. I am using an esp32 with Espalexa to control WLED and esp8266-milight_hub via their REST API and for the LED Panel I am using the BLE Server of the esp32. Next step would be a REST API and a web frontend for my "alexa control hub". Is there a plan to create an REST API for Espalexa?

Aircoookie commented 2 years ago

Hi, technically Espalexa already does implement (parts of) a REST API, namely the v1 Philips Hue API, which is emulated to allow control by Alexa. Other than that, a more user friendly REST API or even a web frontend are currently outside the scope of this library - rather than being a complete firmware like WLED, Espalexa is primarily intended to be integrated in your own Arduino application.

disc0018 commented 2 years ago

Many thanks for your comment. This emulated REST API is a good hint. I have reviewed the WLED (and milight_hub issues). In the WLED issus, there was the request about a better alexa integration. My "hub" implements this feature via the WLED rest API. Additionally I created a simple mapping of the brightness in % to the macro ID. Alexa brightness 0%,10%...90%,100% switches only the brightness of the device. Alexa brightness 11% switches to macro 1 at 11% brightness, 29% swichtes to macro 9 at 22% brightness, and so on.... Perhaps this simple mapping could be useful feature for your WLED. I am no CPP expert and my coding is not very sophisticated, but I fork Espalexa and put the code of my hub there. Perhaps it is useful for someone.