Jeg liker å få varsel på telefon når noe skjer i HA som jeg bør gjøre noe med. Dette har jeg forsåvidt fint fått til i pyscript, men jeg synes det har vært litt dillete å sette opp fordi det ikke alltid er like lett å vite hva triggere inneholder av data.
Nå som jeg har gått over til automasjoner i HA er det mye som er langt lettere å få til med en, etter min mening, god visuell editor.
Her er et eksempel.
I den visuelle editoren ser det slik ut:
Koden for dette er vist nederst.
Det som skjer er at når stråleovn på terrasse har stått på i 33 minutter og 10 sekunder så sendes et varsel til mobiltelefon
Så venter automasjonen i opp til 6 timer på svar. Hvis ovn slås av før dette så forsvinner melding på telefon. Den forsvinner også hvis 6 timer går uten svar. Trykker jeg på "Nei" så slås ovn av.
Tidligere hadde jeg dette i flere funksjoner i pyscript. Når jeg flyttet det over til HA automasjon så ble det laget flere automasjoner, en for å sende melding og en annen som ventet på svar fra telefon.
I dag fant jeg ut jeg ville samle dette til en enkel automasjon som både sender melding og som venter på svar. Fordelen er å samle dette. Bakdelen er at en vent-operasjon ikke overlever en omstart av HA. Det klarer jeg å leve med på akkurat denne for stråleovnen, men i andre sammenhenger er det jo litt dumt.
- id: '1712999347947'
alias: Spør om terrassevarmer skal slås av
description: ''
trigger:
- platform: state
entity_id:
- switch.terrassevarmer
from: 'off'
to: 'on'
for:
hours: 0
minutes: 33
seconds: 10
condition: []
action:
- service: notify.mobile_app_pixel_7
metadata: {}
data:
message: Skal den fortsatt stå på?
title: Terrassevarmer
data:
tag: terrassevarmer
actions:
- action: NO_ACTION_TERRASSEVARMER
title: Ja
- action: SWITCH_OFF_TERRASSEVARMER
title: Nei
- wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: SWITCH_OFF_TERRASSEVARMER
- platform: event
event_type: mobile_app_notification_action
event_data:
action: NO_ACTION_TERRASSEVARMER
- platform: state
entity_id:
- switch.terrassevarmer
from: 'on'
to: 'off'
continue_on_timeout: true
timeout:
hours: 6
minutes: 0
seconds: 0
milliseconds: 0
- choose:
- conditions:
- condition: template
value_template: >-
{{ wait.trigger == None or (wait.trigger.platform == 'state' and
wait.trigger.to_state.state == 'off')}}
sequence:
- service: notify.mobile_app_pixel_7
metadata: {}
data:
message: clear_notification
data:
tag: terrassevarmer
- conditions:
- condition: template
value_template: >-
{{ wait.trigger.platform == 'event' and
wait.trigger.event.data.action == 'SWITCH_OFF_TERRASSEVARMER' }}
sequence:
- service: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.terrassevarmer
mode: restart