Victron VRM API Integration für Home Assistant

Victron VRM API

Victron VRM API Integration für Home Assistant


Es gibt hier bestimmt auch ein paar Home-Assistant Nutzer. Ich bin stolz euch meine erste Integration vorstellen zu können. Es hat doch einiges an Arbeit gekostet, aber das Ergebnis schaut wirklich schon gut aus und ich mache das schließlich auch alles nur in meiner Freizeit. :slight_smile:

Diese Integration nutzt das Victron VRM-Portal, um Daten von der API abzurufen. Alles was ihr dafür braucht, sind ein paar Zahlen aus eurem VRM Portal. Aktuell könnt ihr Daten von Batterie, MultiPlus, Grid, PV Inverter, Tank und SolarCharger auslesen. Außerdem erhaltet ihr die Gesamtstatistiken für Tag, Woche, Monat und Jahr von Solar, Netz, und Total sowie die Geräteinformationen der hinterlegten Geräte.

Perfekt geeignet für Offgrid-Lösung wie Boot, Caravan, Wohnmobil, Garten usw, halt überall dort wo keine ständige Verbindung zu HA besteht.

Wenn euch die Integration gefällt, würde ich mich über eine Sternebewertung im github :star: freuen. :hugs:

VRM API unterstützte Geräte und Sensoren

Overview Devices

Device Type Number of Sensors
Battery 34
MultiPlus 12
Grid Meter 10
PV Inverter 17
Tank 6
Solar Charger 7
System Overview 5
Overall Stats 20
Total 111

Sensor Details

