coldfire84 / node-red-alexa-home-skill-v3-web

Web Service/ API for Alexa and Google Home Node-RED Smart Home Control
https://red.cb-net.co.uk/
Apache License 2.0
51 stars 7 forks source link

Blind control behavior unclear #92

Closed kwesolowski closed 4 years ago

kwesolowski commented 4 years ago

Alexa, lower Living Room Blind -> "AdjustRangeValue -1" Alexa, lower Living Room Blind -> "AdjustRangeValue -10" Alexa, raise Living Room Blind -> "AdjustRangeValue 1" Alexa, open Living Room Blind -> "SetRangeValue 100" Alexa, close Living Room Blind -> "Living Room Blind doesn't support that"

So my understanding is: a) lower / raise semantics come straight from range control, and probably would need to be used as just direction indicator?

b) close is not not Alexa keyword but open is? What is opposite to open then?

coldfire84 commented 4 years ago

Alexa, lower Living Room Blind -> "AdjustRangeValue -1" Alexa, lower Living Room Blind -> "AdjustRangeValue -10"

This doesn't look right. I'd expect the AdjustRangeValue to be the same on each command, unless you specify a value/ amount.

lower / raise semantics come straight from range control, and probably would need to be used as just direction indicator? close is not not Alexa keyword but open is? What is opposite to open then?

Yes, this is using semantics. Open/ Close should work, the supplied code/ semantics have been lifted straight from the examples supplied by Amazon. In the UK with an Amazon account - raise/ lower work consistently with a +/- 1 variance.

I'm going to perform further testing as your results are showing inconsistencies that I wouldn't expect! The question is whether these are coming from Amazon (in the 'AdjustRangeValue' value contained in the command payload ) or from the skill itself.

kwesolowski commented 4 years ago

Thanks. I will play around more and maybe dig out sth myself. I am getting "Device doesn't support requested value" when controlling from an app. Shoudl state report contain anything more than

object acknowledge: true payload: object state: object rangeValue: 96 _msgid: "9c4c306b.f95dc"

? It looked suprising that range devices have different range if they are blind in comparison to not being blinds...

kwesolowski commented 4 years ago

And regarding "In UK with Amazon account" - how can i check that? I am from Poland so I used every single Amazon historically :)

coldfire84 commented 4 years ago

And regarding "In UK with Amazon account" - how can i check that? I am from Poland so I used every single Amazon historically :)

It was just for reference, the capabilities Amazon offer vary per country :)

Let me do some digging, I'll come back to you.

coldfire84 commented 4 years ago

? It looked suprising that range devices have different range if they are blind in comparison to not being blinds...

Yes, simply because blinds may range from 0-100 'percent' albeit to get semantics we don't use a percentage controller capability. Other devices (fans for example) are unlikely to have more than 5, and very unlikely to have more than 10 speed ranges. So in summary and in relation to the range controller capability for Alexa:

At some point I'll make it customisable (this issue is that this becomes very challenging with semantics config).

coldfire84 commented 4 years ago

I've been busy over the holiday period re-writing to async and consolidating the APIs to reduce overlap/ duplication. I'm interested to understand if this issue still persists/ whether you got anywhere with further testing?

coldfire84 commented 4 years ago

I'm getting consistent results on Open, Close, Raise, Lower and specific values via Echo devices and the Alexa App. Please re-open if this continues to be an issue.

kwesolowski commented 4 years ago

I started getting consistent behavior after few hours, sounds weird but it's not the first time when sth in Alexa is "eventually consistent". Thanks.