Shelly PlugS Gen. 3 als PV-Inverter -> Gerbo GX einbinden

Hallo zusammen,

ich versuche seit mehreren Tagen mit Hilfe der KI Germini , einen Shelly-PV-Inverter über ein externes Node-RED (Docker im Container Manager auf Synology) per MQTT in einen Cerbo GX einzubinden. Ich komme jedoch an einen Punkt, wo alle Versuche/Möglichkeiten die Germini bekannt sind, nicht funktionieren.

System-Konfiguration:

  • Cerbo GX: Firmware v3.67

  • Shelly Modell: S3PL-00112EU

  • Shelly Firmware: 20260120-145240/1.7.4-gf9878b6

  • Node-RED: Externer Container (Synology), daher keine Nutzung der Victron-Nodes möglich (kein lokaler DBus-Zugriff).

Status Quo:

  • Verbindung: Steht stabil. Node-RED erreicht den Broker des Cerbo.

  • MQTT Explorer: Alle Topics kommen unter W/{VRM-ID}/pvinverter/40/... an.

  • Broker-Bestätigung: Der Cerbo spiegelt die Daten. Im Explorer tauchen die Werte unter N/{VRM-ID}/pvinverter/40/... und unter $SYS auf.

  • Das Problem: Der Inverter erscheint nicht in der Geräteliste der Remote Console.

Was bereits geprüft/versucht wurde:

  1. JSON-Format: Nachrichten werden korrekt als {"value": 888} gesendet.

  2. Keepalive: Ein korrekter Keepalive auf R/{VRM-ID}/keepalive mit ["pvinverter/40"] wird alle 30s gesendet.

  3. Pflicht-Topics: Neben Ac/Power werden auch DeviceInstance (40), ProductName, Connected, Position und StatusCode (7) gesendet.

  4. D-Bus Check: Ein manueller Abruf via SSH mit dbus -y com.victronenergy.pvinverter.pv40 /Ac/Power GetValue liefert: org.freedesktop.DBus.Error.ServiceUnknown.

  5. Python-Test: Ein direkt auf dem Cerbo ausgeführtes Python-Skript (unter Nutzung von VeDbusService) bricht ebenfalls mit einem D-Bus-Fehler ab oder wird vom System einfach nicht in die GUI übernommen.

Es wirkt so, als würde die interne Brücke zwischen dem Mosquitto-Broker und dem D-Bus bei der Firmware v3.67 den Dienst com.victronenergy.pvinverter nicht automatisch registrieren, obwohl die Daten im Broker validiert und gespiegelt werden.

Hat jemand eine Idee, ob es in der v3.67 eine neue Sicherheitsrichtlinie oder eine notwendige “Initial-Registrierung” gibt, damit der D-Bus diese externen MQTT-Dienste wieder akzeptiert?

G.V.

Falls Du auch mit einer Einbindung ohne MQTT, also als “Virtual Device” ausschließlich mit Venus-OS-Bordmitteln zufrieden wärst, kann ich Dir den Node-Red-Flow dafür zur Verfügung stellen. Ich hab’ dann auch gleich noch den kumulierten Energieertrag, den der Shelly 1PMGen3 liefert, zu einer Anzeige des Tagesertrag (analog den Tageserträgen der MPPTs) in der Victron Konsole umgebastelt.

Ich hab’ mich gerade erst vor einer Woche das erste mal mit Node Red befasst, und das war mein erstes Projekt. Läuft tadellos.

Ich würde das mit einem realen GX Gerät machen…zu viele Köche verderben den Brei :wink:

Hab es mit einem 3 phasigen virtuellen Device gemacht und nur eine Phase belegt

grafik

grafik

Viel Erfolg

Wann ist es denn soweit? Das Video habe ich im November 25 schon gesehen….

Hi,

muss dafür ein Victron Node benutzt werden? Shelly 1PMGen3 ich habe einen PlugS :wink:. Was meinst du mit “Venus-OS-Boardmitteln”? Ich hoffe nicht, dass das bedeutet, Node Red ist auf dem cerbo…
G.V.

Hi,