Device Type Sensor Name VRM ID / Key Unit Description
Battery State of charge 51 % State of Charge (SOC)
Battery Voltage 47 V Battery Voltage
Battery Current 49 A Battery Current
Battery Consumed Amphours 50 Ah Consumed Amphours
Battery Time to go 52 h Time to go until empty
Battery Battery Temperature 115 °C Battery Temperature
Battery Minimum Cell Voltage 173 V Minimum Cell Voltage (BMS)
Battery Maximum Cell Voltage 174 V Maximum Cell Voltage (BMS)
Battery Cell Voltage Difference (Calculated) V Cell Voltage Difference
Battery Battery Power (Calculated) W Current Power (V*A)
Battery Battery Charge Cycles 58 - Full Charge Cycles
Battery Battery to Consumers (Today) Bc kWh Energy to Load (Today)
Battery Battery to Grid (Today) Bg kWh Energy to Grid (Today)
Battery Low voltage alarm 119 - Low voltage alarm
Battery High voltage alarm 120 - High voltage alarm
Battery Low starter-voltage alarm 121 - Low starter-voltage alarm
Battery High starter-voltage alarm 122 - High starter-voltage alarm
Battery Low state-of-charge alarm 123 - Low state of charge
Battery Low battery temperature alarm 124 - Battery temperature too low
Battery High battery temperature alarm 125 - Battery temperature too high
Battery Mid-voltage alarm 126 - Mid-voltage anomaly
Battery Low fused-voltage alarm 155 - Low fused voltage
Battery High fused-voltage alarm 156 - High fused voltage
Battery Fuse blown alarm 157 - Fuse blown
Battery High internal-temperature alarm 158 - Internal temperature alarm
Battery Cell imbalance alarm 286 - Cell imbalance detected
Battery High charge current alarm 287 - Charge current too high
Battery High discharge current alarm 288 - Discharge current too high
Battery Internal failure 289 - Internal failure detected
Battery High charge temperature alarm 459 - Charge temperature too high
Battery Low charge temperature alarm 460 - Charge temperature too low
Battery Low cell voltage 522 - Low cell voltage
Battery Charge blocked 739 - Charging blocked (BMS)
Battery Discharge blocked 740 - Discharging blocked (BMS)
MultiPlus AC Input Voltage L1 8 V AC Input Voltage Phase 1
MultiPlus AC Input Power L1 17 W AC Input Power Phase 1
MultiPlus AC Output Voltage L1 20 V AC Output Voltage Phase 1
MultiPlus AC Output Power L1 29 W AC Output Power Phase 1
MultiPlus DC Bus Voltage 32 V DC Bus Voltage
MultiPlus DC Bus Current 33 A DC Bus Current
MultiPlus VE.Bus State 40 - Operating State (e.g., Inverting)
MultiPlus MultiPlus Temperature 521 °C Device Temperature
MultiPlus DC Bus Power (Calculated) W Current DC Power (V*A)
MultiPlus System State of Charge 144 % System-calculated state of charge (replaces internal MultiPlus SOC)
MultiPlus Grid to Consumers (Today) Gc kWh Energy from Grid to Load (Today)
MultiPlus Grid to Battery (Today) Gb kWh Energy from Grid to Battery (Today)
Grid Meter Grid L1 Voltage 834 V Voltage on grid meter phase L1
Grid Meter Grid L1 Current 835 A Current on grid meter phase L1
Grid Meter Grid L1 Power 379 W Power on grid meter phase L1.
Grid Meter Grid L2 Voltage 837 V Voltage on grid meter phase L2
Grid Meter Grid L2 Current 838 A Current on grid meter phase L2
Grid Meter Grid L2 Power 380 W Power on grid meter phase L2
Grid Meter Grid L3 Voltage 840 V Voltage on grid meter phase L3
Grid Meter Grid L3 Current 841 A Current on grid meter phase L3
Grid Meter Grid L3 Power 381 W Power on grid meter phase L3.
Grid Meter Grid Total Power (Calculated) W Sum of power across all three phases (L1+L2+L3)
PV Inverter L1 Voltage 203 V Voltage Phase 1
PV Inverter L1 Current 204 A Current Phase 1
PV Inverter L1 Power 205 W Power Phase 1
PV Inverter L1 Energy 206 kWh Energy Yield Phase 1 (Total)
PV Inverter L2 Voltage 207 V Voltage Phase 2
PV Inverter L2 Current 208 A Current Phase 2
PV Inverter L2 Power 209 W Power Phase 2
PV Inverter L2 Energy 210 kWh Energy Yield Phase 2 (Total)
PV Inverter L3 Voltage 211 V Voltage Phase 3
PV Inverter L3 Current 212 A Current Phase 3
PV Inverter L3 Power 213 W Power Phase 3
PV Inverter L3 Energy 214 kWh Energy Yield Phase 3 (Total)
PV Inverter Status 246 - Status Code
PV Inverter PV to Consumers (Today) Pc kWh Energy from PV to Load (Today)
PV Inverter PV to Battery (Today) Pb kWh Energy from PV to Battery (Today)
PV Inverter PV to Grid (Today) Pg kWh Energy from PV to Grid (Today)
PV Inverter PV Total Today (Calculated) kWh Total PV Yield Today (Pc+Pb+Pg)
Tank Capacity 328 Tank Capacity
Tank Type 329 - Fluid Type
Tank Level 330 % Fluid Level in Percent
Tank Remaining 331 Remaining Fluid Volume
Tank Status 443 - Tank Status (e.g., OK)
Tank Custom Name 638 - User Defined Name
Solar Charger Battery Watts 107 W Charging Power to Battery
Solar Charger Battery Voltage 81 V Battery Voltage
Solar Charger Charge State 85 - Charger State (e.g., Bulk, Float)
Solar Charger Battery Temperature 83 °C Battery Temperature (external)
Solar Charger Yield Today 94 kWh Energy Yield Today
Solar Charger Yield Yesterday 96 kWh Energy Yield Yesterday
Solar Charger Relay Status 90 - Relay State
System Overview Infos for each Device - - Detailed Infos for each Device
System Overview ESS Battery Life State 332 - Current status of the BatteryLife algorithm (e.g., “Self-consumption”, “BL Disabled”)
System Overview ESS Battery Life SOC Limit 333 % Dynamic SOC limit currently set by BatteryLife
System Overview ESS Minimum SOC 334 % User-defined minimum SOC (when grid is available)
System Overview ESS Scheduled Charging 469 - Status of scheduled charging (e.g., “Active”, “Not active”)
Overall Stats * Batteries Total Power vrm_batteries_power_total W Total Batteries Power
Overall Stats * PV Inverter Total Power vrm_pv_inverters_power_total W Total PV Inverter Power
Overall Stats * Solar Charger Total Power vrm_solar_chargers_power_total W Total Solar Charger Power
Overall Stats * DC Loads vrm_dc_loads W Calculated DC Loads (MP, PV, Battery)
Overall Stats * Total Solar Yield total_solar_yield kWh Total PV Yield (for selected period)
Overall Stats * Total Consumption total_consumption kWh Total Consumption (for selected period)
Overall Stats * Grid Energy In grid_history_from kWh Energy from Grid (for selected period)
Overall Stats * Grid Energy Out grid_history_to kWh Energy to Grid (for selected period)

