Piter
(Piter)
September 9, 2023, 5:32pm
#1
Mam zrobione kilka sensorów które mają się liczyć co godzinę, ale ostatnio liczą się dwa razy o godzinie x:02, czyli zmieniają się o podwójną wartość. Używam takiego zapisu:
trigger:
- platform: time_pattern
minutes: '2'
sensor:
Było dobrze do czwartku kiedy to zaktualizowałem Home Assistant Core 2023.9. Dzisiaj znów była aktualizacja ale nic nie pomogła. Przeglądałem zmiany w dokumentacji ale nic nie znalazłem. Może ktoś ma tak samo i znalazł rozwiązanie ?
krskrab
September 9, 2023, 6:27pm
#2
raz na godzinę o pełnej godzinie
- platform: time_pattern
minutes: 0
/
Zawiłe to, przykłady (znalezione nie testowałem)
minutes: '2'
- Co 2 minuty
minutes: "/15"
- Co 15 minut
hours: "/1"
- Co 1 godzinne
Piter
(Piter)
September 9, 2023, 6:58pm
#3
I to Ci działa bo u mnie robi się 2x ?
Testowałem te przykłady i wykonują się podwójnie.
Do czwartku działało to dobrze prawie rok.
krskrab
September 9, 2023, 8:37pm
#4
Póki ktoś znający się na temacie odpowie z ciekawości testuje inny sposób wyzwalania co określony przedział czasu
Czas a z niego wyodrębnione minuty.
Następnie warunek do spełnienia
Po kilkudziesięciu minutach wpatrywania się w cyferki muszę stwierdzi, że taki wyzwalacz działa ( zmienia stan na “true”)
value_template: "{{ (now() ) }}"
value_template: "{{ (now().minute ) }}" # minuty
value_template: "{{ now().minute % 5 == 0 }}" # co 5 min.
value_template: "{{ now().minute % 10 == 0 }}" # co 10 min.
value_template: "{{ now().minute % 15 == 0 }}" # co 15 min.
value_template: "{{ now().minute % 30 == 0 }}" # co 30 min.
value_template: "{{ now().minute % 60 == 0 }}" # co 60 min.
/
value_template: "{{ now().minute % 30 == 0 }}"
Ten kod będzie prawdziwy (True) co 30 minut od pełnej godziny. Oznacza to, że będzie spełniony w następujących minutach każdej godziny:
Pełna godzina (np. 1:00, 2:00, 3:00 itd.),
30 minut po godzinie (np. 1:30, 2:30, 3:30 itd.).
Może ktoś kiedyś a jak nie to proszę usunąć
Piter
(Piter)
September 11, 2023, 6:25pm
#5
Dzięki za próbę pomocy. Niestety nie wiem o co chodzi ale jak testuję te szablony to niby działa prawidłowo, a w pliku .yaml liczy głupoty tzn. podwójnie.
Zmieniłem na taki wyzwalacz:
trigger:
- platform: template
value_template: "{{ (now().minute - 1) % 60 == 0 }}"
Na razie ratuję się protezą w postaci dzielenia zmian sensorów /2.
Update: wersja core 2023.9.2 naprawiła to co popsuły dwie poprzednie w tym temacie.