Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alexa unreliability - Sonoff Basic - Alexa DOT series 3 (as example) #1904

Open
scargill opened this issue Sep 8, 2019 · 15 comments
Open

Alexa unreliability - Sonoff Basic - Alexa DOT series 3 (as example) #1904

scargill opened this issue Sep 8, 2019 · 15 comments

Comments

@scargill
Copy link

scargill commented Sep 8, 2019

Even with the nightly build of 4 nights ago, for Sonoff Basic - I'm getting unreliable Alexa use. I have set the hostname to sandy, enabled Alex integration and set the alexa name to sany. It worked for a couple of day then today, Alexa could not find sandy. It DID find "ESPURNA xxxxx" once, I tried rnaming that in Alexa to sandy, didn't work, tried deleting the item out of the alexa app and I'm back to square 1. Alexa will not find sandy.

Bug description
Alexa reliability

Steps to reproduce
Set up a Sonoff Basic with the latest nightly build...
espurna-1.13.6-dev.nightly20190904+git24788474-itead-sonoff-basic.bin
Tell Slexa to "find devices" - when it succeeds, tell Alexa to turn sandy on or off

Expected behavior
I would expect Espurna to regognise sandy and turn it on and off.

Screenshots

Device information

[025262] [WEBSOCKET] #1 connected, ip: 192.168.1.31, url: /ws
[028350] [WEBSOCKET] Requested action: relay
[028351] [RELAY] #0 scheduled ON in 0 ms
[028359] [RELAY] #0 set to ON
[028361] [MQTT] Sending sandy/relay/0 => 1 (PID 1)
[029362] [RELAY] Setting relay mask: 1
[029725] [WEBSOCKET] Requested action: relay
[029726] [RELAY] #0 scheduled OFF in 0 ms
[029734] [RELAY] #0 set to OFF
[029736] [MQTT] Sending sandy/relay/0 => 0 (PID 1)
[030738] [RELAY] Setting relay mask: 0
[060003] [MAIN] System OK
[115274] [WEBSOCKET] Requested action: relay
[115275] [RELAY] #0 scheduled ON in 0 ms
[115284] [RELAY] #0 set to ON
[115285] [MQTT] Sending sandy/relay/0 => 1 (PID 1)
[116288] [RELAY] Setting relay mask: 1
[116538] [WEBSOCKET] Requested action: relay
[116538] [RELAY] #0 scheduled OFF in 0 ms
[116551] [RELAY] #0 set to OFF
[116553] [MQTT] Sending sandy/relay/0 => 0 (PID 1)
[117554] [RELAY] Setting relay mask: 0
[320584] [MQTT] Sending sandy/app => ESPURNA (PID 1)
[320585] [MQTT] Sending sandy/version => 1.13.6-dev (PID 1)
[320586] [MQTT] Sending sandy/board => ITEAD_SONOFF_BASIC (PID 1)
[320590] [MQTT] Sending sandy/host => sandy (PID 1)
[320594] [MQTT] Sending sandy/ssid => wififorus (PID 1)
[320599] [MQTT] Sending sandy/ip => 192.168.1.115 (PID 1)
[320604] [MQTT] Sending sandy/mac => 84:0D:8E:56:BB:95 (PID 1)
[320609] [MQTT] Sending sandy/rssi => -50 (PID 1)
[320614] [MQTT] Sending sandy/uptime => 320 (PID 1)
[320621] [MQTT] Sending sandy/datetime => 2019-09-08 17:11:28 (PID 1)
[320626] [MQTT] Sending sandy/freeheap => 21344 (PID 1)
[320629] [MQTT] Sending sandy/relay/0 => 0 (PID 1)
[320635] [MQTT] Sending sandy/vcc => 3126 (PID 1)
[320639] [MQTT] Sending sandy/status => 1 (PID 1)
[320643] [MQTT] Sending sandy/loadavg => 1 (PID 1)
[620587] [MQTT] Sending sandy/app => ESPURNA (PID 1)
[620588] [MQTT] Sending sandy/version => 1.13.6-dev (PID 1)
[620589] [MQTT] Sending sandy/board => ITEAD_SONOFF_BASIC (PID 1)
[620592] [MQTT] Sending sandy/host => sandy (PID 1)
[620597] [MQTT] Sending sandy/ssid => wififorus (PID 1)
[620601] [MQTT] Sending sandy/ip => 192.168.1.115 (PID 1)
[620606] [MQTT] Sending sandy/mac => 84:0D:8E:56:BB:95 (PID 1)
[620612] [MQTT] Sending sandy/rssi => -51 (PID 1)
[620616] [MQTT] Sending sandy/uptime => 620 (PID 1)
[620624] [MQTT] Sending sandy/datetime => 2019-09-08 17:16:28 (PID 1)
[620629] [MQTT] Sending sandy/freeheap => 21344 (PID 1)
[620632] [MQTT] Sending sandy/relay/0 => 0 (PID 1)
[620638] [MQTT] Sending sandy/vcc => 3126 (PID 1)
[620642] [MQTT] Sending sandy/status => 1 (PID 1)
[620647] [MQTT] Sending sandy/loadavg => 1 (PID 1)