(The Overall Stats Entities are build for Periods Today, Week, Month and Year.)


:check_mark: Voraussetzungen

  • VRM-Zugriffstoken (bitte geheim halten!). Erstelle eines im VRM-Portal unter Einstellungen > Integrationen > Zugriffstoken.

  • Deine Side_ID

  • Instanz Nummer von Battery, Multiplus und PV Inverter

    "How to" - Site_ID, Instanz Nummer, Token


:inbox_tray: Installation der Integration

:right_arrow: HACS

  • Folge einfach dem Link, um dieses Repository in HACS zu integrieren.
    Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.
  • Gehe zu EinstellungenGeräte und DiensteIntegration.
  • Klicke auf Integration hinzufügen.
  • Suche nach victron vrm api oder kurz vrm.
  • Gebe deine Side_ID, dein Token und
    deine Instance_ID für Battery, Multiplus und PV Inverter ein.

:right_arrow: Manual

  • Lade die neueste Version herunter.
  • Kopiere den Ordner victron-vrm-api in dein custom_components Ordner von Home Assistant.
  • Starte Home Assistant neu.
  • Gehe zu EinstellungenGeräte und DiensteIntegration.
  • Klicke auf Integration hinzufügen.
  • Suche nach victron vrm api oder kurz vrm.
  • Gebe deine Side_ID, dein Token und
    deine Instance_ID für Battery, Multiplus und PV Inverter ein.

:white_check_mark: So sollte es aussehen in HA

