First off thank you to those who provided me guidance and enabled me to accomplish this.
My goal was to replicate in NodeRed the flexibility of having a way to dynamically control when my flows would happen based on timing. There are many YouTube videos showing how to use helpers like input_datetime with native HA automations but not really anything for NodeRed.
I hope this helps others who would like to implement this flexibility.
Using input_datetime helpers:
- Settings → Helpers Tab → +Create Helper - select Date and/or time
- Enter your preferred name and select “time” for the input
- Click Create
NodeRed:
- Use a Change node to acquire and send all of your possible input_datetime helpers to use in a switch node
[{"id":"8c881e5850ff925a","type":"server-state-changed","z":"5c42330dbfeb912b","name":"Motion Sensor","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.motion_sensor_pool_room_iaszone_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":130,"y":220,"wires":[["8e7043c565c198e1"],["3a0224edcb0f702c"]]},{"id":"8e7043c565c198e1","type":"change","z":"5c42330dbfeb912b","name":"send stop","rules":[{"t":"set","p":"payload","pt":"msg","to":"stop","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":180,"wires":[["3f5e8da3993b19b1","727db96f05865ed5","f549979804585f77"]]},{"id":"3a0224edcb0f702c","type":"change","z":"5c42330dbfeb912b","name":"Acquire Times","rules":[{"t":"set","p":"housebedtime","pt":"msg","to":"homeassistant.homeAssistant.states[\"input_datetime.house_bedtime\"].state","tot":"global"},{"t":"set","p":"evelynbedtime","pt":"msg","to":"homeassistant.homeAssistant.states[\"input_datetime.evelyn_bedtime\"].state","tot":"global"},{"t":"set","p":"sunrise","pt":"msg","to":"homeassistant.homeAssistant.states[\"sensor.sunrise_time\"].state","tot":"global"},{"t":"set","p":"sunset","pt":"msg","to":"homeassistant.homeAssistant.states[\"sensor.sunset_time\"].state","tot":"global"},{"t":"set","p":"now","pt":"msg","to":"( $now('[H01]:[m01]:00', '-0700') )","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":300,"wires":[["a5e894f8309096e1"]]},{"id":"3f5e8da3993b19b1","type":"change","z":"5c42330dbfeb912b","name":"Acquire Times","rules":[{"t":"set","p":"housebedtime","pt":"msg","to":"homeassistant.homeAssistant.states[\"input_datetime.house_bedtime\"].state","tot":"global"},{"t":"set","p":"evelynbedtime","pt":"msg","to":"homeassistant.homeAssistant.states[\"input_datetime.evelyn_bedtime\"].state","tot":"global"},{"t":"set","p":"sunrise","pt":"msg","to":"homeassistant.homeAssistant.states[\"sensor.sunrise_time\"].state","tot":"global"},{"t":"set","p":"sunset","pt":"msg","to":"homeassistant.homeAssistant.states[\"sensor.sunset_time\"].state","tot":"global"},{"t":"set","p":"now","pt":"msg","to":"( $now('[H01]:[m01]:00', '-0700') )","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":180,"wires":[["5d6f1eaa9db074f6"]]},{"id":"727db96f05865ed5","type":"stoptimer","z":"5c42330dbfeb912b","duration":"2","units":"Minute","payloadtype":"num","payloadval":"0","name":"","x":800,"y":320,"wires":[["69ba91a68c2e58f3"],[]]},{"id":"f549979804585f77","type":"stoptimer","z":"5c42330dbfeb912b","duration":"8","units":"Minute","payloadtype":"num","payloadval":"0","name":"","x":800,"y":260,"wires":[["69ba91a68c2e58f3"],[]]},{"id":"a5e894f8309096e1","type":"switch","z":"5c42330dbfeb912b","name":"Normal Time Ranges","property":"now","propertyType":"msg","rules":[{"t":"btwn","v":"00:00:00","vt":"str","v2":"sunrise","v2t":"msg"},{"t":"btwn","v":"sunrise","vt":"msg","v2":"sunset","v2t":"msg"},{"t":"btwn","v":"sunset","vt":"msg","v2":"housebedtime","v2t":"msg"},{"t":"btwn","v":"housebedtime","vt":"msg","v2":"23:59:00","v2t":"str"}],"checkall":"true","repair":false,"outputs":4,"x":580,"y":300,"wires":[["727db96f05865ed5"],["f549979804585f77"],["f549979804585f77"],["727db96f05865ed5"]]},{"id":"5d6f1eaa9db074f6","type":"switch","z":"5c42330dbfeb912b","name":"Normal Time Ranges","property":"now","propertyType":"msg","rules":[{"t":"btwn","v":"00:00:00","vt":"str","v2":"sunrise","v2t":"msg"},{"t":"btwn","v":"sunrise","vt":"msg","v2":"sunset","v2t":"msg"},{"t":"btwn","v":"sunset","vt":"msg","v2":"housebedtime","v2t":"msg"},{"t":"btwn","v":"housebedtime","vt":"msg","v2":"23:59:00","v2t":"str"}],"checkall":"true","repair":false,"outputs":4,"x":780,"y":180,"wires":[["dcf7ebfb17ce3322"],["c349b4aa7b047af9"],["c349b4aa7b047af9"],["dcf7ebfb17ce3322"]]},{"id":"69ba91a68c2e58f3","type":"api-call-service","z":"5c42330dbfeb912b","name":"Turn off Light","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.pool_table_room_main_lights"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1070,"y":320,"wires":[[]]},{"id":"dcf7ebfb17ce3322","type":"api-call-service","z":"5c42330dbfeb912b","name":"Turn on Light 10%","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.pool_table_room_main_lights"],"data":"{\"brightness_pct\":\"10\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1050,"y":100,"wires":[[]]},{"id":"c349b4aa7b047af9","type":"api-call-service","z":"5c42330dbfeb912b","name":"Turn on Light 100%","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.pool_table_room_main_lights"],"data":"{\"brightness_pct\":\"100\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1050,"y":180,"wires":[[]]},{"id":"60cc2b50.542694","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":true}]
My current times:
- houebedtime - when the house shuts down and different nodes are executed
- evelynbedtime - when my 8yo goes to bed and to control lights near her bedroom
- sunrise - to establish beginning of the day
- sunset - to establish end of the day
- now - the current time when that node was executed
The switch node is funky as NodeRed’s “is between” is circular so you need to break up your day beginning with 00:00:00 and ending with 23:59:00.
For those who would like the sunrise/sunset/noonday as sensors add the following to your configuration .yaml
sensor:
- platform: template
sensors:
sunrise_time:
friendly_name: 'Sunrise'
value_template: "{{ state_attr('sun.sun', 'next_rising') | as_datetime | as_timestamp | timestamp_custom('%H:%M:00') }}"
icon_template:
mdi:weather-sunset-up
sunset_time:
friendly_name: 'Sunset'
value_template: "{{ state_attr('sun.sun', 'next_setting') | as_datetime | as_timestamp | timestamp_custom('%H:%M:00') }}"
icon_template:
mdi:weather-sunset-down
sunnoon_time:
friendly_name: 'Noonday'
value_template: "{{ state_attr('sun.sun', 'next_noon') | as_datetime | as_timestamp | timestamp_custom('%H:%M:00') }}"
icon_template:
mdi:white-balance-sunny
As you can see in my lovelace “settings” page I now have the ability to select when I want things to happen. Why? To make life easier.
- Entertaining or other festivities are a lot more fun when the house doesn’t shutdown during the party. So being able to move the house bedtime to 3am is preferred
- My daughter’s bedtime changes throughout the year depending on school.
- I wanted control over how long to autolock my doors
- Automate when exterior lights and awnings would deploy
Hope this helps others too.
Auto Lock flow:
[{"id":"2c0487de525a63e8","type":"api-call-service","z":"3784d8d7.af7a68","name":"Lock Door","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"lock","service":"lock","areaId":[],"deviceId":[],"entityId":["lock.front_door"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","output_location":"payload","output_location_type":"msg","x":1050,"y":40,"wires":[[]]},{"id":"2bb66c7974c0b845","type":"server-state-changed","z":"3784d8d7.af7a68","name":"Front Door Opens","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.front_door_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":170,"y":40,"wires":[["56643f5e7220265c"],[]]},{"id":"e0f70bac8d596961","type":"server-state-changed","z":"3784d8d7.af7a68","name":"Front Door Unlocks","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"lock.front_door","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"unlocked","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"1","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":170,"y":120,"wires":[["56643f5e7220265c"],[]]},{"id":"56643f5e7220265c","type":"api-current-state","z":"3784d8d7.af7a68","name":"Autolock Off?","server":"60cc2b50.542694","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.autolock","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":380,"y":120,"wires":[["2999310a5ada6a1c"],[]]},{"id":"c83337f04665b2bd","type":"server-state-changed","z":"3784d8d7.af7a68","name":"Autolock","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.oven_samsung_oven_completion_time","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":140,"y":220,"wires":[["9c0f597e2d11caad"],["751cf0108e799931"]]},{"id":"9c0f597e2d11caad","type":"stoptimer","z":"3784d8d7.af7a68","duration":"2","units":"Hour","payloadtype":"num","payloadval":"0","name":"","x":530,"y":220,"wires":[["c574da05cb7807b8"],[]]},{"id":"c574da05cb7807b8","type":"api-call-service","z":"3784d8d7.af7a68","name":"Turn Autolock off","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"input_boolean","service":"turn_off","areaId":[],"deviceId":[],"entityId":["input_boolean.autolock"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":730,"y":220,"wires":[[]]},{"id":"751cf0108e799931","type":"change","z":"3784d8d7.af7a68","name":"stop","rules":[{"t":"set","p":"payload","pt":"msg","to":"stop","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":240,"wires":[["9c0f597e2d11caad"]]},{"id":"31512d0b6c781c0a","type":"server-state-changed","z":"3784d8d7.af7a68","name":"Garage Door Opens","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.garage_door_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":130,"y":380,"wires":[["f169ced536ccd315"],[]]},{"id":"f169ced536ccd315","type":"api-current-state","z":"3784d8d7.af7a68","name":"Autolock Off?","server":"60cc2b50.542694","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.autolock","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":380,"y":500,"wires":[["1933eecf4445e707"],[]]},{"id":"a0b0df354c4d3a4c","type":"server-state-changed","z":"3784d8d7.af7a68","name":"Garage Door Unlocks","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"lock.garage_door","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"unlocked","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"1","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":140,"y":500,"wires":[["f169ced536ccd315"],[]]},{"id":"9f08927177712bac","type":"api-call-service","z":"3784d8d7.af7a68","name":"Lock Door","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"lock","service":"lock","areaId":[],"deviceId":[],"entityId":["lock.garage_door"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","output_location":"payload","output_location_type":"msg","x":1070,"y":360,"wires":[[]]},{"id":"836a626f5f35c9e2","type":"api-current-state","z":"3784d8d7.af7a68","name":"Door Closed","server":"60cc2b50.542694","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.garage_door_2","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":870,"y":420,"wires":[["9f08927177712bac"],["28ba435aab9a4736","494386a865c5dba4"]]},{"id":"494386a865c5dba4","type":"function","z":"3784d8d7.af7a68","name":"Lock Times","func":"const gHomeAssistant = global.get('homeassistant').homeAssistant;\n\nvar d = gHomeAssistant.states['input_select.lock_doors_minutes'].state;\nmsg.delay = d * 60000;\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":360,"wires":[["6d8d4b1fb4912ae3"]]},{"id":"6d8d4b1fb4912ae3","type":"delay","z":"3784d8d7.af7a68","name":"Delay Timer","pauseType":"delayv","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":670,"y":420,"wires":[["836a626f5f35c9e2"]]},{"id":"28ba435aab9a4736","type":"change","z":"3784d8d7.af7a68","name":"Stop","rules":[{"t":"set","p":"reset","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":500,"wires":[["1933eecf4445e707"]]},{"id":"f7318c73817d93b0","type":"function","z":"3784d8d7.af7a68","name":"Lock Times","func":"const gHomeAssistant = global.get('homeassistant').homeAssistant;\n\nvar d = gHomeAssistant.states['input_select.lock_doors_minutes'].state;\nmsg.delay = d * 60000;\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":40,"wires":[["3e51c3cc4c2165f5"]]},{"id":"172f418488c22aac","type":"change","z":"3784d8d7.af7a68","name":"Stop","rules":[{"t":"set","p":"reset","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":790,"y":120,"wires":[["2999310a5ada6a1c"]]},{"id":"3e51c3cc4c2165f5","type":"delay","z":"3784d8d7.af7a68","name":"Delay Timer","pauseType":"delayv","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":630,"y":40,"wires":[["b5d69820b334c39f"]]},{"id":"b5d69820b334c39f","type":"api-current-state","z":"3784d8d7.af7a68","name":"Door Closed","server":"60cc2b50.542694","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.front_door_2","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":830,"y":40,"wires":[["2c0487de525a63e8"],["172f418488c22aac","f7318c73817d93b0"]]},{"id":"1933eecf4445e707","type":"change","z":"3784d8d7.af7a68","name":"Delete Stop","rules":[{"t":"delete","p":"reset","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":360,"wires":[["494386a865c5dba4"]]},{"id":"2999310a5ada6a1c","type":"change","z":"3784d8d7.af7a68","name":"Delete Stop","rules":[{"t":"delete","p":"reset","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":120,"wires":[["f7318c73817d93b0"]]},{"id":"60cc2b50.542694","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":true}]
Awnings Automation:
[{"id":"166bfdd2e5627d0c","type":"api-current-state","z":"fa321c11.6a27e","name":"Sunny","server":"60cc2b50.542694","version":3,"outputs":2,"halt_if":"sunny","halt_if_type":"str","halt_if_compare":"is","entity_id":"weather.weatherflow_hourly_based_forecast","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":290,"y":2860,"wires":[["fca64add7ebc38cf"],[]]},{"id":"fca64add7ebc38cf","type":"api-current-state","z":"fa321c11.6a27e","name":"Wind Gust below 15","server":"60cc2b50.542694","version":3,"outputs":2,"halt_if":"15","halt_if_type":"num","halt_if_compare":"lt","entity_id":"sensor.weatherflow_wind_gust","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":480,"y":2860,"wires":[["41dd98e79bacb6cf"],[]]},{"id":"41dd98e79bacb6cf","type":"api-current-state","z":"fa321c11.6a27e","name":"Is Wind below 12","server":"60cc2b50.542694","version":3,"outputs":2,"halt_if":"12","halt_if_type":"num","halt_if_compare":"lt","entity_id":"sensor.weatherflow_wind_speed","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":730,"y":2860,"wires":[["c4e4ec06e1411486"],[]]},{"id":"c4e4ec06e1411486","type":"api-call-service","z":"fa321c11.6a27e","name":"Open Awnings","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"cover","service":"open_cover","areaId":[],"deviceId":["76b57a1d3c7bb2adc44d445581cbe98d","08672db00447f521a2acfa6b223e4e74"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":960,"y":2860,"wires":[[]]},{"id":"0c473531db93788e","type":"api-call-service","z":"fa321c11.6a27e","name":"Close Awnings","server":"60cc2b50.542694","version":5,"debugenabled":false,"domain":"cover","service":"close_cover","areaId":[],"deviceId":["76b57a1d3c7bb2adc44d445581cbe98d","08672db00447f521a2acfa6b223e4e74"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":540,"y":2960,"wires":[[]]},{"id":"6ad521ddb8f79679","type":"server-state-changed","z":"fa321c11.6a27e","name":"Wind Gust 15 or above","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.weatherflow_wind_gust","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"15","halt_if_type":"num","halt_if_compare":"gte","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":160,"y":3000,"wires":[["0c473531db93788e"],[]]},{"id":"3a7f271d277c5911","type":"server-state-changed","z":"fa321c11.6a27e","name":"Wind Speed 12 or above","server":"60cc2b50.542694","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.weatherflow_wind_speed","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"12","halt_if_type":"num","halt_if_compare":"gte","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":170,"y":3060,"wires":[["0c473531db93788e"],[]]},{"id":"f9436f543d87fde9","type":"ha-time","z":"fa321c11.6a27e","name":"Noonday","server":"60cc2b50.542694","version":2,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityId":"sensor.sunnoon_time","property":"","offset":"0","offsetType":"num","offsetUnits":"minutes","randomOffset":false,"repeatDaily":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"debugenabled":false,"x":100,"y":2860,"wires":[["166bfdd2e5627d0c"]]},{"id":"b859bfdbe59ba97b","type":"ha-time","z":"fa321c11.6a27e","name":"Sunset","server":"60cc2b50.542694","version":2,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityId":"sensor.sunset_time","property":"","offset":"0","offsetType":"num","offsetUnits":"minutes","randomOffset":false,"repeatDaily":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"debugenabled":false,"x":110,"y":2940,"wires":[["0c473531db93788e"]]},{"id":"f55d3e8fe1dfc8c9","type":"comment","z":"fa321c11.6a27e","name":"Awnings","info":"","x":100,"y":2800,"wires":[]},{"id":"60cc2b50.542694","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":true}]