vintlabs / fauxmoESP

Add voice control of your ESP32 and ESP8266 devices using Amazon Alexa
MIT License
379 stars 70 forks source link

Alexa still not able to add more FauxmoESP devices to a group #164

Open Miq1 opened 3 years ago

Miq1 commented 3 years ago

Upfront: thanks for identifying the FauxmoESP devices as light bulbs now in Alexa! 👍

There still seems to be an issue with Alexa identifying the devices, though: it was not possible for me to add more than one Fauxmo device to a group. Alexa always is confirming the add, but a closer look reveals that only the last added device remains in the group.

Can it be there is another ID internally that needs to be different among devices and is not at this time?

I had to use my previous work around again to create Alexa routines to switch more than one device at a time. This is a temporary solution, but I would rather have the devices being accepted as normal by Alexa...

Miq1 commented 3 years ago

I had the hope this would be solved with the 3.3 release, but alas, it is not. Still Alexa will accept a single Fauxmo device only in a group. Rats...

h-e-c commented 2 years ago

This is a fantastic library with one of the best Alexa support.

I confirm the same issue. It's impossible to add more than one virtual device of the same number to Alexa group. If I have for example 4 ESP32 boards with 2 virtual devices each (lets say A1 / A2, B1 / B2, C1 / C2 and D1, / D2), I can put in one group only one x1 and one x2 device (for example A1 and A2, B1 and C2 or D1 and C2 and so on). To make it even worse it's not even possible to add remaining devices to other (custom or predefined) groups. If you attempt to add some of the remaining devices to new or different group, that group will actually end up with 2 devices in the first group.

I suspect this might be related to internal device serial numbers generated by FauxmoESP resulting in "duplicate" devices and the discussed issues. Current workaround is to create fake devices on additional modules to prevent this. So for 4 ESP32 modules you'll have A1 /A2, Fake1 / Fake2 / B1 / B2, Fake1 / Fake2 / Fake3 / Fake4 / C1 / C2 and Fake1 / Fake2 / Fake3 / Fake4 / Fake5 / Fake6 / D1 / D2.

I have tried to use different virtual devices names (duh!) as well as different variable names, but indeed that didn't work. I believe that adding a parameter to this library to allow to specify the serial number (or at least unique prefix) would help to resolve this issue. Alternatively for example last 2 or 4 numbers of MAC address being used in the device serial number would work too. I was trying to figure out how exactly is the internal device serial number generated to try to make different sets for each individual ESP32 board but I got lost ... If someone would figure this out and share the exact place and method of generating the serial numbers, we might be able to amend it ourselves to address the issue.

In addition to above issue which is topic of this post I also experience issue mentioned in another post (receiving the value of 254 instead of 255 for a full 100% brightness and resulting in error in Alexa about device being unable to handle the value).

Finally, I'd also like to see the option added for colour (hue and saturation), albeit there is already fork / pull request addressing this. It would be nice to have this included in the main library.

Thank you.