Synchronizacja MQTT z aplikacją Google Home przez Smart Nora

Problem mój polega na synchronizacji stanu przekaźników z aplikacją Google Home poprzez Smart Nora w Node-Red.

Przez node “mqtt in” otrzymuje z wiadomość, zawierającą stan wszystkich przekaźników. Treść takiej wiadomości wygląda następująco:
{“relay1”:{“on”:1},“relay2”:{“on”:0},“relay3”:{“on”:0},“relay4”:{“on”:0},“relay5”:{“on”:0},“relay6”:{“on”:0},“relay7”:{“on”:0},“relay8”:{“on”:0}}
W tym przypadku widać, że przekaźnik numer 1 jest włączony {“on”:1}, a pozostałe są wyłączone {“on”:0}.

W jaki sposób wyciąć z takiej wiadomości stan poszczególnych przekaźników i wysłać je do odpowiednich wyjść, w postaci wiadomości JSON {“relay_numer_przekaźnika”:{“on”:1}} ??

Próbowałem, ze “switch node” i funkcją “contains” ale przerasta to moją podstawową znajomość Node-Red. Może ktoś z Was zna rozwiązanie?

@Adrian Najprościej to można zrealizować przez funkcje i operacje na łańcuchach. Niestety nie mam chwili przynajmniej w tym tygodniu aby ją dla Ciebie napisać. Może w przyszłym tyg będę miał czas.
Nie chcę jednak obiecywać bo ostatnio słabo z czasem u mnie. Przypominajsię. Zobacz też film dotyczący operacji na łańcuchach.

Dziękuję. Zabieram się za ponowne oglądanie.

Node function, czyli przykładowo dla 3 przekaźników zrobiłem tak:

var data = msg.payload;

var msg1 = {payload: data.relay1, topic: “on”};
var msg2 = {payload: data.relay2, topic: “on”};
var msg3 = {payload: data.relay3, topic: “on”};

return [msg1, msg2, msg3];

Po czymś takim kieruje mi sam stan na kolejne wyjścia, czyli np. {“on”:1}. Jednak nie wiem jak przekazać za jednym zamachem do danego wyjścia całą wiadomość czyli {“relay1”:{“on”:1}} ??

Hej,

Zacząłem zabawe ze Smart Nora i zastanawiam się jak zsynchronizować np. oświtlenie kiedy jest włączone/wyłączone w Home Assistancie bądź przez przycisk fizyczny aby też działała opcja zmiany stanu poprzez Google asystenta. Ma ktoś przykładowy scenariusz z Node Red?

Utknąłęm na kilka godzin i nie wiem jak to obejść a podejrzewam że to możliwe bo inaczej to nie ma sensu. Prosze o pomoc!