0.113.0b0 wydana na kanale BETA
1. Najnowszy Zigbee2Mqtt 1.14.2
Głównie poprawki działania ale też jak zwykle nowe urządzenia. Cały log zmian tu:
2. Najnowszy HA 0.113.0
W HA doszły głównie poprawki i usprawnienia do automatyzacji.
Naprawiono błąd którego istnienie wykryliśmy, ale nie poprawialiśmy go tylko zastosowaliśmy obejście. Nikt jednak tego nie zgłosił, więc nie pisaliśmy jakie jest obejście
Na szczęście jakiś mądry programista z HA znalazł sposób
Chodzi o tryb wykonania automatyzacji i objawia się to tylko wtedy, gdy automatyzacja jest wyzwalana, podczas gdy działania są nadal wykonywane z poprzedniego wykonania tej samej automatyzacji.
Klasyczny przykład który pokaże o co chodzi -> mamy w biurze automatyczne włączenie wentylatora w łazience na 5 minut po zapaleniu światła w łazience.
W kodzie, powiedzmy, że coś takiego:
automation:
- alias: "Wentylator"
description: "Włącz wentylator na 5 minut po zapaleniu światła"
trigger:
- platform: state
entity_id: light.lazienka
to: "on"
action:
- service: switch.turn_on
entity_id: switch.wentylator
- delay:
minutes: 5
- service: switch.turn_off
entity_id: switch.wentylator
Ta automatyzacja włącza wentylator po zapaleniu światła, a następnie po 5 minutach wyłącza wentylator. Dość podstawowe działanie i wszystko dzieje się dokładnie tak jak można by się spodziewać… do momentu aż ktoś włączy światło ponownie w łazience przed upływem 5 minut (od poprzedniego włączenia).
Wtedy wentylator się natychmiast wyłącza…??? a przecież nie o takie zachowanie tej automatyzacji chodzi
Sprawdziliśmy dlaczego tak jest i w kodzie to drugie zapalenie światła (to wykonane przed upływem 5 minut) powoduje to, że opóźnienie pierwszego wykonania ( delay minutes: 5 ) anuluje się i kontynuowane jest wykonywanie pozostałych akcji -> powodując natychmiastowe wyłączenie wentylatora.
Obejściem jest rozdzielenie tej automatyzacji na dwie osobne:
- Włącz wentylator natychmiast po zapaleniu światła
- Wyłącz wentylator 5 minut po zapaleniu światła
Obejście tez nie jest idealne ale … jak to mówią, do brzegu
W nowej wersji ten błąd został naprawiony. Od wersji 0.113 drugie ponowne zapalenie światła nie będzie już wyłączało wentylatora Wentylator zgaśnie po 5 minutach, które zostały wyzwolone od pierwszego zapalenia światła
Czy takie zachowanie jest w pełni OK? No właśnie to zależy… co chcemy osiągnąć i dlatego powstały tryb wykonania automatyzacji:
przed:
po:
Co robią inne tryby jest ładnie wyjaśnione w dokumentacji HA
Obrazuje to też ten rysunek:
Tryb | Opis |
---|---|
single | (domyślnie) Nie rozpoczynaj nowego cyklu. Zaloguj info o problemie. |
restart | Rozpocznij nowy cykl po pierwszym zatrzymaniu poprzedniego cyklu. |
queued | Rozpocznij nowy cykl po zakończeniu wszystkich poprzednich przebiegów. |
parallel | Rozpocznij nowy, niezależny uruchomienie równolegle z poprzednimi uruchomieniami. |
My dla naszego przypadku wybieramy tryb restart. Wentylator włączy się ponownie (nie szkodzi bo jest już włączony) i zakończy działanie po 5 minutach od ostatniego włączenia - to nam się wydaje najbardziej poprawne w tej sytuacji.
To tyle jeżeli chodzi wprowadzenie do nowej wersji i zachęty do aktualizacji na beta, fajnych poprawek jest znacznie więcej wszystko opisane w info HA:
Wraz z wydaniem wersji 0.113 na kanale stabilnym opiszemy zmiany w automatyzacji i dodamy informacje o skryptach w naszej dokumentacji (z przykładami).
I jeszcze jedna fajna informacja z temacie HA. Ten kolega * https://github.com/ludeeus
który jest autorem HACS, dołączył na pełen etat do pozostałych programistów Home Assistant (do Nabu Casa). Bardzo nas to cieszy i z całego mu gratulujemy!
No to startujemy
-
Dostępna nowa wersja
-
Pobieranie
-
Instalowanie
-
Restartowanie
-
Po ponownym uruchomieniu
Miłego weekendu