Aircoookie / Espalexa

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

Discovery problems also. #92

Open gsb opened 4 years ago

gsb commented 4 years ago

Sorry, but I too am having discovery issues w/ v1 and v2 Echo dots. Using your example, EspalexaBasic.ino, here is what I get:


[Serial Debug]

. Connected to B2Bomber IP address: 192.168.2.101 Constructing device 1 Adding device 1 Constructing device 2 Adding device 2 Adding device 3 Espalexa Begin... MAXDEVICES 10 Done Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X


...now I asked Alexa to discover

[Serial Debug]

Got UDP! M-SEARCH * HTTP/1.1 Host: 239.255.255.250:1900 Man: "ssdp:discover" MX: 3 ST: ssdp:all

Got UDP! M-SEARCH * HTTP/1.1 Host: 239.255.255.250:1900 Man: "ssdp:discover" MX: 3 ST: ssdp:all

Got UDP! M-SEARCH * HTTP/1.1 Host: 239.255.255.250:1900 Man: "ssdp:discover" MX: 3 ST: ssdp:all

Got UDP! Got UDP! Got UDP! Got UDP! Got UDP! Got UDP! Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X


...and now checking the Espalexa setup via http://192.168.2.101/espalexa I get...

Hello from Espalexa!

Value of device 1 (Light 1): 0 (Dimmable light) Value of device 2 (Light 2): 255 (Dimmable light) Value of device 3 (Light 3): 128 (Dimmable light)

Free Heap: 47208 Uptime: 251409

Espalexa library v2.4.3 by Christian Schwinne 2019


[Serial Debug]

HTTP Req espalexa ...

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Got UDP! M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 1 ST: urn:dial-multiscreen-org:service:dial:1 USER-AGENT: Google Chrome/79.0.3945.88 Mac OS X

Aircoookie commented 4 years ago

Hi! Seems like they changed the service type of the discovery packet again (from upnp:rootdevice to ssdp:all). I will publish a small update tomorrow, hopefully it will make the discovery work again :)

Happy holidays!

gsb commented 4 years ago

Looking at github, where did you make that update? ...sorry is busy time and HAPPY NEW YEAR!

MarcinHanczaruk commented 4 years ago

Update to lines 301 and 375 of Espalexa.h worked for me (Echo v1).

gsb commented 4 years ago

Sorry. After posting, I did just that. Thank you for your time and help.

Aircoookie commented 4 years ago

Sorry, I forgot to do this as well due to holidays :) Just released lib version 2.4.4, which should fix it!

anatom74 commented 4 years ago

Tryed on 2.4.4, n NodeMCU and WEMOS D1, but still no devices discovered

ad.: seems that resetting Echo Dot3 helped. Now it can discover all devices

nccchirag commented 4 years ago

echo dot gen 2 does not work with 2.4.4 / latest release

Setup tinyPICO with EspalexaBasic sketch Echo dot gen 2 with software version 649649821 Echo show -- not connected initially

Issue No devices are being discovered when connecting just the echo dot (gen2)

Findings Connecting echo show & then initiating the device discovery via echo dot seems to find all the emulated devices

Summary Echo dot gen 2 does not independently discover devices, instead it requires a newer generation device in the network for emulated discovery to work!

CommittotheIndian commented 4 years ago

I am running into the same issue with discovery. I’ve tried resetting the dot, tried multiple times in a row, tried changing wifi networks, it just won’t discovery. Can anyone help me?

Echo Dot is Gen3 NodeMCU 8266 Both are on the same wifi network with no firewall between devices I have even tried same network, both 2.4ghz, and same AP.

This shows up in my log

