ggf im Log kontrollieren ob der Treiber korrekt läuft (hier sieht man auch, ob die Geräte die über MQTT Erstellt werden im DBus korrekt angelegt werden können
in VenusOS MQTT aktivieren: Settings > Services > MQTT
PV Inverter: Shelly Plus 1PM Integration (via Node Red)
auf dem Shelly MQTT aktivieren: Settings > MQTT
Shelly als PV-Inverter registrieren: (DeviceInstance muss ggf angepasst werden)
Daten von Shelly holen und Daten nach VenusOS per MQTT schreiben:
DeviceInstance im DBus anpassen, siehe Kapitel "DeviceInstance"
benötigte Nodes:
node-red (mqtt)
node-red-contrib-shelly (könnte man theoretisch auch mit plain mqtt von node-red machen)
Grid Meter: Shelly Pro 3EM Integration (via Node Red)
auf dem Shelly MQTT aktivieren: Settings > MQTT
Eventuell nicht nötig: Role in MQTT Treiber aktivieren (services.xml)
per SSH auf VenusOs: nano /data/drivers/dbus-mqtt-devices-0.6.3/services.yml
Rolle bei Grid hinzufügen:
Role: description: "grid, pvinverter, genset, acload" persist: true default: "grid"
DeviceInstance im DBus anpassen, siehe Kapitel "DeviceInstance"
Reboot
Shelly als Grid Meter registrieren: (DeviceInstance muss ggf angepasst werden)
Daten von Shelly holen und Daten nach VenusOS per MQTT schreiben: (DeviceInstance muss ggf angepasst werden)
benötigte Nodes:
node-red (mqtt)
node-red-contrib-shelly (könnte man theoretisch auch mit plain mqtt von node-red machen)
Dashboard
OpenWB Ladenstation Integration per Node Red (Quelle)
in der services.yml muss ein Eintrag für den EV-Chargerhinzugefügt werden, damit der Eintrag im DBUS angelegt werden kann:
OpenWB als EVCharger registrieren: (DeviceInstance muss ggf angepasst werden)
Daten von OpenWB holen und Daten nach VenusOS per MQTT schreiben: (DeviceInstance muss ggf angepasst werden)
DeviceInstance im DBus anpassen, siehe Kapitel "DeviceInstance"
DeviceInstance
Falls die DeviceInstance (zB 42) nicht im DBUS bekannt ist, kann man sie manuell anlegen
per SSH auf VenusOS: dbus -y com.victronenergy.settings /Settings/Devices GetValue oder über dbus-spy suchen
falls es einen Eintrag mit einer falschen DeviceInstance in dem ClassAndVrmInstance Eintrag gibt, muss diese vorher gelöscht werden:
dbus -y com.victronenergy.settings /Settings/Devices RemoveSettings '%["mqtt_fe004_grid/ClassAndVrmInstance"]' (Name des Geräts vor ClassAndVrmInstance anpassen)
falls es keinen Eintrag mit ClassAndVrmInstance zu dem Device gibt, muss dieser angelegt werden:
dbus -y com.victronenergy.settings /Settings/Devices AddSetting mqtt_fe004_grid ClassAndVrmInstance grid:42 s "" "" (Name des Geräts und Service vor ClassAndVrmInstance anpassen)
bei einem erneuter Aufruf von GetValue (s.u.) sieht man dann 'mqtt_fe004_grid/ClassAndVrmInstance': 'grid:42',
Fehlerpotential
Logs durchsuchen: vorallem cat /data/log/dbus-mqtt-devices/current hatte aber auch schon mal Fehler in cat /data/log/flashmq/current
Die Werte des PV-Inverters und Grid Meters müssen als Zahl(!) und dürfen nicht formatiert als String übermittelt werden, sonst werden die Zahlen von VRM nicht angenommen und das Gerät nicht erkannt (in der Remote Console hingegen wird alles korrekt anzeigt)
Nach einem Update von VenusOS sieht man im log cat /data/log/dbus-mqtt-devices/current folgenden Fehler: No module named 'yaml'