While confusing, I'm convinced this node is THE node for blind control.
Using the built-in rules for the node I've been able to setup the blinds like this:
- Close blinds at dusk but no later than 10pm
- Open blinds in the morning, no earlier than 7:30am and only when the house is in "Home - Morning" mode (which is set using our sleep sensors)
- Close blinds when house is in "Vacation" mode
- Close blinds when house is in "Away" mode and it's summer time (to maximize cooling efficiency)
- Open blinds when house is in "Away" mode and it's winter time (to maximize heating from the sun through the windows"
- Close blinds when over 25 degrees C to maximize cooling
- Open blinds when cloudy, raining, snowing to maximize light
- Open blind when window is open
and of course adjust the blinds based on sun position
It's able to evaluate its rules based on variables which makes the flow much easier. So instead of feeding everything into a join node and evaluating in a function node I can just save the data into a flow variable.
The other big benefit I'm seeing is that it only outputs on a position change. The other node output every time it evaluated so my blinds were constantly trying to adjust from 0 to 0. It was eating batteries.
I've built a flow to setMode to automatically change from summer to winter based on month, and while it does work the node is not visually representing it so I've opened an issue on github for that. I also plan to program some "manual override" options, just not sure if I'll set that up for Alexa or just set that up with double/triple taps on the switch beside the blinds.