Walczę od dłuższego czasu z przetworzeniem wiadomości odebranej po MQTT w node-red.
Mam kontaktron podłączony do Zigbe2MQTT, w HA udało mi się stworzyć encję która reaguje na zmiany.
Chcę jednak ogarnąć ten temat przez NR, żeby to on stworzył działającą encję.
Odbieram wiadomość po MQTT:
I teraz chciałbym zrobić z niej encję “binary_sesnor” w HA. Nie wiem jak ogarnąć funkcje w NR która wyciągnie z wiadomości ZoneStatusChange, Device i wyrzuci odpowiedni komunikat.
Sorrka, chodzi o HA, jakoś tak mi się przykleił ten skrót.
W HA temat ogarnąłem ale chcę się nauczyć jak to zrobić w NR
Udało mi się to jakoś ogarnąć, poniżej kod nodu function
a=msg.payload.ZbReceived; //Wycina pierwszy object wrzuca do "a"
b=a["0xFF94"]; //wycina drugi object i wrzuca do "b"
//teraz mamy juz tylko msg.payload z właściwościami
//Device, Name, 05000<00, ZoneStatusChange,ZoneStatusChangeZone, Endpoint, linkQuality
if(b==undefined){ //jezeli "b" jest od innego urządzenia nie rób nic
c=undefined;
} else {
if(b.Device=="0xFF94"&& b.ZoneStatusChange==1){
c="On";
} else {
c="Off";
}
msg.payload=c;
return msg;
}
zwraca on w msg.payloda On/Off.
Może komuś się przyda