[09:32:01]Got UDP!
[09:32:01]M-SEARCH * HTTP/1.1
[09:32:01]HOST: 239.255.255.250:1900
[09:32:01]MAN: "ssdp:discover"
[09:32:01]MX: 1
[09:32:01]ST: urn:dial-multiscreen-org:service:dial:1
[09:32:01]
[09:32:01]
[09:32:01]Got UDP!
[09:32:01]M-SEARCH * HTTP/1.1
[09:32:01]HOST: 239.255.255.250:1900
[09:32:01]MAN: "ssdp:discover"
[09:32:01]MX: 1
[09:32:01]ST: urn:dial-multiscreen-org:service:dial:1
[09:32:01]
[09:32:01]
[09:32:01]Got UDP!
[09:32:01]M-SEARCH * HTTP/1.1
[09:32:01]HOST: 239.255.255.250:1900
[09:32:01]MAN: "ssdp:discover"
[09:32:01]MX: 1
[09:32:01]ST: urn:dial-multiscreen-org:service:dial:1
[09:32:01]
[09:32:01]
[09:32:02]Got UDP!
[09:32:02]M-SEARCH * HTTP/1.1
[09:32:02]ST: ssdp:all
[09:32:02]MX: 2
[09:32:02]MAN: "ssdp:discover"
[09:32:02]HOST: 239.255.255.250:1900
--------------------------------------------
[09:32:04]Responding search req...
[09:32:05]Got UDP!
[09:32:05]M-SEARCH * HTTP/1.1
[09:32:05]HOST: 239.255.255.250:1900
[09:32:05]MAN: "ssdp:discover"
[09:32:05]ST: upnp:rootdevice
[09:32:05]MX: 5
[09:32:05]
[09:32:05]
[09:32:05]Responding search req...
[09:32:05]Got UDP!
[09:32:05]M-SEARCH * HTTP/1.1
[09:32:05]HOST: 239.255.255.250:1900
[09:32:05]MAN: "ssdp:discover"
[09:32:05]ST: upnp:rootdevice
[09:32:05]MX: 5
[09:32:05]
[09:32:05]
[09:32:05]Responding search req...
[09:32:05]Got UDP!
[09:32:05]M-SEARCH * HTTP/1.1
[09:32:05]HOST: 239.255.255.250:1900
[09:32:05]MAN: "ssdp:discover"
[09:32:05]ST: upnp:rootdevice
[09:32:05]MX: 5
[09:32:05]
[09:32:05]
[09:32:05]Responding search req...
[09:32:06]Got UDP!
[09:32:06]M-SEARCH * HTTP/1.1
[09:32:06]ST: ssdp:all
[09:32:06]MX: 2
[09:32:06]MAN: "ssdp:discover"
[09:32:06]HOST: 239.255.255.250:1900
[09:32:06]
-----------------------------------------
[09:32:15]Responding search req...
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
[09:32:16]Got UDP!
---------------------------
[09:33:26]
[09:33:27]Got UDP!
[09:33:27]M-SEARCH * HTTP/1.1
[09:33:27]HOST: 239.255.255.250:1900
[09:33:27]MAN: "ssdp:discover"
[09:33:27]MX: 1
[09:33:27]ST: urn:dial-multiscreen-org:service:dial:1
[09:33:27]USER-AGENT: Google Chrome/81.0.4044.138 Mac OS X
[09:33:27]
[09:33:27]
[09:33:27]Got UDP!
[09:33:27]M-SEARCH * HTTP/1.1
[09:33:27]HOST: 239.255.255.250:1900
[09:33:27]MAN: "ssdp:discover"
[09:33:27]MX: 1
[09:33:27]ST: urn:dial-multiscreen-org:service:dial:1
[09:33:27]USER-AGENT: Google Chrome/81.0.4044.138 Mac OS X
[09:33:27]
[09:33:27]
[09:33:27]Got UDP!
[09:33:27]M-SEARCH * HTTP/1.1
[09:33:27]HOST: 239.255.255.250:1900
[09:33:27]MAN: "ssdp:discover"
[09:33:27]MX: 1
[09:33:27]ST: urn:dial-multiscreen-org:service:dial:1
[09:33:27]USER-AGENT: Google Chrome/81.0.4044.138 Mac OS X
[09:33:27]

From the espalexa setup….

Hello from Espalexa!

Value of device 1 (LED Light): 100 (Color light, colormode=xy, r=255, g=0, b=0, ct=500, hue=0, sat=0, x=0.70, y=0.30)
Value of device 2 (Clock Color 2): 13 (Color light, colormode=xy, r=0, g=255, b=0, ct=500, hue=0, sat=0, x=0.17, y=0.75)
Value of device 3 (Clock Color 3): 127 (Color light, colormode=xy, r=0, g=0, b=255, ct=500, hue=0, sat=0, x=0.14, y=0.04)
Value of device 4 (Clock Timer): 0 (Color light, colormode=xy, r=254, g=221, b=80, ct=500, hue=0, sat=0, x=0.50, y=0.50)

Free Heap: 36216
Uptime: 309279

Espalexa library v2.4.7 by Christian Schwinne 2020
Aircoookie commented 4 years ago

I'll have to investigate this soon. Seems that the discovery requests are correctly replied to, but the Echo doesn't follow up with requesting description.xml for some reason...

CommittotheIndian commented 4 years ago

I went back through the log after attempting to discover for the last hour. I did locate this entry once or twice sporadically in the log.

[10:58:58]HTTP Req espalexa ...
[10:58:58]
[10:59:05]Got UDP!
[10:59:05]M-SEARCH * HTTP/1.1
[10:59:05]HOST: 239.255.255.250:1900
[10:59:05]MAN: "ssdp:discover"
[10:59:05]ST: upnp:rootdevice
[10:59:05]MX: 5
[10:59:05]
[10:59:05]

I still have the same result (no discovery) but maybe this will help.

Aircoookie commented 4 years ago

Thank you, indeed it seems like the Echo does not request the description.xml. If it did, you should find Responding to description.xml ... in the log. HTTP Req espalexa only means that the /espalexa overview page was requested by your browser...

CommittotheIndian commented 4 years ago

Thank you, indeed it seems like the Echo does not request the description.xml. If it did, you should find Responding to description.xml ... in the log. HTTP Req espalexa only means that the /espalexa overview page was requested by your browser...

That make sense. So does that look like an Echo issue or some other issue?

CommittotheIndian commented 4 years ago

@Aircoookie have you been able to investigate this issue?

CommittotheIndian commented 4 years ago

@Aircoookie I'm still working on this with no luck. I see you published a new version a few days ago, curious if that version fixes this issue at all.

Aircoookie commented 4 years ago

@CommittotheIndian unfortunately not, that version was just implementing new state functions, a small feature request by another user. I have not yet managed to reproduce this discovery problem in my network :(