Victron: Unterschied zwischen den Versionen
Culemu (Diskussion | Beiträge) |
Culemu (Diskussion | Beiträge) |
||
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Übersicht== | ==Übersicht== | ||
Die Familie der Solarlade und -speichergeräte von Victron verwenden verschiedene Bussysteme, um untereinander zu kommunizieren. Sehr | Die Familie der Solarlade und -speichergeräte von Victron verwenden verschiedene Bussysteme, um untereinander zu kommunizieren. Sehr angenehm ist, daß die zentrale Steuerung namens Venus (Victron ENergy Unix System :-) frei verfügbar ist, und gern auf einem RaspberryPi läuft. Integriert ist gleich ein [https://de.wikipedia.org/wiki/MQTT MQTT] Server (mit und ohne SSL), der die Meßwerte der angeschlossenen Geräte - und das sind viele - per MQTT anbietet. | ||
Victron ist generell gut dokumentiert: https://www.victronenergy.com/support-and-downloads/technical-information | |||
stateFormat kann so aussehen: | ==Einbindung in fhem als MQTT2_DEVICE== | ||
Über MQTT2_CLIENT wird zunächst die Verbindung zum Broker auf dem Victron Venus Gerät angelegt. (Hier ist die IP noch anzupasssen.) | |||
defmod venus MQTT2_CLIENT 10.1.x.x:1883 | |||
attr venus autocreate complex | |||
attr venus clientOrder MQTT_GENERIC_BRIDGE MQTT2_DEVICE | |||
attr venus room MQTT2_DEVICE | |||
attr venus verbose 4 | |||
Das Wechselrichter wird dann als MQTT2_DEVICE angelegt: | |||
defmod MQTT2_mp2 MQTT2_DEVICE venus | |||
attr MQTT2_mp2 IODev venus | |||
===== Aufbau der Topics von Victron ===== | |||
Jede Installation ''Venus'' gibt sich eine vrm_ID, die initial aus der Hardwareadresse abgeleitet wird. Über diese ID wird die Installation auf dem [https:///vrm.victronenergy.com Victron VRM Portal] erkannt. In den Beispielen unten taucht sie als <vrm_ID> auf. Die einzelnen Geräte einer Installation erhalten Nummern, die eine Unterscheidung auch mehrerer Wechselrichter (etwa im 3-Phasenbetrieb) oder mehrerer Solarlader ermöglichen. | |||
Nach Verbindung erscheint eine umfangreiche readingList, aus der hier nur einige Elemente verwendet werden. | |||
* system - Konfiguration des Gesamtsystems bzw. konsolidierte Werte | |||
* solarcharger - MPPT-DC-Lader, Anschluß VE-Direct (seriell, baut auf RS-485) , Wartung per Bluetooth und App | |||
* grid - [https://www.victronenergy.com/accessories/energy-meter Stromzähler] , Anschluß über RS-485 / wahlweise Ethernet | |||
* vebus - Wechselrichter, Anschluß über Cat5, serielles Protokoll | |||
N/<vrm_ID>/system/0/Batteries:.* { json2nameValue($EVENT, 'Batteries_', $JSONMAP) } | |||
N/<vrm_ID>/solarcharger/290/Yield/Power:.* { json2nameValue($EVENT, 'PVPower_', $JSONMAP) } | |||
N/<vrm_ID>/grid/30/Ac/Power:.* { json2nameValue($EVENT, 'GridPower_', $JSONMAP) } | |||
N/<vrm_ID>/vebus/288/Ac/Out/P:.* { json2nameValue($EVENT, 'P_', $JSONMAP) } | |||
N/<vrm_ID>/system/0/SystemState/State:.* { json2nameValue($EVENT, 'State_', $JSONMAP) } | |||
N/<vrm_ID>/vebus/288/Mode:.* { json2nameValue($EVENT, 'Mode_', $JSONMAP) } | |||
===== Topics zum Schreiben ===== | |||
Einige Enstellungen sind schreibbar. Die entsprechenden Topics beginnen mit einem W. Eine setList kann beispielsweise so aussehen und erlaubt dann | |||
* An- und Abschalten | |||
* Inverter- und Charger Mode | |||
* Mode: Betriebszustand | |||
* CurrentLimit: max. Strom aus/in das Netz | |||
* MinimumSocLimit: Entladegranze im ESS (Speicher-)Betrieb, solange das Netz anliegt | |||
* Relay[0|1]: Schalte interne Relais | |||
Eine einfache Setlist: | |||
off W/<vrm_ID>/vebus/288/Mode {"value":4} | |||
on W/<vrm_ID>/vebus/288/Mode {"value":3} | |||
inv W/<vrm_ID>/vebus/288/Mode {"value":2} | |||
chg W/<vrm_ID>/vebus/288/Mode {"value":1} | |||
Mode W/<vrm_ID>/vebus/288/Mode {"value":$EVTPART1} | |||
GridCurrentLimit W/<vrm_ID>/vebus/288/Ac/In/1/CurrentLimit {"value":$EVTPART1} | |||
MinSOC W/<vrm_ID>/settings/0/Settings/CGwacs/BatteryLife/MinimumSocLimit {"value":$EVTPART1} | |||
Relay0 W/<vrm_ID>/system/0/Relay/0/State:.* {"value":$EVTPART1} | |||
Relay1 W/<vrm_ID>/system/0/Relay/1/State:.* {"value":$EVTPART1} | |||
== Visualisierung == | |||
'''stateFormat''' kann so aussehen: | |||
SSOC Batteries_value_1_soc, | SSOC Batteries_value_1_soc, | ||
SOC: Batteries_value_1_soc % (MinimumSocLimit_value), | SOC: Batteries_value_1_soc % (MinimumSocLimit_value), | ||
Zeile 15: | Zeile 64: | ||
SSOC wird später für das devStateIcon genutzt. | SSOC wird später für das devStateIcon genutzt. | ||
Das devStateIcon bietet einen ersten Blick auf den Ladestand: | Das '''devStateIcon''' bietet einen ersten Blick auf den Ladestand: | ||
SSOC\s[2|3|4].+:measure_battery_25 | SSOC\s[2|3|4].+:measure_battery_25 | ||
SSOC\s[5|6].+:measure_battery_50 | SSOC\s[5|6].+:measure_battery_50 | ||
Zeile 23: | Zeile 72: | ||
Derzeit existiert noch kein Template, aber das kann sich ja ändern. | Derzeit existiert noch kein Template, aber das kann sich ja ändern. | ||
== | == Externe Links == | ||
* [https://www.victronenergy.com/support-and-downloads/technical-information Victron Technical Info] | |||
* [https://vrm-api-docs.victronenergy.com/#/ VRm API] | |||
* [https://github.com/victronenergy/dbus-mqtt Venus MQTT Broker] | |||
Aktuelle Version vom 29. Januar 2023, 11:55 Uhr
Übersicht
Die Familie der Solarlade und -speichergeräte von Victron verwenden verschiedene Bussysteme, um untereinander zu kommunizieren. Sehr angenehm ist, daß die zentrale Steuerung namens Venus (Victron ENergy Unix System :-) frei verfügbar ist, und gern auf einem RaspberryPi läuft. Integriert ist gleich ein MQTT Server (mit und ohne SSL), der die Meßwerte der angeschlossenen Geräte - und das sind viele - per MQTT anbietet.
Victron ist generell gut dokumentiert: https://www.victronenergy.com/support-and-downloads/technical-information
Einbindung in fhem als MQTT2_DEVICE
Über MQTT2_CLIENT wird zunächst die Verbindung zum Broker auf dem Victron Venus Gerät angelegt. (Hier ist die IP noch anzupasssen.)
defmod venus MQTT2_CLIENT 10.1.x.x:1883 attr venus autocreate complex attr venus clientOrder MQTT_GENERIC_BRIDGE MQTT2_DEVICE attr venus room MQTT2_DEVICE attr venus verbose 4
Das Wechselrichter wird dann als MQTT2_DEVICE angelegt:
defmod MQTT2_mp2 MQTT2_DEVICE venus attr MQTT2_mp2 IODev venus
Aufbau der Topics von Victron
Jede Installation Venus gibt sich eine vrm_ID, die initial aus der Hardwareadresse abgeleitet wird. Über diese ID wird die Installation auf dem Victron VRM Portal erkannt. In den Beispielen unten taucht sie als <vrm_ID> auf. Die einzelnen Geräte einer Installation erhalten Nummern, die eine Unterscheidung auch mehrerer Wechselrichter (etwa im 3-Phasenbetrieb) oder mehrerer Solarlader ermöglichen.
Nach Verbindung erscheint eine umfangreiche readingList, aus der hier nur einige Elemente verwendet werden.
- system - Konfiguration des Gesamtsystems bzw. konsolidierte Werte
- solarcharger - MPPT-DC-Lader, Anschluß VE-Direct (seriell, baut auf RS-485) , Wartung per Bluetooth und App
- grid - Stromzähler , Anschluß über RS-485 / wahlweise Ethernet
- vebus - Wechselrichter, Anschluß über Cat5, serielles Protokoll
N/<vrm_ID>/system/0/Batteries:.* { json2nameValue($EVENT, 'Batteries_', $JSONMAP) } N/<vrm_ID>/solarcharger/290/Yield/Power:.* { json2nameValue($EVENT, 'PVPower_', $JSONMAP) } N/<vrm_ID>/grid/30/Ac/Power:.* { json2nameValue($EVENT, 'GridPower_', $JSONMAP) } N/<vrm_ID>/vebus/288/Ac/Out/P:.* { json2nameValue($EVENT, 'P_', $JSONMAP) } N/<vrm_ID>/system/0/SystemState/State:.* { json2nameValue($EVENT, 'State_', $JSONMAP) } N/<vrm_ID>/vebus/288/Mode:.* { json2nameValue($EVENT, 'Mode_', $JSONMAP) }
Topics zum Schreiben
Einige Enstellungen sind schreibbar. Die entsprechenden Topics beginnen mit einem W. Eine setList kann beispielsweise so aussehen und erlaubt dann
- An- und Abschalten
- Inverter- und Charger Mode
- Mode: Betriebszustand
- CurrentLimit: max. Strom aus/in das Netz
- MinimumSocLimit: Entladegranze im ESS (Speicher-)Betrieb, solange das Netz anliegt
- Relay[0|1]: Schalte interne Relais
Eine einfache Setlist:
off W/<vrm_ID>/vebus/288/Mode {"value":4} on W/<vrm_ID>/vebus/288/Mode {"value":3} inv W/<vrm_ID>/vebus/288/Mode {"value":2} chg W/<vrm_ID>/vebus/288/Mode {"value":1} Mode W/<vrm_ID>/vebus/288/Mode {"value":$EVTPART1} GridCurrentLimit W/<vrm_ID>/vebus/288/Ac/In/1/CurrentLimit {"value":$EVTPART1} MinSOC W/<vrm_ID>/settings/0/Settings/CGwacs/BatteryLife/MinimumSocLimit {"value":$EVTPART1} Relay0 W/<vrm_ID>/system/0/Relay/0/State:.* {"value":$EVTPART1} Relay1 W/<vrm_ID>/system/0/Relay/1/State:.* {"value":$EVTPART1}
Visualisierung
stateFormat kann so aussehen:
SSOC Batteries_value_1_soc, SOC: Batteries_value_1_soc % (MinimumSocLimit_value), Bat: Batteries_value_1_power W, PV: PVPower_value W, ACin: GridPower_value W, ACout2: P_value W, State: State_value, Mode: Mode_value
SSOC wird später für das devStateIcon genutzt.
Das devStateIcon bietet einen ersten Blick auf den Ladestand:
SSOC\s[2|3|4].+:measure_battery_25 SSOC\s[5|6].+:measure_battery_50 SSOC\s[7|8].+:measure_battery_75 SSOC\s[9].+:measure_battery_100
Derzeit existiert noch kein Template, aber das kann sich ja ändern.