Q&A
  • Configuration Menu, if the instance number for Battery, Multiplus or PV Inverter is set to 0, then no device will be added!
    (Example, if you have no Battery, then you don`t need the empty Device in HA.)
  • You get the Temperature value with a 1PH Multiplus Setup. With 3Ph Multiplus Setup you dont get this Sensor.
  • You get Data from your 1Ph or 3Ph PV-Inverter. With 3Ph you get some more Sensors.
3 Likes

Hallo Ich verwende auch HomeAssistant, und habe lange Zeit mir die Daten manuell über MQTT-Sensoren ins System gezogen. Dies hat auch ganz gut funktioniert, ist aber ein ganz schön hoher Aufwand. Von daher begrüße ich jede Integration, welche mir die Arbeit abnimmt.
ABER, warum den Umweg über VRM? Bei einem Internetausfall hat man ja dann kein Zugriff mehr.
Seit ein paar Monaten gibt es im HACS die “Victron Venus MQTT Integration for Home Assistant”. Dies lässt sich schnell einrichten und funktioniert bestens mit allen Werten, welche vom MQTT zur Verfügung gestellt werden, was wohl alle sind.
Wenn es dir nur auf einen Integration von Victron in HA ankommt, kann ich sie dir nur empfehlen.

Sorry no german, im using the home assistant hacs victron gx modbus integration for a few years now, its fast and reliable

Wondering if you tried that? And what is different with your approach? Just out of interest!

Hi, erstmal Hallo in die Runde. Ich gebe euch vollkommen Recht, die lokale Integration ist immer besser und auch schneller! Ich selber nutze Modbus für die Integration in HA und habe das selber ohne eine Integration über die Modbus Integration von HA gelöst. So bekomme ich auch wirklich nur die Daten die brauche.

Die Integration dient mehr der Vervollständigung. Aktuell gibt es für HA die Integration über MQTT, Modbus und jetzt halt auch die API. Von Home Assistant gibt es auch eine offizielle Victron API Integration, aber die liefert nur irgendwelche Vorhersagewerte, daher wollte ich vielleicht einen Anstoß geben, was man noch so machen könnte. :slight_smile: Außerdem liefert sie auch gute Werte wie die OverAll Stats, die man so über modbus und mqtt nicht bekommt soweit ich weiß.

@DuivertNL Hi, i using modbus also, but not the victron modbus integration. i have setup my own modbus register with the offical Mobus Intgration of Home Assistant. The advantage is, that i only get Data that i want. My Integration is more to expand and complete something. The Home Assistant Team has released a offical Victrom Remote Monitoring Integration, that uses the api too. But you only get boring data, like forecast, no real Data of your Installation. So i decided to do something and maybe the HA-Team is seeing it, to make their Integration better.

Also you get some data like OverAll Stats, that you dont get from modbus oder mqtt i think. And I`m focusing on the important Data of the Installation.

4 Likes

Hey! Danke für die Integration!

Bitte in die Doku aufnehmen, dass SiteID=”VRM-Installations-ID” und nicht VRM-Portal ID ist (war mein Fehler).

Wie müsste man die MPPTs angeben? Ich habe 2x davon, als PV Inverter kann ich die beide nicht eingeben. Und es ist ja auch kein Inverter.

Andere Sensoren wie Temperatur und Tankanzeige wären auch cool. Sag bescheid wenn ich unterstützen kann.

Ach, und noch etwas: Spannungen wurden bei mir ohne Nachkommastellen angelegt. Etwas ungünstig, weil man für die Zellspannungen 3 Nachkomastellen braucht und für die Gesamtspannung auch am besten 2.
(Beispiel ohne Gewähr: home-assistant-futurehome/futurehome/src/services/_meter.ts at ce36669587090bfb5e9d57ceb5fa083c40e37d7a · adrianjagielak/home-assistant-futurehome · GitHub)

P.S. ich nutze diese Integration, weil Victron im Wohnwagen installiert und somit kein direkten Kontakt mit lokalem Home Assistant hat.

Viele Grüße

Eugen

1 Like

Hi Eugen, freut mich zu hören.. :slight_smile: Und das ist in der Tat ein sehr guter Anwendungsfall für meine API Integration. Daran hatte ich so noch nicht gedacht.

Die Nachkommastellen, kannst du einfach in HA anpassen. Sensor anklicken und dann die Anzeigegenauigkeit auf 2 Nachkommastellen erhöhen.

An der Möglichkeit mehrere Geräte zu hinterlegen, arbeite ich gerade.
Solar Charger (MPPTs) hatte ich so noch nicht auf dem Schirm, aber ich werde sehen, dass ich auch die hinzufüge.
Für den Tank hatte ich in der API schon etwas gesehen, aber nicht weiter beachtet. Werde ich auch hier versuchen Daten abzugreifen. Ich kann aber beides nicht testen, weil ich nur mit Multiplus arbeite und auch keinen Tank habe. Das müsstest du dann testen und mir Feedback geben. :slight_smile:

1 Like

Ja, schon gemacht, wundert mich nur, dass beim Strom 2 Nachkommastellen sind (da wird aber nicht so genau gemessen), dafür bei Spannungen gar keine.

Gerne. Sag bescheid wenn ich schon vorm Testen helfen kann

1 Like

Hi, ging soweit eigentlich ziemlich gut. :slight_smile: Neue Version ist raus und habe die API Abfragen für Solar-Charger und Tank hinzugefügt. Bitte einmal testen und Feedback geben. Ein paar Screenshots wären auch super. Nach dem Update musst du HA neu starten, dann die Integration löschen und im Anschluss direkt wieder neu installieren! Ich habe bisher noch kein Menü für die nachträgliche Neukonfiguration gebaut, daher dieser Umweg.

1 Like

SUPER!
Tank:

MPPT:

Gibt es da PV Spannung und PV Leistung (bzw. Strom)? VRM Portal hat’s:

Und ich kann nicht beide MPPTs einbinden. Hier wäre die Idee einfach mit Kommagetrennt die IDs eingeben.

So in etwa wie hier implementiert GitHub - BJReplay/ha-solcast-solar: Solcast Integration for Home Assistant :
image

EDIT:
Logs:
Logger: homeassistant.helpers.frame
Quelle: helpers/frame.py:395
Erstmals aufgetreten: 09:34:39 (22 Vorkommnisse)
Zuletzt protokolliert: 10:14:31

  • Detected code that calls `device_registry.async_get_or_create` referencing a non existing `via_device` (‘victron_vrm_api’, ‘84xxxx’), with device info: {‘identifiers’: {(‘victron_vrm_api’, ‘84xxxx_battery’)}, ‘manufacturer’: ‘Victron VRM API’, ‘model’: ‘instance_id 512’, ‘name’: ‘Battery’, ‘via_device’: (‘victron_vrm_api’, ‘84xxxx’)}. This will stop working in Home Assistant 2025.12.0, please report this issue

Logger: homeassistant.components.sensor
Quelle: components/sensor/_init_.py:596
Integration: Sensor (Dokumentation, Probleme)
Erstmals aufgetreten: 09:47:59 (3 Vorkommnisse)
Zuletzt protokolliert: 10:14:29

Entity sensor.vrm_remaining (<class ‘custom_components.victron_vrm_api.sensor.VrmTankSensor’>) is using state class ‘measurement’ which is impossible considering device class (‘volume’) it is using; expected None or one of ‘total’, ‘total_increasing’; Please update your configuration if your entity is manually configured, otherwise create a bug report at GitHub · Where software is built

Hi, habe nur kurz überlesen, kann erst heute Abend genauer schauen.
Das schaut doch schon einmal super aus. :slight_smile: In der Api Total Abfrage für den SolarCharger sind die Werte für PV Spannung und PV Leistung nicht enthalten. Muss ich mir anschauen, wo man die eventuell herbekommt.

An der Funktion mehrere Geräte zu hintelegen arbeite ich wie gesagt, aber eins nach dem anderen. Wollte jetzt erstmal sehen, dass die neuen Geräte korrekt funktionieren. Danke für das Feedback.

Den Fehler schaue ich mir auch an, der sollte schnell behoben sein für den nächsten Release.

2 Likes

Hallo

Das geht ja schon mal sehr gut voran.

Das mit der Einbindung der Solar Laderegler hat mir schon sehr weitergeholfen.

Panelspannung wäre cool.

Ich werde morgen noch einige Temperatur Sensoren an den Gpios am Venus Pi verbauen. Wenn die dann irgendwann auch in Home Assistant erscheinen wäre es noch cooler! :wink:

Was mir noch fehlen würde, kann man nachträglich die Geräte IDs ändern?

Da ich jetzt mit dem Camper unter der Woche in der Firma Campe ist mir bewusst geworden jetzt im Winter wie wichtig Temperatur und Ladezustand ist!

Aber erstmal einen Herzlichen Dank das du es überhaupt möglich gemacht hast das ich schon mal eine Menge von unterwegs auslesen kann.

1 Like

Guten Morgen, habe gestern Abend noch weitergebaut. Meine Testversion ist vielversprechend. Konnte jedenfalls schon mal meine beiden Batterien integrieren. Dann sollte das bei den anderen Geräten auch funktionieren.

Ich denke mal morgen kommt der neue Release.
Vielleicht bekomme ich das mit dem Menü zum “neu konfigurieren” auch noch hin, aber da sitze ich schon eine Weile dran.
Schönes Weekend für alle.

1 Like

@Marco76 @Eugenius die neue Version ist draußen. Nun können auch mehr Geräte je Instance_ID hinterlegt werden und es gibt nach der Erstkonfiguration die Möglichkeit der erneuten Konfiguration, um IDs anzupassen oder hinzufügen zu können. Ich freue mich über Feedback und Screenshots. :slight_smile:

Die alten Sensoren müssen gelöscht werden, weil die neuen Sensornamen jetzt immer die ID hinten als Anhang haben!

2 Likes

Super. Das Nachträgliche Editieren der Instanz.Id funktioniert super!

Ich habe jetzt auch einige Temperaturen am RPI Venus-OS mittels VenusOS-TemperatureService eingebunden. Diese aben auch unterschiedliche Instanz.ids.

Wäre cool wenn das auch noch kommt :wink:

Oder auch diverse i/o s

Das freut mich zu hören. :slight_smile: Sage mal nutzt du auch mehrere SolarCharger (MPPT)? Kannst du mir da mal Screenshots zeigen, wie das bei dir jetzt aussieht?

Zwecks Temperatur von RPI, den nutze ich nämlich auch, werde ich mich kümmern. Wenn ich aber im bei mir im VRM Portal schaue, sehe ich dort keine hinterlegte instance_id nur eine VRM Portal ID.

Muss doch das Gateway ganz oben sein, aber auch beim aufklappen sehe ich keine ID. Wo hast du dir her?

Ach und btw, ich freue mich über jeden Stern auf github. :slight_smile:

1 Like

Ich benutze nur einen MPPT

1 Like

Danke, läuft!

@Eugenius danke für das Feedback. Und die Entitäten dazu werden auch alle korrekt anzeigt?

@Marco76 Die Temperaturen hast du mit dem VenusOS-TemperatureService eingebunden, daher werden dort dann auch ID vergeben nehme an. Muss mir das mal genauer anschauen.

Da ich die Geräte nicht alle in Benutzung habe, sind solche Feedbacks und Screenshots für mich viel Wert! :slight_smile:

1 Like

Ja, kein Problem. Ich bin sowieso den ganzen Arbeitstag damit beschäftigt irgendwas in Home Assistant zu optimieren oder auszuprobieren.

Seit einer Woche ist Globi der Camper dran :blush:

Ja so bekommt seinen Arbeitstag auch rum.. Geht mir aber teilweise nicht anders. :rofl: