Shelly PM min Gen3 in Victron einbinden (Ohne MQTT)

Moin

Habe hier ein Problem mit dem Shelly PM mini Gen3 welchen ich nicht ins Victron System eingebunden bekomme.

(Diesen Artikel

Habe ich dazu auch bereits gelesen, jedoch möchte ich es ohne weiteren Server bzw Broker für das MQTT haben)

1 Versuch:

Im Shelly unter Outbound Websocket und Connection Type “TLS No Validation” die IP vom Cerbo eingetragen.

Ergebnis: Im Cerbo wird ein Shelly Zähler angezeigt, jedoch ohne das hier Werte übertragen werden.

2 Versuch:

Dies Lösung von "Halmand" aus dem Github. Hier dann noch zusätzlich wie Beschrieben die Zeile

power = meter_data['switch:0']['apower'] zu power = meter_data['pm1**:0**']['apower'] geändet

jedoch kommen dann auch im Victron keine Werte an obwohl vom Shelly angezeigt.

Noch jemand ne Idee?

grüße

Moin hab das selbe Problem. Nach Update des Scriptes wird mir ein PV Invetre im VRM Portal angezeit. Aber sendet keine Werte. Hab noch was gefunden:

Issue Resolved. Need to change the code in line 52. Change Position', 0 to Position', 1

Bei mir steht in Zeile 52 dies: self._dbusservice.add_path('/Position', int(config['DEFAULT']['Position']))

was soll ich da nun eintragen ? Hab schon einiges Versucht aber ohne Ergebniss.

vielleicht bist du ja schon weiter gekommen..

Grüße

Vielleicht hilft es weiter
Nutze PM 1 Mini Gen3 die ich hiernach wie PM 1 Plus eingebunden habe:

Für mich erfreulich überraschend hat die Integration jetzt sogar ein Update von Venus OS 3.5x auf 3.66 überlebt und funktioniert weiterhin.

Ich habe meinen ganz easy - mit Bordmitteln - per Node-RED in Victron eingebunden.

Die .json-Datei kann ich bei Bedarf gern zur Verfügung stellen :wink:

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.

1 „Gefällt mir“

Ich habs gelöst….es funktioniert.

Hier ist es beschrieben.

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']

danch ging alles.

echt prima.

viele Grüße

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.

Hmmm ja also mit dem large Image…

Wusste ich gar nicht das es das gibt. Hab es herunter geladen und siehe da node red startet wie gewünscht.

Jetzt muss ich mich nur noch in das Tool einarbeiten. (ich dacht ich komm drumherrum)

Vielen Dank für den Tip….

kannst du uns noch ein wenig supporten wie man mit dem node red dies Problem lösen kann ?

viele Grüße

Gerne doch :wink:

Das kommt auch darauf an, welche Geräte Du in Node-RED auslesen / steuern magst, daher…

kommst Du da eh nicht drum herum :stuck_out_tongue:

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.

Sonnige Grüße vom Nachtwind

Einfach mal das Video vom Helmut durchackern und dann klappt das :wink:

Sehr cool vielen Dank

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.

vielen dank

Christoph

1 „Gefällt mir“

Wenn es dabei um die korrekte Leistungs- / Energierichtung geht, das kann man auch auf der Weboberfläche des Shelly direkt einstellen…

Kannst Du dazu ein Feedback geben?

Insbesondere interessiert mich die Mehrbelastung durch das Large Image. "Umsonst" gibt es das ja auch nicht selbst wenn man Signal K deaktiviert.

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.

Hat jemand einen Tip?

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.

1 „Gefällt mir“

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.