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?
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 :
Dokumentacja Flow Node-RED: Zigbee + Tasmota – Raport Zbiorczy
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.
Główne komponenty:
Aktualizacja statusów Tasmota:
mqtt in → tele/+/LWT– subskrybuje wiadomości LWT.Aktualizator statusów (LWT)– zapisuje status Online/Offline doflow.deviceStatus.Liczenie offline– zlicza offline, zapisujeflow.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.
Odbieranie informacji Zigbee:
- Suby MQTT:
availability,state,device-type,device-powerSource. Aktualizuj bufor stanu Zigbee– buforuje dane doflow.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.
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, generujereset + trigger.🟢 Reset po starcie NR– wymusza trigger po restarcie Node-RED.
Inne:
Zapisz MqttClient/Mapuj na MqttClient– mapowanie nazw zSTATUS6.STATUS6– odbieranie mapowań MQTTClient.Automatyczny raport co 1h(dezaktywowany) – opcjonalny cykliczny raport.
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.
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
resetdo funkcji scalającej, by trigger odpalił nawet bez zmiany.
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.
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.
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.

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:


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.







