Closed jbardi closed 5 years ago
Unfortunately, if you read some of the comments on this impl, amazon has chosen a path where this does not work. Amazon utilizes all of your echoes to execute the command. So, echo 1 listens to you and executes your command by round robin selection of all your echoes and will pick the next one, such as 2, the next goes to 3 and so on until it comes back around to 1 and starts over again. This has been brought up to amazon.
What about the harmony hub? Is this feature only for Echo or can I block certain devises for my hub? Just played a liftle bit with this feature but because 4.0.1 is not working well I went back to 3.5.1. Just tried to add the IP of my hub in the following format: {"x.x.x.x"}. Cannot find good Infos about this feature, there are no Infos in the current readme.
This issue so far is specific to the Amazon implementation of their Echo.
This feature is for any device calling the ha-bridge item. So you could send different items depending on which Harmony Hub called. I am having someone look into this with Google Home as it may not do this when there are multiples of the Google Homes.
Maybe opening a different account per echo will resolve the problem, at the expense of ugliness... And inability to use effectively the Alexa App in your phone :-(
That was an answer that has been out there, very ugly...
Unfortunately, assigning the Echo Dots to different accounts will cause an even bigger problem, in that the ESP (Echo Spatial Perception) will then not work, as it requires the devices to be on the same Amazon account. This means that all the Echo Dots will respond to a request they hear, rather than the closest one. This obviously renders this work around useless, as asking something like 'Alexa, turn on the lights', will be heard by most of your Echo Dots, and they will all process the request.
That will be true if the echo's are too close and can pick up the sound. It will be trial and error.
Yes. Our house isn't exactly small (4 Bedroom detached)... but the mics on the Echo Dots are super sensitive and regularly will pickup voice from across the house in different rooms. I would imagine all but the very largest of houses would experience the problem. :)
I have a related question: if you have 2 physical locations, with multiple Dots (or Echos) in each, with an HA Bridge at both locations, will Amazon try this round robin across the 2 locations? That would be a problem. I am trying this, and so far I haven't seen an issue, but my testing is quite limited.
Yes. there was another help thread that the guy had three echo's and they just passed the response back and forth...
So far I've had no trouble at all with the Echo's and Dot's with 2 ha-bridges and 2 locations. Maybe Amazon handles this in a different way as it can determine the Echo's have different connections to the Internet? Or Amazon updated something. Anyway, it seems to work reliably. The only issue is that it can get confusing unless all the devices are named distinctly. Maybe that's a reason to use 2 accounts.
@jswim788 Well it does work perfectly if all devices are named distinctly. But the point that we are trying to convey on this is of you have an echo in each room you want to control, you would like to walk in and say "Alexa, turn on lights" and know that the closest echo made the call and then filter on that in the bridge to know which echo asked for that and turn on the appropriate light via the filter.
I was trying to get clarity on whether this issue of the command being issued by a different echo would affect 2 locations. I understand that is a different case than the starting issue in this thread, but it is related in the sense that if Amazon routes the response anywhere in the account, it won't work for me. Fortunately that does not seem to be the case. And it is interesting that Amazon seems to account for this but not the original problem. Regardless, I agree it would be preferable to not have to name the lights distinctly.
@jswim788 Do you have lights distinctly named between the 2 locations?
I finally had a chance to try this. Until this test my lights were named distinctly, so I picked one light at each location, changed the name to be the same for both, and redid the discovery. Both lights were found. But to my surprise when I asked Alexa to turn one on, she complained that I had 2 lights with the same name and told me to rename one of them. Perhaps Amazon has updated their software to disallow this case now?
Well, that is correct for the echo, but that is not the intent of how the filtering works in the ha-bridge. It is intended to have on ha-bridge device with the given name, and it will do different thins based on the filterIPs list for the given item for on/dim/off. So, you select on of the devices and add the filter IP you want that item to respond too. Look at how the Add/Edit screen looks and the multiple rows that can be available for ON/DIM/OFF commands.
Sorry, I'm not trying to hijack this thread, but I was just trying to get clarity on whether the round robin issue would affect my set up with Echos in 2 separate locations with the same account. The answer appears to be no.
What you are saying is a great feature and could be very useful.
@jswim788 No worries, this is the correct thread. It does impact you as you see the echoes at two different locations have to have distinct names as they are one thing at the amazon end of the world. So location 1 echo and location 2 echo can only have one set of devices between them that are distinctly named. Or as you see, there is a discrepancy. This is a short sighted view from amazon that is causing this as they think the multiple echoes are all in one household at one location and that any one of them can do the work of the other....
May be a way to circumvent this limitation by filtering IP address not at the time the command is sent but when devices are discovered. First, I think you need to edit you Alexa locations and put different geographical address for each Alexa device. Let's say that you have 2 Alexa, at the time you create your commands on HA-Bridge, you filter them by IP adresses for those you want to do segregation based on target device. When doing the discovery, all Alexa devices will send a upnp discovery request and now the HA Bridge will send back only restricted device to Alexa1 and only those restricted to Alexa2. It will also send all unrestricted devices to both Alexa. I am actually not able to test that but I think, if Amazon Alexa is able to discover all devices in both locations and make them avalaible per location, It should work as expected. It needs for so a new devllopement to see if it works as described here. Thanks
but but but... what is wrong with saying the room you are in?
@dixnor this was an issue With another user. He had Alexa's at two different homes, that were on the same account. Location didn't matter .
@digiltd, because when you have many light or media devices in different rooms close to differnt Alexa, you don't remember the room name. It's more intuitive and much easier to say turn on the light or the radio, that's it. @Matt8119, so it's really a limitation form Amazon, so if you want 2 differents locations and control them indentendly, you will need 2 seperate accounts?
@dixnor exactly. there was conversation in a prior thread here, that a user had one echo at his main home and a second echo at one of his guest home's on the same account and so again, location has nothing to do with it. it has to do with "the account" that the echo's are connected to
Hi guys Iv just finished linking up my echos to fibaro and im having the same issue so im just checking to see if anyone has managed to find a solution to this. Thank you
Seems that somebody resolved that problem using echo names and history screen. More details here: https://www.reddit.com/r/amazonecho/comments/6623rr/room_aware_commands/
Maybe similar solution can be adopted to ha-bridge?
@szmyko I was hoping that I would not have to connect to amazon alexa history to find that out. I just wish they would send the command from the Alexa that heard the command and then it is by IP address. Implementing a history action will be very slow as well as we would have to wait for the history info to be there to finalize the command.
Amazon will be making context a feature, it's on the roadmap. This is the same as the IP filters feature of ha-bridge.
If that can be controlled at the amazon end, that would be great. The ha-bridge only knows who called it by IP address as it is just the HUE API.
Amazon released the new feature, does it add any new headers or anything we can use for this? IMO, the amazon method sucks because when you say, "Turn off the lights" every fake hue switch is turned off, including things that aren't lights
There is no additional header for the HUE API so there is no info in any message that will tell where it came from, IP address is the only thing I could differentiate on, but as we know, the hive mind does not play by those rules.
Maybe a firewall/proxy-like Method could be a solution. Give your home a new DHCP-Server. The Alexas get another gateway (copy the rest from your router). In this gateway you log the alexa outgoing traffic by amount and timing (only for a short time). It should be possible to estimate the real voicecommand-receiver (=the room) out of that traffic. Give this Info to your activation-script, which will be triggered by HA-Bridge. It should distinguish the onoffdim-receiver with this info.
It should be possible with a Raspberry. (oops, my HA-Bridge already uses a Raspberry 3). What do you think? (I love how easy HA-Bridge is to use. Really cool stuff)
@wennes Probably the only way to detect. But, man, a lot of work.... Be my guest to build this :)
Additional idea: Maybe the "ok"-Sentence after issuing the command can be tracked. It should be possible to track that with wireshark (tor testing).
As always it goes from easy to hard to easy.
In former times i installed passby-web-proxies (SurfControl). This maybe a direction. Perhaps we should try to get the ok-receiver. (it will make reaction slower, but ok)
Just found this as i've been struggling to get the filter IPs to work with my echos. explains a lot. What an oversight from amazon. I wanted "turn on the lights" and "turn on the heating" to work in each individual room. why is that hard for amazon to understand! hopefully they will make a fix!
Turn on the lights works fine if you use groups in amazon.. the problem is every device emulated in ha-bridge is a light, so everything turns off within the amazon group, when you say "turn off the lights". I wish amazon stored device types so we can say "turn on the heater" or "turn on the TV" as you describe.
maybe a individual local DNSproxy may give the needed info, when logging the alexas.
i have looked a little on the traffic. https://praxistipps.chip.de/fritzbox-datenverkehr-mitschneiden_9989 and Wireshark. When looking on it, it was getting obvious, that the tracking of the trafficamount will not give the desired exact infos. Of course the traffic is encoded.
I already played with this one http://blog.loetzimmer.de/2017/10/amazon-alexa-hort-auf-die-shell-echo.html and i use it often.
Okay, perhaps the reading of the log is not too much effort? I found these two pieces http://forum.iobroker.net/viewtopic.php?f=37&t=9115 http://forum.iobroker.net/viewtopic.php?f=37&t=6035 Maybe a combination could do the trick.
For me one aspect is essential too: it should not be possible for my kids to switch buttons on my bed with their alexas. ;) The echo in my bedroom should be the only one who is "allowed" to do that.
Alexander, chief of loetzimmer.de gave me a tipp how to modify his script. After some ugly additional modifications and some bash-scripting it does work. It is fast too. The fired bash-script gets the serialnumber of the "last-fired" Alexa from the modded loetzimmer-script. Then it decides which roller blind to lift, which lamp to switch.
Where should i show it? (Of course after beautification)
if it's just a code snippet, I'd say post in here in a code block, or use gist.github.com
To be honest, I'm not sure what your script is proposing, or what toolchain is needed... running a DNS server and sniffing traffic?
download and howto can be found at https://wennez.wordpress.com/light-on-with-alexa-for-each-room/
oops...404...link now works
New: Original Script now shows last used alexa! No modding needed anymore. Alexa-names are used.
@wennes that script works well! I finally had a chance to install it.
For those who were unclear, like I was... The bash script above uses your amazon credentials to return the last spoken to alexa device, then you can use that info in your own script to derive the room where the device is. It's pretty sweet and reliable so far.
I'm not sure if this project would want to incorporate this, but it would be cool if it did
Interesting, will take a look. Definitely this would make things be more natural language by location.
I thought I was going crazy, but now this round-robin thing makes sense, because adding a new Alexa broke my ability to say turn on lights in two different rooms.
Checking the logs and it always seems to go through the new one I've added.
I guess I'll have to use different Amazon accounts, and sacrifice things like shared shopping lists, announcements, and the drop-in feature, until hopefully there is a workaround.
Thank you.
I have 1 Echo and 4 Dots in the house. I have a single voice command that is running 5 separate actions based upon the IP address of the device (Echo or Dot) that requested it, however, it is sporadic at best, and more often than not, the device in one room is running the action that is assigned to the IP address of a device in another room. Maybe 1 out of 10 times does a device run the correct action assigned to its IP Address.
Just so nobody asks, all the Devices are updated to the latest firmware and are working correctly with the Alexa feature that determines which device you are speaking to based on which one you are closest to. This is happening with devices on separate sides of the house, which are out of earshot as well, so that is not an issue.
We always forget to mention this when we are having problems, but I have to say how grateful I am for all the work you have done. Both of my homes are fully automated, with the combination of Home Assistant, NodeRed and HA-Bridge. Without any of these, I would not have been able to accomplish what I wanted to do. It is an integral part of my setup, and I could not imagine living without HA-Bridge!!!