Zrobiłem prostą funkcję - zapal światło zewnętrzne 1 godzinę po zachodzie słońca i wyłącz o 24:00. Zadziałało od pierwszego strzału ale, przyszła wiosna i teraz światło włącza się, a jakże, ciągle poprawnie ale na zewnątrz jest zbyt jasno. Mogę przestawić opóźnienie o 1 godzinę ale to niezbyt dobry pomysł bo mam zewnętrzny pomiar jasności w Lux-ach. A więc, najlepiej byłoby ustawić koniunkcję warunków: włącz gdy zaszło słońce i jasność jest mniejsza od 3000 lux-ów.
Ale to mnie jeszcze przerasta bo zbyt wielu kwestii nie rozstrzygnę - np. czy zdarzenie “zaszło słońce” występuje raz czy wielokrotnie więc jak i czy takie złożenie dwóch zdarzeń (zachód słońca i jasność < 3000 lux-ów) da się zapisać.
Oczywiście próbowałem dołożyć do “Kiedy” tej automatyzacji, część “Jeśli” i tu sprawdzenie tej jasności ale HA nie chce mnie słuchać. No czegoś nie wiem.
Wielkie dzięki za błyskawiczną odpowiedź i te przykłady. I, jeśli mogę, to w związku z tym rozszerzę pytanie bo jestem ~0 w HA.
rozumiem że wywalić z definicji “automatyzacji” to “Jeśli” i wpisać w “configuration.yaml” moją definicję wyzwalacza na wzór i podobieństwo podanych;
czyli mam rozumieć że HA ciągle i tak długo przepytuje system aż zauważy że warunki są spełnione i wtedy wykonuje akcję ale czy wykonanie tej akcji wyłącza przepytywanie, czyli czy spełnienie warunków nie powoduje ciągłego wyzwalania akcji (swoją drogą, gdzie znaleźć prosty opis logiki działania HA w tym kontekście);
i jeszcze gdzie szukać opisu konstruowania tych procedurek które pokazujesz w value_template; nic w nich niejasnego ale chciałbym znać reguły tej składni.
NIE, automatyzacja wykonuje się jeżeli wszystkie warunki zostaną spełnione i czeka na następny wyzwalacz jeżeli taki jest.
W samych automatyzacjach masz ślady
Dzięki za praktyczne wskazówki - czyli HA sprawdza złożenie tych dwóch warunków, jak pasuje to wykonuje akcję i sygnuje ją jako wykonaną, czyli więcej tego nie rusza. A, na marginesie, czy i jak to jest “ustawialne” żeby nie zaznaczał akcji jako wykonanej - bo są takie sytuacje kiedy dobrze byłoby wykonywać akcje zawsze gdy warunki są spełnione.
Dzięki za wskazanie “śladu” bo to mocno uczytelnia działanie i za ten blueprint (chociaż zanim go ruszę wolałbym ustawić to po swojemu żaby zdziałało i zrozumieć do końca ten mechanizm).
Piszę o definiowaniu automatyzacji (Ustawienia->Automatyzacje oraz sceny) gdzie jak klikam na pozycję automatyzacji widzę trzy akapity: Kiedy, Jeżeli i Wykonaj.
Tą automatyzację zdefiniowałem właśnie tu i wyłącznie ustawiając pozycje: “Kiedy” i “Wykonaj”. Rozumiem że to jest uproszczona wersja tego co można zbudować i rozbudowywać w “automations.yaml”.
Tak, nie wszystko daje się wyklikać z GUI, ale jeśli znasz odpowiednie konstrukcje YAML to możesz je użyć wewnątrz edytora GUI.
I dokładnie - to co możesz wyklikać (łącznie z tym co ewentualnie sobie dopiszesz ręcznie, bo oprócz klikania jest też tryb edycji YAML) ląduje automatycznie w pliku automations.yaml
Tu masz taki ultraprosty przykład jak to samo wygląda (akurat się załapał moment uruchomienia na jednym z obrazków)
Nie bardzo chcę wyręczyć się gotowcem bo niewiele mnie to będzie kosztowało wysiłku a umiejętność mnie minie. Wróciłem do tej automatyzacji i HA zapisał to sobie tak:
natomiast ślad wygląda tak;
a funkcja wykonuje się dwa razy (to znaczy zapala się zewnętrzne oświetlenie najpierw 30 minut po zachodzie słońca a jak je zgaszę ręcznie zapala się powtórnie gdy jasność zewnętrzna schodzi poniżej 3000lux-ów) tak jakby HA traktował to jak alternatywę a nie koniunkcję dwóch warunków.
I pewnie znów czegoś nie widzę ale czego?
Dzięki szopen ale nie do końca rozumiem, edytować to co wygenerował HA w configuration.yaml, ale jak?
Mogę użyć kodu jaki podał mi krskrab (na początku tego tematu) ale chciałbym zrozumieć to co generuje HA.
Ta Automatyzacja działa w ten sposób
Wyzwalaczem jest 30 minut po zachodzie słońca .
Pod warunkiem że gdy jasność zewnętrzna schodzi poniżej 3000lux-ów
Działa w ten sposób bo sensor pogodynka jasność dodano jako warunek
No tak, ta logika kompletnie mi nie pasuje. “Kiedy” i “Jeżeli” nie można spiąć koniunkcją (AND) więc myślałem że, skoro “Jeżeli” daje taką możliwość to wystarczy warunek. A, jeżeli warunki są dobrze podane, to należy dodać jakikolwiek wyzwalacz “Kiedy”?
automations.yaml wygląda tak:
Wiem dlatego pisałem, że to opcjonalne rozwiązanie, ale komplikujesz sobie automatyzację nie rozumiejąc jak ona działa to nie doprowadzi do rozwiązania