- VenusOS Image herunterladen: raspberrypi4
- auf eine SD Karte flashen (zB mit
balenaEtcher
oder demRaspberry Pi Imager
) - SSH im VenusOS aktivieren (direkt auch gleich
Remote Zugriff
aktivieren) - admin/superuser PW erstellt Victron Anleitung "Root access"
- DBus MQTT Treiber installieren: freakent/dbus-mqtt-devices
- 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
- 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)
- 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"
- per SSH auf VenusOs:
- 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)
OpenWB Ladenstation Integration per Node Red (Quelle)
- in der services.yml muss ein Eintrag für den EV-Charger hinzugefügt werden, damit der Eintrag im DBUS angelegt werden kann:
- Reboot
- 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"
- 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 überdbus-spy
suchen
- per SSH auf VenusOS:
- 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',
- Logs durchsuchen: vorallem
cat /data/log/dbus-mqtt-devices/current
hatte aber auch schon mal Fehler incat /data/log/flashmq/current
- Neuste Version des dbus-mqtt-drivers installieren!
- 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
odermore /var/log/dbus-mqtt-devices/current
folgenden Fehler:No module named 'yaml'
- dbus Treiber braucht YAML
- Pip3 installieren:
opkg update
opkg list | grep pip
opkg install python3-pip
- yaml installieren:
pip3 install pyyaml
- in der
Remote Console
:Settings > VRM online portal > VRM Portal ID
notieren - in VRM Online einloggen und neue Installation hinzufügen
Color Control GX
auswählen und dieVRM Portal ID
eingeben (In derRemote Console
muss vorherRemote Zugriff
aktiviert sein, siehe oben)