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
52 stars 8 forks source link

ModeController / ToggleController #87

Open Royal2000H opened 4 years ago

Royal2000H commented 4 years ago

Thank you for all your effort in implementing version 3 of the API. I currently use hardill's project and wanted to add a "party mode" to the lights in one of my room when I went digging in the API and discovered that there's a new version of the API and you've implemented it.

I have not tried your version yet, but from your documentation it does seem that ModeController and ToggleController are not implemented. Is that on the roadmap?

Specifically for this use case, either would work, "Turn on Living Room party mode" would likely be able to be a Toggle or a Mode.

coldfire84 commented 4 years ago

Turn on Living Room party mode

Couldn't this just be a scene or even a "pseudo" device and then just use an existing capability that supports on/off alongside a Node-RED flow that handles what on/ off means?

I am looking at ModeController and RangeController at the moment, this is more complex than previous capabilities due to the use of these across different device types/ how this will map to Google Home traits.

Royal2000H commented 4 years ago

I guess the benefit is that Mode/Toggle can belong to a device while the other two are essentially separate.

So if I have my Living Room lights, I have "Turn on Living Room" "Set Living Room to 80%" and then a mode or toggle can let me control things (like party mode) specifically for the "Living Room" device. So "Turn on living room party mode" "Turn on party mode on living room" "enable party mode on living room" etc

A pseudo-device would work, and that's what I considered with the old version of the API but it's much less elegant as naming will be complicated. What would the pseudo-device be named "Living Room Party Mode"? Then things like "Turn on party mode on living room" also wouldn't work because it does not match the device name.