Habe ich doch ! :wink:
Ich sehen in deinem Flow Virctron Nodes, die funktionieren leider nicht, wenn Node Red als Docker (Container-Manager) auf einer Synology läuft.

G.V.

Du musst das schon auf einem GX-Device machen …sonst taucht das nicht auf in der Übersicht..

Du könntest es auch hiermit einbinden…

läuft bei mir seit Jahren ohne Fehler ;O)))

Das Problem ist, das der dbus aus dem Docker heraus den cerbo nicht erreicht…

Ich habe nicht geschrieben.. das Du den Docker benutzen sollst….

Du musst auf dem GX halt einen Treiber installieren… sonst taucht es nicht auf. Oder Node-Red .. aber eben auf dem GX !

Du musst nur das large Image auf dem Cerbo installieren und Node red aktivieren.

Alles Victroninterne funktioniert damit perfekt, sonstige Dinge würde ich heute gleich auf der Syno machen, ich bin mit Node red auf dem Cerbo auch schon angeeckt da zum Beispiel Port 1880 nicht nach außen funktioniert aber ich bin da auch schnell mit meinem IT Latein am Ende.

Oder doch mal die Beta mit Shelly Integration versuchen

das mit dem Treiber hatte ich versucht, KI hat mir eben mal schnell eine Zusammenfassung zusammengestellt:
Zusatz: Fehlgeschlagene Treiber-Installation auf dem Cerbo:

Ich habe zudem versucht, gängige Community-Treiber direkt auf dem Cerbo via SSH zu installieren, um die MQTT-Problematik zu umgehen:

  • Treiber-Download: Ein Versuch, den bekannten dbus-shelly-pvinverter via wget direkt auf den Cerbo zu laden, scheiterte (404 Not Found für das Master-Repo), was auf verschobene Repositories oder Netzwerk-Restriktionen hindeutet.

  • Manueller Python-Starter: Ich habe versucht, ein minimales Python-Skript direkt unter /data/ zu erstellen, um den Dienst com.victronenergy.pvinverter.pv40 manuell über die VeDbusService-Klasse zu registrieren.

    • Ergebnis: Trotz korrekter Einbindung der Pfade (/opt/victronenergy/dbus-systemcalc-py/ext/velib_python) wurde der Dienst im System nicht sichtbar.

    • Fehlermeldung bei D-Bus Abfrage: db.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown.

  • Dateisystem: Die üblichen Pfade wie /opt/victronenergy/dbus-mqtt/dbus-mqtt scheinen in v3.67 anders strukturiert zu sein oder lassen sich nicht mehr wie gewohnt als Service-Trigger missbrauchen. Ein find Befehl bestätigte zwar die Existenz von dbus-mqtt Verzeichnissen unter /opt/victronenergy/, aber der direkte Aufruf blieb ohne Effekt auf die Geräteliste.

Warst Du als root eingelogt ? nur dann geht es …

ja, ssh via root

Mit der Virtualisierung kann ich dir leider nicht helfen…

Du brauchst die Shelly Palette dazu…

Und Ki ist in der blauen Welt oft nicht die Lösung die zum Ziel führt :wink:

Und Verzeichnis angelegt .. und richtig kopiert ?

wget https://github.com/Halmand/dbus-shelly-1pm-and-pm1-Plus-pvinverter-multi-instance/archive/refs/heads/main.zip

Also ich denke ich werde ein zweites Node Red in Betrieb nehmen ( Large Image) und das ausschließlich (erst mal) für den PlugS verwenden. Damit meine Stecker PV als PV-Inverter mitgezählt wird und auf dem Dashboard (VRM und Cerbo) sichtbar wird.

Du brauchst das “large image” des Venus OS. Da wird Node Red mit installiert. Und ja, Du benötigst einige Nodes von Victron, und aus der Shelly contribution, die Du in Node Red nachinstallieren musst.

1 Like

Hey, wie ist das bei dir nach einem Neustart vom cerbo, hast du auch das Problem das die gesamte gezählte Energie vom shally im VRM als Tages erzeugte Energie angezeigt wird.

Ich kann dazu noch nichts sagen, scheint ja nicht wirklich die Sonne…