Powiadomienie gdy urządzenie Zigbee/Tasmota wyleci z sieci

Sorry za zamieszanie. Oczywiscie uzylem tych dwoch pierwszych przykladow. Dziala wszystko tylko ja myslalem ze to odrazu telegram zaraportuje po odlaczeniu urzadzenia. U mnie trwa to dluzsza chwile zanim dostane info.

Tam jest wstawione 5 minut opóźnienia aby nie pluł jak z karabinu jeżeli urządzenie na chwile wyleci z sieci ( czyli np restart dodatku Z2M czy Koordynatora )

W pierwszej wesji nie widze delay

Teraz spojrzałem i zgadza się - nie ma opóźnienia bo to testowałem czy działa.
Potem zostało dorobione 5 minut.
Finalnie jak wiesz zrezygnowałem z tego i zrobiłem to w NR.

Czy w tym ostatnim przykladzie jest powiadomienie na Telegrama? Bo chyba nie ma.

5 postów wyżej masz z 5 minutowym Delayem - wystarczy wkleić jako kod YAML i zmodyfikować gdzie ma powiadomienie wysłać.

Czy to tutaj mam zmienic na telegram? A masz moze druga autmatyzacje dla powrotu w online?

Tak - tutaj , tylko zrób bo trybie wizualnym

Nie wiem o co chodzi z tym trybem wizualnym. Mozesz udostepic kod dla online?

Tryb wizualny :

Tryby zmieniasz prawym górnym rogu =>3 kropeczki

Nie dałem za wygraną ale poszedłem w zbyt skomplikowany flow wiec wróciłem do wersji która w miarę działała.

flows (5).json (25,7 KB)

Opis techniczny :


:blue_book: Dokumentacja Flow Node-RED: Zigbee + Tasmota – Raport Zbiorczy

:wrench: Cel Flow:

Zintegrowane monitorowanie stanu urządzeń Zigbee i Tasmota, z automatycznym generowaniem zbiorczych raportów (z podziałem online/offline), obsługą opóźnień, resetów oraz wysyłką raportów.


:jigsaw: Główne komponenty:

:arrows_counterclockwise: Aktualizacja statusów Tasmota:

  • mqtt in → tele/+/LWT – subskrybuje wiadomości LWT.
  • Aktualizator statusów (LWT) – zapisuje status Online/Offline do flow.deviceStatus.
  • Liczenie offline – zlicza offline, zapisuje flow.offlineTasmota.
  • Porównanie offlineCount TASMOTA – uruchamia raport, gdy liczba offline się zmieni.
  • Trigger z resetem (30s) – opóźnienie przed wysłaniem raportu (resetowane przy zmianie).
  • Tworzenie Raportu Statusu Tasmota – generuje tekstowy raport statusów.
  • Debug Raport statusu – podgląd.

:satellite: Odbieranie informacji Zigbee:

  • Suby MQTT: availability, state, device-type, device-powerSource.
  • Aktualizuj bufor stanu Zigbee – buforuje dane do flow.online, offline, powerSource, itp.
  • Zapisz powerSource / Zapisz device-type – uzupełnia kontekst.
  • Raport statusów z podziałem na typy – generuje osobny raport Zigbee.
  • Debug Podgląd raportu.

:bar_chart: Raport zbiorczy:

  • 📋 Raport zbiorczy Zigbee + Tasmota – łączy dane Tasmota i Zigbee.
  • ⏳ Trigger raportu – wyzwalany przez funkcję Scalanie offline Zigbee i Tasmota.
  • Scalanie offline Zigbee i Tasmota – porównuje zestawy offline, generuje reset + trigger.
  • 🟢 Reset po starcie NR – wymusza trigger po restarcie Node-RED.

:radio_button: Inne:

  • Zapisz MqttClient / Mapuj na MqttClient – mapowanie nazw z STATUS6.
  • STATUS6 – odbieranie mapowań MQTTClient.
  • Automatyczny raport co 1h (dezaktywowany) – opcjonalny cykliczny raport.

:gear: Zmienna Flow:

  • flow.deviceStatus – statusy urządzeń Tasmota.
  • flow.offlineTasmota – aktualnie offline.
  • flow.offline / online – Zigbee.
  • flow.deviceTypes, powerSource, mqttNames – pomocnicze dane o urządzeniach.
  • flow.offlineDevicesAll – unifikacja offline Zigbee + Tasmota do detekcji zmian.
  • flow.lastOffline – daty ostatnich offline Zigbee.

