Datenverarbeitung fuer shellys

hallo,

hier mal ein paar nodes, um die daten verschiedener shelly aufzubereiten.

mit diesen nodes bekommt man den led-status und die leistung zurueckgeliefert und -1 wenn keine leistungsmessung verfuegbar ist:

flows (12).zip (985 Bytes)

aktuell werden die shelly-versionen gen1 + 3 unterstuetzt sowie ein timeout fuer die led. man kann mit einem aufruf die leistung und den led-status bekommen und ein paar beispielnodes fuer die weitergabe habe ich auch dabei gemacht.

fuer die led wird false, true und “timeout” zurueckgeliefert. ich habe an einigen shellys auch noch ein timeout-node haengen, das seine daten dann auch an diese funktion schickt.

so sieht die definition der led aus:

wobei false in dem fall an und true aus ist, das kann man aber im function-node mit der funktion leicht aendern.

ich habe versucht alle auftretenden fehler abzufangen, so dass man keine debug-meldungen mehr wegen datenfehlern bekommt!

noch eine anmerkung zur leistungsabfrage, da vom shelly node kein individuelles topic gesetzt wird, hat man die moeglichkeit, vor dem aufruf der funktion ein topic zu setzen, ansonsten wird die mac-adresse des shellys benutzt, so dass man die ausgegebenen leistungsdaten direkt summieren kann!

auf eine uebernahme der Wh habe ich verzichtet, da der zaehler bei jedem neustart auf 0 gesetzt wird und diese daten bei mir sowieso schon im minutentakt in einer datenbank landen.

mit diesem flow hole ich mir die daten meiner shelly 3em ins system:

flows (13).zip (3,5 KB)

um mein gx nicht zu stark zu belasten, lasse ich diese node-red-instanz auf einem anderen system laufen, in dem fall ein odroid m1 mit 8 GB ram. aber es kann natuerlich jedes system, auf dem node-red laeuft, benutzt werden.

eine funktion um das relais anzusteuern wird noch folgen. man muss dann nur mitgeben, welche generation shelly man ansteuern will.

tschuess