Die .json-Datei kann ich bei Bedarf gern zur Verfügung stellen
Benötigt wird im Victron GX-Gerät (MP2 GX / Cerbo / Ekrano / RasPi) das Large Image, dann ist Node-RED verfügbar.
In Node-RED dann die Palette “node-red-contrib-shelly” laden und schon kann man alle Shellys wunderbar auslesen / steuern.
Das Python Script liegt bei. Hier sind einige Dinge verändert worden. Ich hab das komplette Python Script kopiert. Danach tauchte der PM mini mit den richtigen Werten auf. Prima.
Allerdings kann der PM mini ja in zwei Richtungen messen. Da hir etwas eingespeist wird wird der Wert negativ angezeit und der Victron addiert ihn auf.
In Zeile 168 einfach ein - vorran. power = -meter_data['pm1:0']['apower']
Genau DAS ist heute der sicherste Weg ALLE Shellys, ohne auf speziell angepasste Python-Skripte angewiesen zu sein, einzubinden. Schaut euch einfach mal die CPU-Auslastung Eures GX Gerätes mit und ohne die Skripte an. Ich habe diese damals, mangels Alternativen, selbst genutzt und kann es jedem nur empfehlen selbst mal die neue Möglichkeit zu testen.
Das kommt auch darauf an, welche Geräte Du in Node-RED auslesen / steuern magst, daher…
kommst Du da eh nicht drum herum
Ist aber relativ leicht, wenn man erstmal die Grundlagen verstanden hat.
Ich (IT-ler aber kein Programmierer) hab von 0 bis “die Shellys laufen” auch nur 2-3 Tage mit ein paar Stunden YT und ausprobieren gebraucht.
Die Skripte mit dem Shelly Pro 3EM und dem Plus 1 PM Mini Gen 3 kann ich aber gern zur Verfügung stellen - schreib mir einfach eine PN - die musst Du dann nur anpassen.
Habs nun genauso gemacht wie Helmut es vorgschlagen hat. geht auch mit dem Shelly PM Mini Gen 3.
Man muss nur in dem “Changer” noch das *-1 reinschreiben.
Übrigens….die dbus installation mit den Phyton Scripten die ich vorher benutzt habe war doch recht instabil. Konnte der Victron die Shellys mal nicht erreichen blieb der Dienst stehen und man musste ihn mühsam über die Konsole neu starten.
Das ist nun alles weg und ich bin sehr froh das es so einfach geht und mir viele nette Leute geholfen haben.
Danke. Hab es gerade für meinen 1PM Mini Gen3 nachbaut bzw. importiert und bearbeitet.
Was ich noch nicht finde, wo man dem Victron sagt an welche Phase der Shelly hängt. Beim Python-Skript war das Standard in der Konfigdatei aber ich finde es hier einafch nicht.
Edit: Vielleicht eine "Krücke" aber immerhin funktioniert es. Das virtuelle Device als 3 Phasengerät anlegen und den Shelly dann nur der Phase zuordnen auf der er wirklich läuft.
Das ist bei Victron nicht vorgesehen. Es gibt entweder einphasige Anlagen oder Mehrphasige. Ich hab jetzt mal zum testen die drei Phasenkonfiguration genommen. L1 und L3 zeigen dann 0 und am L2 zeigt er mir dann den aktuellen Verbrauch.
Was geht, die Daten wieder per MQTT zurücksenden. Das Topic sieht dann in etwa so aus W/xxx/pvinverter/1/Ac/L2/Power aus.
Danke. Das werde ich nie verstehen. Wenn es einphasige gibt, dann hab ich immer 3 Optionen wo sie in der Realität angeschlossen sein können. Gibt die Visualisierung die Realität nicht her, führt das zwangsläufig zu Fehlinterpretationen einer Schieflast, wo keine ist.
Ich meine mich zu erinnern, dass das aber auch nicht so einfach war. Den die Device Instanz muss ja erst erstellt/registriert werden. Weil wenns so einfach gewesen wäre hätte ich nicht das Sript von henne49 verwendet.
Das ist dem Punkt gleich konfigurierbar wie das Skript von Halmand
Da die Skripte sehr individuell auf Codeebene sind, wollte ich eine freigebene Lösung mittels Node-Red testen. Das wieder mal mit dem Unverständnis für die Diskrepanz zwischen Offensichtlichkeiten und den Grundfeatures des Systems. Aber über den kleinen Workaround mit dem 3Phasen virtuellen Device ist es ja OK. Und bin erstmal Skriptfrei unterwegs.
Was ich mich noch Frage, ob es nicht wesentlich geschickter wäre über das Websocket des Shelly zu gehen statt so über zyklische Inputs. Ob/wie man das in Node-Red umsetzt hab ich noch nicht herausfinden können.