Uvažoval jsem, jak jej využít k automatizaci topení abych z peřin vstával do vytopeného bytu.
Ze začátku se to zdálo být snadné, ale přišel jsem na to, že není pro mne vůbec snadné odečíst od budoucího budíku nějakou tu minutu. No a když už jsem věděl jak odečíst čas, zase mi šablona nešla vložit do podmínek automatizace. Podotýkám že nejsem rozhodně žádný programovací mág a preferuji pro automatizace uživatelské rozhraní.
Podařilo se mi však metodou pokus - omyl vytvořit snad funkční metodu použití senzoru příštího budíku a odečíst nebo přičíst si ještě nějaká čas.
Jak jsem to tedy zbastlil? Všelijak...
Pokud Vás to zajímá, začneme:
Vytvořte si pomocníka Datum a/nebo čas.
například: Příští budík *jméno* s odečtem Já jsem jich tedy vytvořil víc, pro strýčka příhodu:
Příští budík *jméno*
a také číslo:
Minuty před budíkem *jméno* - zatím nefunkční, ale počítám že budu mít možnost z uživatelského rozhraní nastavovat velikost změny.
Nyní je nutné k pomocníkům přiřadit reálné hodnoty. K tomu jsem použil automatizaci se službou:
input_datetime.set_datetime a je spouštěna každých 30 minut
v ukázce je automatizace pro dva mobily - budíky.
Kód: Vybrat vše
alias: Příští budíky - vstup
description: ''
trigger:
- platform: time_pattern
minutes: /35
condition: []
action:
- service: input_datetime.set_datetime
data:
datetime: >-
{{ (as_timestamp(states('sensor.p30_lite_jmeno1_pristi_budik'))|int -
states('input_number.minuty_pred_budikem_jmeno1')| int *60) |
timestamp_local() }}
entity_id: input_datetime.pristi_budik_jmeno1_s_odectem
- service: input_datetime.set_datetime
data:
datetime: >-
{{ (as_timestamp(states('sensor.p30_lite_jmeno2_pristi_budik'))|int -
states('input_number.minuty_pred_budikem_jmeno2')| int *60) |
timestamp_local() }}
entity_id: input_datetime.pristi_budik_jmeno2_s_odectem
- service: input_datetime.set_datetime
data:
datetime: >-
{{ (as_timestamp(states('sensor.p30_lite_jmeno1_pristi_budik'))) |
timestamp_local() }}
entity_id: input_datetime.pristi_budik_jmeno1
- service: input_datetime.set_datetime
data:
datetime: >-
{{ (as_timestamp(states('sensor.p30_lite_jmeno2_pristi_budik'))) |
timestamp_local() }}
entity_id: input_datetime.pristi_budik_jmeno2
mode: single
max: 4
Pomocí{{ (as_timestamp(states('sensor.p30_lite_jmeno1_pristi_budik'))|int -
states('input_number.minuty_pred_budikem_jmeno1')| int *60) |
timestamp_local() }}
a
{{ (as_timestamp(states('sensor.p30_lite_jmeno2_pristi_budik'))|int -
states('input_number.minuty_pred_budikem_jmeno2')| int *60) |
timestamp_local() }}
Kód: Vybrat vše
input_number.minuty_pred_budikem_jmenox
Zde právě si představuji pomocníka na nastavení hodnoty odečtu.
Po uložení a spuštění automatizace se našim pomocníkům přidělí hodnoty datumu a času podle našich kritérií.
Nyní již můžeme své pomocníky použít ve spouštěčích i podmínkách typu "Čas" dalších automatizací.