Jag var intresserad av att veta hur lång tid det var kvar innan min belysning skulle släckas och hittade ingen bra lösning. Home Assistant har en timer men tyvärr vill den inte visa återstående tid som en sensor så detta var ingen framkomlig väg.
Jag gjorde en ganska smidig lösning, den är cool, jag lovar!
Du kan använda Home Assistants timer som ett eget kort men många gånger vill du ha informationen som en del av något annat. Jag använder oftast Node-Red och deras trigger-nod som timer och denna visar inte återstående tid.
Tid kvar innan det släcks
Jag kom i kontakt med följande forumtråd som puttade mig i rätt riktning: https://discourse.nodered.org/t/time-remaining-on-trigger-node-debug-or-msg-property/343/7. Där bygger användaren Andrei ett flöde med två triggers (varav en så kallas heartbeat) och en function-nod som visar återstående tid. Jag byggde först vidare exakt på Andreis flöde och exponerade en nod mot Home Assistant men av flera anledningar var detta inte en lösning som föll mig i smaken.
Svaret kommer direkt
För ovanlighetens skull kommer detta inte vara en guide i vanlig mening utan du får svaret servat direkt med en färdig lösning, det är ju tjusningen med subflows!
Noden/Subflowet
Det första du ska göra är att skapa en counter med step value 1. Så varje gång vi räknar ner så drar den ifrån en sekund.
Ge subflowet ett namn och knappa in IDt på din counter och välj därefter hur lång tid den ska räkna.
Klart!
I dokumentationen till subflowet har jag skrivit lite matnyttig info. Ex. så får du ut ny info med kvarvarande tid från den övre nodanslutningen (Dvs. varje sekund) medans den undre nodanslutningen ger dig timer_triggerd och timer_finsihed vid start och stopp.
Vad hittar jag noden?
Du hittar noden på Node-Reds hemsida här: https://flows.nodered.org/flow/b03fbbcdd934854de98f6c034659172d
Ni får JÄTTEGÄRNA ge den 5 stjärnor!
Hur använder jag den i Home Assistant?
type: entities
show_header_toggle: false
entities:
- entity: light.lounge_lights
type: 'custom:multiple-entity-row'
name: Gillestugan
show_state: false
state_color: true
tap_action:
action: call-service
service: svc2evnt.fire_event
service_data:
event_type: custom_event
data:
event_id: playroom_lights
brightness: 0
secondary_info:
entity: counter.lounge_timer
name: false
unit: seconds
Det är nästan skamligt enkelt!
Till vänster så använder jag härliga multiple-entity-row och som secondary_info har jag angett min counter. Svårare än så behöver det inte vara.
Vill du använda detta i ett Node-Red flöde så kommer här ett exempel som jag har i källaren. Två olika sensorer registrerar rörelse, beroende på tid på dygnet skickar vi in olika ljusstyrkor. Efter X-tid utan rörelse så släcker vi, men vid rörelse förlänger vi hela tiden. Kvarvarande tid syns i tidigare bild.
Tankar och förslag!?
Hoppas ni får nytta av subflowet, jag tar gärna emot bilder och kommentarer om ni tyckte det var bra.
TÄNK PÅ!
Efter att ha felsökt med Dan som skrev kommentaren nedan: Tänk på att gå in på alla ”Home Assistant-nodern” i subflowet och ändra till er Home Assistant-server.