vintlabs / fauxmoESP

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

UDP.write is called without length on ESP8266 #88

Closed pvint closed 3 years ago

pvint commented 5 years ago

Original report by Ralf Michl (Bitbucket: teddibaer, GitHub: teddibaer).


In fauxmoESP.cpp at line 62 it says: _udp.write(response)

but should say:_ udp.write(response, strlen(response))

according to https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/udp-class.html (or even better: use the length from the snprintf_P() a few lines above)

Note: even with this change I could not get the Alexa App to work with my test device. I could verify that the UDP messages from the App are seen and answered, but the App never tries to retrieve the description.xml - god knows why. I even tried to tinker with the templates but no change.

However, my Echo (Gen2) found the test device and is able to work with it (but then the test device never shows up in the Alexa App ...?

(I am using platformio for my tests using the current default 2.5 esp core libs).

pvint commented 3 years ago

This is still on my TODO list, but there's been other more urgent things. Hopefully get to this in the coming days (easy change, but I'll want to do a lot of testing to be certain)