Node-Red Automation help

I was hoping for some detailed help in building this automation.

I have a distiller that I want to setup, change an input boolean distiller_ready to on and have node-red create and monitor a countdown time for 4.5 hours. The countdown time must survive node-red restarts. At the end of the 4.5 hour cycle a notification is sent and the distiller_ready input boolean is turned off.

Extra credit: A homeassistant sensor and lovelace card that shows the node-red countdown timer. :slight_smile:

How accurate on the 4.5 hours does it have to be?
If it has to survive a restart then it could be delayed with the restart time (at least)

Timers are funny all around in HA and nodered when it comes to restarts. Setting an input_datetime I find is the best way to avoid missing a trigger. The second trigger won’t fire if the boolean is turned off by the first should it restart at trigger time.

The new time node can add time to a datetime entity. Set the entity at the current date time when the boolean turns on. you’ll need a datetime sensor set up in HA the way I have it set.

[{"id":"79a22d4955338e81","type":"api-current-state","z":"f80b6c338afd5483","name":"","server":"","version":2,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.date_time","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1250,"y":200,"wires":[["b3114d03675d9877"]]},{"id":"e2e48147b6c05430","type":"server-state-changed","z":"f80b6c338afd5483","name":"boolean state","server":"","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"","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":1010,"y":200,"wires":[["79a22d4955338e81"],[]]},{"id":"b3114d03675d9877","type":"api-call-service","z":"f80b6c338afd5483","name":"update datetime entity","server":"","version":3,"debugenabled":false,"service_domain":"input_datetime","service":"set_datetime","entityId":"","data":"{\"datetime\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1520,"y":200,"wires":[[]]},{"id":"48eae3806a37aed8","type":"ha-time","z":"f80b6c338afd5483","name":"datetime entity +4:30","server":"","version":2,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityId":"","property":"","offset":"270","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":1030,"y":280,"wires":[["54794af8b390b14d"]]},{"id":"54794af8b390b14d","type":"api-call-service","z":"f80b6c338afd5483","name":"perform actions","server":"","version":3,"debugenabled":false,"service_domain":"","service":"","entityId":"","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1440,"y":280,"wires":[[]]},{"id":"c424759dee3841bb","type":"ha-time","z":"f80b6c338afd5483","name":"datetime entity +4:32","server":"","version":2,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityId":"","property":"","offset":"272","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":1030,"y":340,"wires":[["f13547d5688b2dd2"]]},{"id":"4cabc3bac72744f8","type":"api-call-service","z":"f80b6c338afd5483","name":"perform actions","server":"","version":3,"debugenabled":false,"service_domain":"","service":"","entityId":"","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1440,"y":340,"wires":[[]]},{"id":"f13547d5688b2dd2","type":"api-current-state","z":"f80b6c338afd5483","name":"boolean","server":"","version":2,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1220,"y":340,"wires":[["4cabc3bac72744f8"],[]]}]

+/- 5 to 10 minutes