Automatyzacja .. for : pomocnik typu czas

mam działająca automatyzację, która wyłącza switch po 10 minutach od jego włączenia. przykładowy kod yaml poniżej.
chciałby zamiast stałego czasu 10 minut, zastąpić ten czas kodem pomocnika który sobie stworzyłem. chciałbym na jakimś dashboardzie wstawić tego pomocnika - bede mógł go zmieniac na przykład z 10 minut na 15 lub 30 minut … i moja automatyzacja będzie działała z tym czasem … czyli na przykład switch sie wyłączy po 30 minutach a nie po 10 jak mam dotychczas.
czy da sie zastąpić fragment for: ‘0:10:0’ jakimś kodem for: input_datetime.moj_czas

- alias: 'Automatyczne wyłączenie światła po 10 minutach'
>   trigger:
>     platform: state
>     entity_id: switch.pokoj_maly
>     from: 'off'
>     to: 'on'
>     for: 
>       minutes: 10
>   action:
>     service: switch.turn_off
>     entity_id: switch.pokoj_maly

I hope you can read English…

for:
  minutes: "{{ states('input_number.xxxxxxx)|int }}"            # Template minutes

OR:

for:
  seconds: "{{ states('input_number.xxxxxxx)|int }}"            # Template seconds

succes,

Henk

1 polubienie

Kod z archiwum

alias: Włącz i wyłącz światło w garażu po czasie
description: ""
trigger:
  - platform: state
    entity_id:
      - input_number.ile_minut
action:
  - service: light.turn_on
    entity_id: light.garaz
  - delay:
      minutes: "{{ states('input_number.ile_minut') | int }}"
  - service: light.turn_off
    entity_id: light.garaz
mode: single
2 polubienia

w tym przykładzie light.garaz będzie włączane/wyłączane w momencie zmiany pomocnika ile_minut ?
czyli każda zmiana wartości pomocnika wywoła automatyzację ?
dobrze rozumuje ?

PS .
czy modyfikacja kodu na

minutes: "{{ states('input_number.ile_minut') | int(0) }}" 

powoduje, że jeśli wartość pomocnika jest null to funkcja zwraca wartość 0 minut ?
znalazłem też taki rozwiązanie i zastanawiam się co oznacza int(0) ?

Henk_Hoekema - thanks ! it is working :slight_smile:

W skrócie, to wyrażenie mówi: "Pobierz wartość z pomocnika ‘ile_minut’, przekształć ją na liczbę całkowitą, jeśli to niemożliwe lub wartość to null , użyj domyślnej wartości “0”.
/

czy można też użyć int(5) …czyli domyślnie będzie to wartość 5 ?

Tak, można użyć int(5) zamiast int(0) , jeśli chcesz, aby wartość domyślna wynosiła 5, gdy wartość pomocnika jest null lub nie może być przekształcona na liczbę całkowitą.

1 polubienie