Powtarzający się komunikat wysyłany na telefon

Panowie problem polega na tym iż komunikat jest wysyłany na telefon mimo iż stan się nie zmienia.

Jest jakiś nod który sprawdzi poprzedni stan i nie wyślę ponownie tego samego komunikatu ??

image

ta funkcja którą masz uruchomi komunikat gdy pojawi się stan ON na Brama otwarta - ale jeżeli z jakiegoś powodu zresetuje się ta zmienna, zrobi niedostępna czy cokolwiek to będziesz miał ponownie ten sam komunikat… drugie wyjście robi ci informację że nie ma stanu otwarta … nie zawsze jest to sygnał Brama zamknięta :slight_smile:
ja często wystawiam sygnał np Bramy na funkcję SWITCH i tam mam pewność że jest True lub False - dodatkowo przy ważnych sygnałach zaznaczam wszystkie opcje “Previous states…”

image

image

no i obowiązkowo już zaznaczam “Output on connect” wtedy widzisz stan zaraz po połączeniu NR z HA

przetestuje

image

Edit:

jest jeszcze gorzej teraz dostaje dwa komunikaty brama otwarta i brama zamknięta raz za razem

Jest szansa że czujnik dostaje mikro migniecie jak przychodzi stan True, też tak przy niektórych czujnikach mam, wrzucam wtedy limit np 1/2 sekundy

limit ??? możesz rozwinąć zauważyłem że czujnik raz na jakiś czas przybiera wartość unavailable i po powrocie jest off i wtedy idzie niepotrzebny komunikat o stanie

Użyj węzła RBE https://flows.nodered.org/node/node-red-node-rbe

Węzeł nie wysyła żadnych danych wyjściowych, 
dopóki msg.payload nie różni się od poprzedniego.
Działa na liczbach i ciągach. 
Przydatne do filtrowania powtarzających się wiadomości o tej samej wartości. 
Oszczędza przepustowość itp.

próbowałem niestety nie działa. Chodzi o to, że na sekund jest stan inny niż on, off. I właśnie to odpowiada za wysłanie wiadomości.
Brama zamknięta (off) na chwile coś się dzieje i jest stan unavailable po czym powraca do off co powoduje wysłanie komunikatu.
Krótko mówiąc stan się zmienił z off na unavailable i z unavailable na off

Jak zrobić żeby po powrocie ze stanu unavailable do off ignorował wysłanie.
czemu to nie działa ???
image

W samym RBE masz jeszcze opcje filtrowania

@Robert80 wyrzuć te 10 sekund z is state on

ja korzystam z tego bloczku często:
image

daje możliwość opóźnienia przesłania danych ale też ustawienia limitu:

image
najczęściej gdy np mam wiele komunikatów w tym samym momencie robię opóźnienie i kolejkowanie.
gdy np sprawdzam otwarte okna to biorę jedną zmienną reszta jest odrzucana itd :slight_smile:

nie jest to idealne rozwiązanie ale musi tak zostać i talk wyśle 1 błędny komunikat ale nie będzie go ponawiał.

@artpc co do RBE to ustawienie pierwszej wartości nic nie da bo stan się zmienia więc komunikat i tak idzie. Co do reszty opcji to nie wiem jak je ustawić :frowning:

Ja bym pomeczyl temat dlaczego pojawiają ci się dwa razy stany True i co się dzieje w momencie pomiędzy. Do tego najlepiej testować bloczkiem Debug i Full message jako parametr, będziesz wiedział po kolei jakie stany się pojawiają, wtedy można dalej szukać dlaczego :slight_smile:

tak mam podpięte :slight_smile: czekam na anomalie :stuck_out_tongue:

niewiele się dowiedziałem nie zarejestrował stanu “niedostępny”
żeby było wszystko jasne o stanie on nie dostałem informacji

object

payload: “off”

data: object

entity_id: “binary_sensor.gate_opening_sensor”

old_state: object

entity_id: “binary_sensor.gate_opening_sensor”

state: “on”

attributes: object

last_changed: “2022-06-18T08:58:32.647003+00:00”

last_updated: “2022-06-18T08:58:32.647003+00:00”

context: object

original_state: “on”

new_state: object

entity_id: “binary_sensor.gate_opening_sensor”

state: “off”

attributes: object

last_changed: “2022-06-18T08:58:33.276265+00:00”

last_updated: “2022-06-18T08:58:33.276265+00:00”

context: object

original_state: “off”

Nie ma takiej możliwości aby przez podany przepływ przechodziły inne stany jak on/off true/false 1/0
Screenshot - 18.06.2022 , 17_32_07
Jeżeli występują takie problemy to winny jest czujnik (Wzbudzanie) albo twój flow.
Wrzuć tu swój cały flow jako plik *.json
Wyłączyłeś te 10 sekund przy debugowaniu nod?

flow jest ok jak każdy inny u mnie. Dlatego stawiam na czujnik bramy. Dzięki za pomoc.

Mam podobny problem z czujnikiem ,mam dwie sztuki na bramach wjazdowej i garażowej na wjazdowej jest ok,a na garażowej podwójne powiadomienie,jest to sparowane też z ewelinkiem z którego też przychodzą podwójne komunikaty na tym jednym czujniku.

U mnie na odwrót garaż ok wjazdowa świruje witam w klubie

dlatego wg mnie dodanie bloczku DELAY / LIMIT rozwiązuje wszystkie tego typu problemy :slight_smile:

image

z ustawieniami jak niżej - ważne aby mieć wybraną opcję DROP aby nie kolejkował podwójnych powiadomień

image

zgadzam się z Tobą tylko to działa w przypadku gdy błędy odczytu sa w ciągu kilku sekund a u mnie było tak, że w ciągu 10 minut bywało że stan zmieniał się 6 razy. Póki co rozwiązałem problem w inny sposób ( dodałem komunikat o zamknęciu do innego flow)

@Robert80 jeśli jeszcze szukasz rozwiązania to polecam Ci nod “state node”

Jeśli z Twojego czujnika interesuje Cię tylko zmiana stanów z on na off to podstaw w miejsce “Entity” encję Swoje czujnika i zaznacz pozostałe opcje jak na screenie.
Pojawią Ci się dwa wyjścia z tego noda, podstaw komunikat pod górne wyjście “allowed”.
Oczywiście jeśli chcesz komunikat o zamknięciu to zamieniasz miejscami on z off.