I’m running 2.4.0 in a docker container; host is Linux; I’m not sure if this is an Alexa or Openhab question.
When using the Echo to turn devices on or off, in many (possibly all) cases, somewhere there is a notion of what state the device is in, and commands don’t get sent if they wouldn’t result in a change. The most annoying example is a scene defined in my ISY (which is not using the ISY binding) that is defined like this:
Switch AllLivingRoom " **Evening** " ["Switchable"] {http=">[*:GET:http://<<redacted>>/scene/ **Evening** /%2$s]" }
Since it’s a scene, the isn’t any state, but a command sent to it will affect all of the devices in the scene.
The problem comes if I use a physical button to turn the scene on, Alexa doesn’t know it, and when you ask it to “turn Evening off”, nothing happens. Then you have to say “Alexa, turn evening on” followed by “Alexa, turn Evening off” to get the desired result.
It feels like this is in the Echo layer, not Openhab, which generally does what you ask of it.
One solution I’ve thought of for this specific case is to create Alexa routines for “Turn evening off” and “Turn evening on”, hoping those would ignore the state, but a quick test of this didn’t work.
So far, the best alternative I can think of is two switches, Evening-off and Evening-on, with corresponding Alexa routines, that would have rules to do the desired action and then reset themselves so Alexa would honor the next command. Any other thoughts on this?