Page 1 of 2

Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 04 Jul 2021 08:51
by Levy
Buna.
De cateva zile bune, i-mi bat capul cu problema din titlu.
Node-Red citeste corect starea releului, insa nu am idee deocamdata cum fac ca switch-ul sau intrerupatorul sa urmeze starea citita de pe releu.(inchis sau deschis)
Pentru o mai buna intelegere exlic putin altfel problema.
Daca cuplez sau decuplez releul, Node-red stie in ce pozitie am lasat butonul respectiv, daca intri de pe un alt dispozitiv, pozitia switch-ului sau intrerupatorului este in pozitia corecta. Deci din acest punt de vedere nu am nimic de depanat aici.

Problema apare cand schimb pozitia releului (de pe inchis pe deschis sau invers) de pe o alta aplicatie, (eWeLink sau chiar din google assistent) in acel moment in node-red pozitia butonului ramane ultima pozitie stiuta de node-red, desi o alta aplicatie a modificat starea releului.

Intrebarea pentru voi ar fi, cum fac, ca node-red sa citeasca starea releului (asta este rezolvata si am s-o adaug aici) si acea stare citita sa modifice pozitia butonului din dashboardul node-red ?

Aici am pus "rutina" care citeste starea unui releu
Image

In prima faza releul a fost pe OFF si l-a si citit corect, dupa care dintr-o aplicatie externa am schimbat starea releului pe ON si am citit din nou starea releului pe care-l arata de data asta ON.

Deci, problema ar fi introducerea acestor date, astfel incat un switch sau un buton sa-si schimbe starea in functie de datele citite de aici.

Image

setarile din switch sint urmatoarele
Image

Pe moment folosesc butoane care-si schimba culoarea, am gasit flow-ul undeva pe internet, si in acest moment arata astfel:
Image

Asta arata cam asa in flow
Image

Are cineva idee cum se poate rezolva problema de mai sus ?

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 20:11
by delta2k2
Păi de ce nu foloseşti ewelink-event-listener ?

La fiecare schimbare de stare, indiferent de sursă, ewelink-event-listener generează in "params" starea switch-ului : "on" sau "off" .
Ieşirea din acest nod o "adaptezi" şi o pui impreună cu butoanele de inject.

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 21:00
by Levy
Am incercat cea mai simpla combinatie cu event listener

Image

dupa cum se vede este conectat de releu, insa in debug nu afiseaza nimic.

Cu eWelink_power_state_read citeste starea si o afiseaza in debug. A se vedea print screenul din primul post.

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 21:07
by Levy
Aparent am gasit problema.
Afisarea in debug trebuie sa fie: msg.payload.params.switch

Image

Dupa cum se vede, acum afiseaza in debug starea releului, desi l-am schimbat dintr-o aplicatie externa node-red. :drink2:

Urmeaza sa-l "lipesc" si de switchul din dashboard....

Sa vedem ce urmeaza :hehih:

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 21:20
by delta2k2
Dacă ai mai multe eWelink-uri, pentru a le separa, filtrezi in funcţie de deviceid ieşirea din nodul ewelink-event-listener.

Image

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 21:26
by Levy
Pentru ca apare ca un string, l-am adaugat la starea switchului

Image

Dar cred ca ceva nu e chiar ce trebuie :juggle: :tong:

Pentru ca desi din debug afiseaza corect starea OFF sau ON switch-ul nu-si schimba starea in ce primeste din listener.

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 21:38
by Levy
In mod interesant, daca las switch-ul din dashboard pe ON cand decuplez din exterior, switch-ul din dashboard revine in mod corect in pozitia off, insa de pe off pe on nu vrea nici rupt :D :haha: :haha:

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 22:27
by delta2k2
Vezi că le-ai amestecat bine de tot, la Topic in switch.
Trebuie să pui de tip msg , nu string (az)


Image

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 22:31
by Levy
Am incercat si msg, dar se rebooteaza serverul de node-red cand schimb starea switchului din dashboard cu mouse :bang:

Re: Node-Red cum actualizez starea butonului automat in functie de starea releului ?

Posted: 05 Jul 2021 22:33
by delta2k2
Unde ţii server-ul, pe ce maşină ?