Zacznę od tego, że steruję sobie pompą basenową - w ogrodzie mam gniazdko Zigbee do którego wpięta jest pompa (o odpowiednich godzinach wysyłam on lub off).
Problemem jest to, że gniazdko najwyraźniej jest na granicy zasięgu - zdarzyło się 2 razy, że Node Red (call service) wysyłał sygnał off, natomiast pompa działała całą noc…
Pytanie, jak rozwiązać ten problem? Jak upewnić się, że gniazdko zostało wyłączone?
Na tą chwilę dorobiłem szybką pętlę we flow (wyłącz → sprawdź czy jest off → jeśli nie to poczekaj 30s i spróbuj wyłączyć jeszcze raz → itd.)
Wydaje mi się jednak, że istnieje “ładniejsze” rozwiązanie tego problemu o które chciałbym Was zapytać (nie chciałbym też tworzyć takiej pętli dla każdego urządzenia).
Myślałem nad flagą retain (true), natomiast po pierwsze, jeszcze nie rozgryzłem gdzie to dokładnie ustawić dla tego urządzenia (zaznaczenie haczyka przy Retain w ustawieniach Z2M nie działa - wiadomości nadal mają false przy retain i niestety nie mogę już tego haczyka odznaczyć…) a po drugie, wyobrażam sobie sytuację, że gniazdko jest poza zasięgiem, włączam je fizycznie a po chwili “łapie” zasięg i się wyłącza (payload: off z flagą retain: true)…
Wejdź do Z2M w kolumnie Model kliknij w twoje urządzenie, jak otworzy ci się strona na samym dole są ustawienia MQTT sprawdź czy obsługuje (payload: off z flagą retain: true)…
(tak jak pisałem wcześniej, przy jednym z urządzeń zaznaczyłem to, ale komendy i tak wychodzą do urządzenia z flagą false, dodatkowo nie mogę teraz tego odznaczyć)
Jeżeli ta opcja działa to zrób sobie przełącznik w HA na podstawie podanej strony i dodaj brakujący
wpis retain: true w miejsce <FRIENDLY_NAME> nazwa twojego urządzenia z Z2M