:white_check_mark: Jak działa:

  • Statusy aktualizują się z MQTT.
  • Jeśli zmieni się liczba offline Tasmota lub zestaw offline Zigbee+Tasmota, odpala się trigger z opóźnieniem 30s.
  • Po triggerze generowany jest zbiorczy raport.
  • Raport trafia do debug.
  • Po restarcie Node-RED wysyłany jest reset do funkcji scalającej, by trigger odpalił nawet bez zmiany.

:test_tube: Ręczne testy:

  • 🔁 Wygeneruj ręcznie – natychmiastowy test raportu.
  • 🔁 Restart Zigbee Koordynatora – wysyła restart bridge.
  • 🟢 Reset po starcie NR – wyzwala trigger po starcie.

flows (2).json (23,9 KB)

Pozmieniałem to trochę we współpracy z GPT.


:white_check_mark: Node-RED: hybrydowy system monitoringu Tasmota + Zigbee2MQTT bez fałszywych alarmów

Co to robi?

  • łączy LWT (tele/+/LWT) i STATUS6 (stat/+/STATUS6) dla Tasmoty

  • po starcie Node-RED automatycznie odpytuje wszystkie Tasmoty o status (cmnd/tasmotas/status 6)

  • trzyma stany online/offline z mechanizmem anty-flap:

    • Tasmota offline dopiero po X sekundach bez powrotu
    • Zigbee offline dopiero po Y sekundach braku odpowiedzi
  • rozpoznaje aliasy po MqttClientMask

  • koalescencja zdarzeń (łączenie wielu offline→online w jeden raport)

  • RBE (report-by-exception — tylko gdy faktycznie nastąpi zmiana)

  • powroty online są raportowane natychmiast

  • brak fałszywych alarmów po starcie/hałasie w sieci Wi-Fi/Zigbee

  • wysyłka raportów np. na Telegram

Kiedy raportuje?

  • po starcie Node-RED (po akwizycji STATUS6 — nie spamuje od razu)
  • gdy urządzenie faktycznie padnie
  • gdy wróci online
  • gdy całe Zigbee wystartuje / bridge stanie na nogi
  • gdy offline → online w krótkim czasie (ale łączone w jeden log)

Brak głupich „offline na sekundę i już dzwoni telefon”.

Dlaczego hybryda LWT + STATUS6?

Bo samo LWT bywa zawodne (MQTT restart, reconnection, chwilowy zanik).
STATUS6 jest źródłem prawdy o stanie Tasmoty → ale nie przychodzi samo.
Połączenie obu = spójny, odporny na jitter system.

Co monitoruje?

  • Tasmota: Online / Offline + alias z MqttClientMask
  • Zigbee: Online / Offline + timestamp ostatniej utraty
  • liczy ile urządzeń jest widocznych przez LWT / STATUS6 (diagnostyka sieci)

Parametry (konfigurowalne w NR)

  • opóźnienie LWT offline (np. 8–10s)
  • opóźnienie Zigbee offline (np. 30–45s)
  • okno akwizycji STATUS6 po starcie (np. 12–15s)
  • globalny cooldown raportów (np. 20–60s)
  • okno koalescencji zmian (np. 10s)

Po wklejeniu wystarczy wstawić swój MQTT serwer oraz numer Telegrama.

Gdy któraś Tasmota wyleci reakcja jest prawie natychmiastowa. natomiast w przypadku Zigbee trzeba troche poczekać aż on to wyłapie.

Zaraz po uruchomieniu generuje jeden raport.

2 polubienia

Wpisałem swój chatid telegrama ale nic nie przychodzi. Błędu w logu też nie ma, status jest z info ze wysłano. Próbowałem z telegram_bot i notify.telegram - bez efektu.

W NR korzystam tego do telegrama :
image

Tak wygląda to z boku na pasku :

A tak gdy to działa :

image
powyższy kod (format: expression) w treści data zwraca mi: {{payload}}


a taki kod (format: JSON) zwraca poprawnie to co jest wprowadzone jako msg.payload

Automatyzacja jest prosta:
image
image

Usunąłem w swojej numer mojego telegrama więc jak wstawisz swój numer powinno działać

Który plik edytowałeś:
flows (5) czy flows (2) ?

Edytowałem flow(2) tj. ten ostatni co wkleiłem 30 października.