Victron VRM API Integration für Home Assistant

Victron VRM API

Victron VRM API Integration für Home Assistant



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: Berichtet hier im Thema gerne über eure Erfahrungen und/oder Fragen die ihr habt. Ich freue mich auf euer Feedback.

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, PV Inverter, Tank und SolarCharger auslesen. Außerdem erhaltet ihr die Gesamtstatistiken für Tag, Woche, Monat und Jahr von Solar, Netz, und Total.

Ich arbeite daran, weitere Daten von der Victron-API abzurufen. Leider ist der Intervall der API auf 5min begrenzt, obwohl die API eigentlich laut Doku schnellere Abfragen zulässt. (sollte inzwischen bei Verbraucher ca. bei 1min liegen)

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

Übersicht Geräte

Device Type Number of Sensors
Battery 11
MultiPlus 11
PV Inverter 16
Tank 6
Solar Charger 7
Overall Stats 16
Total 67

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 Battery Power (Calculated) W Current Power (V*A)
Battery Battery to Consumers (Today) Bc kWh Energy to Load (Today)
Battery Battery to Grid (Today) Bg kWh Energy to Grid (Today)
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 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)
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
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)

(Die Overall Stats Entities werden für Perioden Today, Week, Month and Year erstellt.)


:check_mark: Voraussetzungen

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

  • 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

hacs_badge GitHub release GH-code-size HACS validation
Pictures of Devices inside the Ingration





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 can add more instance ids separated by comma (100, 101, 102)
  • You get Data from your 1Ph or 3Ph PV-Inverter. With 3Ph you get some more Sensors.
7 „Gefällt mir“

Teste ich die Tage mal aus…
Danke für die Arbeit…

Funktioniert auf jeden fall schonmal :upside_down_face:

1 „Gefällt mir“

Das ist schön zu sehen. :slight_smile: Am Wochenende kommt hoffentlich auch update auf ver_1.3 heraus, arbeite daran.

1 „Gefällt mir“

Im Moment kann ich eh nicht richtig testen…
Habe mein Multi auf OFF und die Batterie aus…
Es kommt einfach nicht genug, das verschwindet einfach so im Haus :rofl:
Verschattung und Wetter sind zu dolle…
Der Akku läd alle 2 Tage aus dem Netz nach, das muss echt nicht sein.

Das geht mir nicht anders hier. Das bisschen was kommt, geht direkt ins Haus. Zum Glück habe ich den 10kWh Akku ziemlich voll, daher kann ich immer mal testen. :slight_smile:

Die Daten kommen ja aus dem Victron Portal über die API, von daher sollten die Werte auch immer stimmen.

Ich habe 9,6kWh (4x2,4) Die sind jetzt bei 74%
So habe ich notfalls noch was, wenn der Strom ausfallen sollte…

Kommt man so auch an die Werte von den Zählern ran?

Ja gute Taktik und der Akku soll ja bei längerer „Nichtnutzung“ auch lieber voller als leerer sein.

Daran versuche ich mich gerade! Das ist leider etwas komplizierter wie es aussieht. Muss ich mir die Woche noch genauer anschauen. Ist aber auf jeden Fall der Plan.

1 „Gefällt mir“

Den SOC sollte man so zwischen 50 - 70% einstellen und dort gehalten werden wenn über längere Zeit zu wenig vom Dach kommt. Bei mir ist er auf 50% eingestellt und bewegst sich immer im Bereich von 50 - 100% So habe ich das schon seit Jahren so laufen, In der Sonnigen Zeit ist er auf 20% eingestellt.

1 „Gefällt mir“

Was mir gestern auf gefallen ist, dass mir bei der ESS Anlage mit einem MP2 die MP2 Temperatur angezeigt wird und bei der OffGrid Anlage mit 3 x MP2 nicht!

Multipius 48/3000 ESS

Multiplus 48/5000 OffGrid

Interessant, wie sieht das bei dir im VenusOS aus, drei Geräte für drei Multiplus?
Du hast eine Multiplusinstance in der Integration hinterlegt, aber welche?

Versuche mir das gerade irgendwie zu erklären. Die Daten der drei werden im VenusOS zusammengefasst dargestellt, oder nicht. Könnte mir vorstellen, dass das VenusOS nicht weiß, welchen Temperaturwert es von den drei Multiplus verwenden soll und zeigt daher unbekannt an. Die anderen Daten werden ja fortlaufend gegeneinander verrechnet und als Wert dargestellt. Mhh, muss ich mal noch grübeln, woran das liegen kann.

@bjoerg
Kannst du mal schauen ob bei dir eine Multiplus Temperatur angezeigt wird so wie auf dem ersten Bild oben von mir zu sehen?
@jayjojayson Hast du den Temperatur Wert?
Habe jetzt geschaut egal ob im VRM oder auch in VenusOS finde ich die MP2 Temperatur nicht.

Ja bei mir wird dort eine Temperatur angezeigt, habe nochmal schnell nur im Code geschaut und dort wird auch wirklich über die ID521 die Temperatur ausgelesen. VRM Portal kann ich erst zu Hause kontrollieren.

"multi_temp": ("521", "MultiPlus Temperature", SensorDeviceClass.TEMPERATURE, SensorStateClass.MEASUREMENT, "°C", "mdi:thermometer"),

Überall wo nur ein MP2 in betrieb ist und es ein ESS System ist! Mal schauen was Jörg noch dazu sagt!

Ich habe 1 Multi+2 und die Temperatur wird angezeigt.

Im VRM Portal kann ich nirgendwo eine Temperatur vom Multi+2 sehen..

1 „Gefällt mir“

Ok Danke für die Info, dann so wie es aussieht wird die nur bei 1 Ph System angezeigt und bei einem 3 Ph System nicht.
Vllt ist noch wer hier der auch ein 3 Ph ESS System hat und kann schauen ob dort die MP2 Temperatur angezeigt wird!

Bei mir wird im VenusOS die Temp vom Multiplus über ein custom Widget angezeigt.

Das kann gut sein, mit dem 1Ph System. Er wird im VenusOS die Werte vom Multiplus bei einem 3Ph System fortlaufend verrechnen. Die Temperarturen kann er aber nicht verrechnen und sich nicht für eine Temperatur entscheiden, daher wird einfach überhaupt keine angezeigt.

Dewegen auch mein Fragen vorhin:

Interessant, wie sieht das bei dir im VenusOS aus, drei Geräte für drei Multiplus?
Du hast eine Multiplusinstance in der Integration hinterlegt, aber welche?

Sorry musste vorher weg und hab das dann überlesen gehabt! Es wird nur ein Gerät angezeigt wohl es auch drei im System sind, sowohl in der Konsole wir auch im VRM.
So sieht es im VRM in der Geräteliste aus!

1 „Gefällt mir“

Ok, super das bestätigt meine beschriebene Theorie. Die Temperatur wird dann einfach nicht anzeigt. VenusOS könnte nur einen Mittelwert der drei MultiPlus berechnen und anzeigen. Da das nicht bringt, wird wohl überhaupt nichts angezeigt.

Man könnte die MP2 mit Tempo Sensoren ausstatten, was ich schon mal überlegt habe wegen Sommer und damit zusätzliche Lüfter damit steuern.

Bitte hier geht es jetzt nicht um die Temp. Sensoren sonder um die VRM API warum bei dem 1 Ph ESS System die Temp der MP2 angezeigt wird und warum bei einem 3Ph System nicht.
Da geht es um die Weiterentwicklung was @jayjojayson hier macht und soll zur Fehlerfindung hier sein.

3 „Gefällt mir“