I am looking at this on Windows 10 in a Chrome browser. I use MQTT on a Raspberry Pi 4. I can turn the Sonoff Basic on and off via its button and monitor that in Espurna ewb interface, or turn on and off via the web interface, or by MQTT from the RPI.

@wildwiz
Copy link
Contributor

wildwiz commented Sep 8, 2019

I think that this may be due to "upgrades" in echo dot firmwares.

In my case I was using node-red-contrib-alexa-local and suddenly two days ago alexa ceased to execute commands and discover lan devices.

Trying to enable Alexa discovery directly on espurna produced no discovery as well.
At the same moment some feedback sounds changed as well, suggesting a firmware update of the Dot.

Meanwhile, I have seen that suddenly there is a lot of people reporting alexa-local not working.
(see "Alexa local stop working!!" originallyus/node-red-contrib-alexa-local#100)

Tcpdump of the discovery process shows that the Dot still contacts alexa-local (and likely espurna too), but something seems changed after, in the management of the fake hub device.
Attempting enable alexa directly on the espurna devices lead to same behavior.

@scargill
Copy link
Author

scargill commented Sep 8, 2019

That sounds about right - question is - what to do about it... I'm wondering if anyone has managed to contact Amazon and get any kind of sensible reply?

@scargill
Copy link
Author

scargill commented Sep 9, 2019

Whatever it is- here's some hopefully useful feedback - it isn't affecting Node-Red-Contrib-Amazon-Echo because after struggling with Espurna no longer talking to My Echo R3 (can't find Sandy), I JUST used Node-Red-Contrib-Amazon-Echo - added a device called Sandy and fed the output as usual through a function node to MQTT - as my device needs 1 and 0 as against on and off. It seems to be working perfectly - yet only minutes earlier, Echo could not find my little Espurna equipped "sandy" board (the same board). I made no changes to the board or Espurna.

@scargill
Copy link
Author

scargill commented Sep 9, 2019

Right I'm having a rethink about this. Node-Red finds and talks to device "sandy" no problem (after I created it in Node-Red-Amazon-Alexa). Meanwhile back in the very same Sonoff Basic device running the Espurna nightly build of September 4..... if I go to the web page "http://sandy" - it logs in no problem. Status click ON or OFF - device turns on and off.... no problem... Chrome refresh no problem. GENERAL - leave hostname at sandy.... turn odd Alexa integration. SAVE - no problem. REFRESH - it has GONE - WHY? close browser window - open - "NOT SECURE - SANDY but browser window is empty. Tab says ESPURNA 0.0.0 - empty browser window. Physically turn off Sandy - and back on,, Seconds later it is back up and running - under GENERAL - Alexa integration is indeed disabled. Something wrong THERE. Power should no need cycling. Rename sandy to brian.... reboot. Refresh browser.... ok, turn on alexa integration, save, ok. I ask Alexa to find "brian" - nothing.

Reboot (I was not asked to) the Sonoff... ok. ASK ALEXA to find devices.. Meanwhile, Alexa found a Tasmota elsewhere which I'd rather it had not - but no brian.

@scargill
Copy link
Author

I'll rephrase that - N.R.C.A.E. is working but finding devices twice... this is definitely looking like an Amazon issue.

@mcspr
Copy link
Collaborator

mcspr commented Sep 10, 2019

Ok, is there an issue with integration or not? I am not really following what is wrong here.

Right now device name is set on boot, so I'd assume you need to reboot before searching for the new name. Also note of the alexaName override, you can set this key in settings to avoid changing the device's hostname.
You can enable / disable Alexa via settings too, by changing alexaEnabled to 1 / 0

There was an earlier issue with device unique ids (or it is how I understood it):
#1738
Which was fixed all by itself, but other Alexa integrations had noticed that Hue protocol does some weird things with MAC<->DeviceID associations:
Aircoookie/Espalexa@9d57e2c#diff-60d0a10c47ca0f0800ce9f6773faec4aR166
Since we are too using Hue via https://bitbucket.org/xoseperez/fauxmoesp and it does not do that, perhaps it may be the cause of some of the discovery issues

This is all just guesses though, nothing definitive.
If someone is willing to investigate further, that would be great:)

@scargill
Copy link
Author

mcspr - help an ESPURNA newby here.. you refer to "settings" - which settings ? In the Espurna 1.13.6-Dev web interface I can see status, general, domoticz, hass, led, mqtt, ntp, schedul, switches, thingspeak, wifi, admin and debug - but no "settings". Alexa enabled and slexa name are set in "general" and yes you are told you need a reboot. In one instant I also had to cycle power. Unless of course you are referring to that entire menu as "settings".

@mcspr
Copy link
Collaborator

mcspr commented Sep 10, 2019

Yes, those are settings, but we can also use terminal commands to do the same thing:
https://github.com/xoseperez/espurna/wiki/Terminal#settings

@tyriis
Copy link

tyriis commented Sep 12, 2019

FYI: i am not eure about the Alexa integration I think, ACK is used to integrate the devices to Alexa.

It seems that this integration was a developer preview. Amazon decided to shut down this functionality. See https://developer.amazon.com/blogs/alexa/post/6d7c726f-eff3-4d0c-95d2-63ced3951263/introducing-the-alexa-connect-kit-connect-devices-to-alexa-without-managing-a-cloud-writing-an-alexa-skill-or-developing-complex-networking-and-security-firmware-apply-today-for-the-preview comment on the top.

@scargill
Copy link
Author

scargill commented Sep 22, 2019

I have now grabbed espurna nightly build from Sept 21 2019 so I am up to date. Alexa has found one of my Sonoff devices and also now works just fine with node-red-contrib-amazon-echo.. However, I just took my NEWLY SET UP Espurna, gave it an alexa name of "susan" and enabled alexa on the Sonoff basic.... and it is not being discovered, Is there still an active issue with Espurna and Alexa?

@scargill
Copy link
Author

scargill commented Sep 22, 2019

I'll rephrase that - N.R.C.A.E. is working but finding devices twice... this is definitely looking like an Amazon issue.

That WAS in fact a having 2 raspberry pis talking to the same devices issue - ignore the finding devices twice issue. But see my new comment below - 22/9/2019, yesterday's Espurna build for Sonoff Basic... with Alexa enabled, Alexa is not finding the device (even after a reboot).

@mcspr
Copy link
Collaborator

mcspr commented Sep 23, 2019

No changes concerning Alexa here...

@scargill
Copy link
Author

scargill commented Sep 23, 2019

So, new device "margaret" this morning. Espurna Sonoff Basic nightly build 21/09/2019 (on a new sonoff- Alexa could not find device "margaret". If I disable device "margaret" in the Sonoff - and add device "margaret" to node-red-contrib-alexa-echo with MQTT out to the real device, all of that works - but actually adding "margaret" elexa compatibility to the Sonoff does not. It USED to work.

@mcspr
Copy link
Collaborator

mcspr commented Sep 23, 2019

Like I said, nothing changed in Alexa integration here. I can't test this, so if someone else is also having this problem my advice would be to check out if unique ids work (see message above) and maybe even compare the traffic between fauxmoESP and node-red-contrib-alexa-echo

Have you tried male names? :)

@scargill
Copy link
Author

Well, here's a thing. I have a Sonoff Basic R3 called "office wall"- and my Alexa is DOT R3. Alexa talks to that board directly - but the original sonoffs - I have to use node-red-contrib-amazon-echo as they won't talk directly to Alexa (cannot be discovered) - yet these same boards WERE talking directly to Alexa using Tasmota (I'm moving over to Espurna one board at a time). These boards are on-off only so I don;t understand what IDs have to do with anything, sorry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants