Not sure if this finding falls under design or integration issue. Seeing as both the features involved here are Hubitat supported I thought I would document it here. Maybe there is a better way for me to create my devices without having to utilize the workaround that follows.......?
Use case: I have devices (specfically virtual switches) that I want to address via voice commands in Alexa. These devices are part of a hub mesh i.e. they are on a hub that is a remote hub to the hub running the built-in app, Amazon Echo Skill. When adding these devices to Alexa on the local hub these devices appear as device name on remote hub name i.e. the naming convention for all hub linked devices when added via the Hub mesh UI on the local HE hub. Once one of these meshed devices is added via the Amazon Echo Skill on the local HE hub the same name appears in the Alexa app once the update is processed by AWS.
Issue: Attempts to issue voice commands in Alexa to these virtual switches are not understood by Alexa. Why? From my trial and error it appears the extra qualifier of: on remote hub name' confuses Alex. I conclude this as Alexa does allow for the editting of device names that HE has added. When I remove the qualifier on the device name, voice commands of the syntax: device nameON or device nameOFF start working.
Workaround: To recap, each hub mesh device name has to be manually editted in Alexa in order to work with voice commands
Point of confusion: HE appears to not support having multiple occurances of the Amazon Echo Skill in a hub mesh. There is no feedback this is not supported when adding the built-in app to subsequent hubs from the first one installed i.e. the remote hub(s). I went as far as adding devices to the remote hub via the Amazon Echo skill. Those devices never make it to Amazon. This is somewhat expected as an examination of the properties of the Amazon Echo Skill on the remote hub reveal there is no authenication token in the properties nor are the required credentials solicited when adding the app.
It would be nice to not have to rename devices after they make it to Alexa. I purposely create HE device names that are as intuitive as possible in Alexa. I am not seeing what can be done in HE or via some form of name standardization as I have no control over the part of the name causing the issue. Has anyone else experienced this and found a different accomodation?
Kinda sorta. I do have the same issue but I've noticed over time Alexa solicits feedback and seems to figure it out. And if you add your HE devices to Alexa groups it works even better, as long as the triggering echo is in the same group.
I am finding that Alexa is annoyingly trying to find out from me if these virtual switches are lights, which is what I think you are referring to when you say it figures it out. I use these virtual switches as triggers for rules in HE. I think I see your point on the voice command benefits of putting them in a group. For me to do that I would end up with one group per HE virtual switch which would create some counter intuitive administration issues in Alexa.
P.S. Funny story on unwanted side effects with Alexa. I thought it would help with sorting my virtual switches by putting them in a Group called 'All'. I erroneously spoke a command STOP ALL MUSIC when trying to get Alexa to stop music playing on grouped speakers. I only realized my error after the fact when a bunch of my HE rules start to simultenously trigger. Auomtation is less forgiving of loose lips
Hah I have a similar one. If you say to Alexa "turn on the lights" she will turn on lights in whatever (Alexa) group the echo is actually in. So if your echo is in the sunroom and you say turn on the lights, she will turn on the lights in the sunroom. However, if your echo is not associated with a group and you say "turn on the lights" she will turn on ALL the lights. My visiting mother found that out at 4am. The house lit up like a Christmas tree.
What I meant by "figuring it out" is if I ask Alexa to "turn on den TV" sometimes she will say "did you mean den TV on hub 3?" and if you say yes, then next time she doesn't ask and just assumes you mean den TV on hub 3. Epecially if den TV on hub 3 and the echo to whom (which) you are speaking are in the same Alexa (not HE) group.
I'm pretty sure if you enter something in Device Label before allowing it to be used a by Alexa, she will use Label instead of Name. That's what she did for me. I add the chainlink emoji to label of all of my meshed devices to indicate that device actually resides on another hub.
I guess we call this progress as she moves from simply not understanding us at all to misunderstanding us....
I was skimming the Amazon developer documentation and saw reference to a 'Last Spoken to Device' API call. I am intrigued with the possiblies of incorporating that into my Rule Machine rules in order to make them wiser as to where I am issuing commands and thus take control back from Alexa on some of the assumptions she makes -- as you pointed out. I am not an application developer by profession but that is what I like about HE, I don't need to be yet can still achieve some cool outcomes. This is on my list of new things to learn.
Yes...that works for me. This is a much more intuitive place to manage these names. Thanks for sharing.
I am a newbie when it comes to creating a mesh -- only been at it a week. I know I did try to select the Device Name field before and found it locked. As the field is greyed out it made sense I should not be able to edit it. As Device Label is also greyed out I didn't attempt to modify it till now....