NEWS
UNSOLVED Victron Photovoltaik Anlage Daten für ioBroker auslesen!
-
@dasmoritz prima! Hat Dein Discovergy Zähler eine aktive Info-Schnittslette oder vergleichbares, mit sekündlicher Datenaussendung?
Mein Standardzähler vom Netzbetreiber hat Klasse A mit 3.5% Toleranz. Bei 1kW hat man da schon bis zu 35W, bei Schieflast auch mal 40W.
-
Ich hole den Beitrag noch mal hoch.
Habt ihr das Problem mit der Übergabe der Zählerdaten an das Venus OS gelöst? Bei mir läuft es jetzt. Wenn daran jemand Interesse hat, kann er sich gerne melden. Auf diese Art kann man mehrere Zähler simulieren. -
@mlapp Das klingt sehr gut, Glückwunsch!
Ist das die Übergabe des Hauptzählers des EVU über z.B. smartmeter-Adapter an Victron? -
@klassisch ja genau.
Der bestehende Zähler wird ausgelesen und dann über MQTT an das Venus OS geschickt.
Werte werden etwa alle zwei Sekunden aktuallisiert. -
@mlapp Vielen Dank, das klingt klasse und könnte in einigen Fällen den zickigen Carlo Gavazzi ersetzen. Zumindest wenn man alle Phasen vom Zähler bekommt oder generell nur einphasig arbeitet.
Vermute mal, ein Skript, welches die Daten vom smartmeter Adapter nimmt, umformatiert und per MQTT zur Venus schickt.
Denke, es wäre klasse, wenn Du das bei Gelegenheit hier dokumentieren könntest.
Da ich nur eine kleine Notstromanlage habe, die auch nicht einspeist, habe ich derzeit keinen akuten Bedarf. Aber das Thema ist für die ESS-ler hochinteressant. -
@mlapp ja, gerne mal zeigen wie das geht, also Stromwerte an Venus OS übergeben.
Ich habe noch gar keine Victron Geräte und würde auch gerne den EM24 sparen.
Stromwerte bekomme ich über smartmeter und discovergy.
Funktioniert das verlässlich?
Venus OS kann man auf einem Pi3/4 laufen lassen, korrekt? -
@lobomau sagte in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:
Venus OS kann man auf einem Pi3/4 laufen lassen, korrekt?
Pi4 noch nicht wirklich. Bei mir läuft es auf einem alten Pi2
-
@klassisch danke. Ich sehe, es gibt, wie zu allem, youtube videos darüber. Werde mich mal schlau machen.
Edit: bin ich über den github auf dem richtigen Weg?
Ist es dann auch möglich einen Ubuntu proxmox container dafür zu nehmen?
https://github.com/victronenergy/venus -
@lobomau zum Einstieg. YT "Obenschläfer" und für mehr "Meine Energiewende".
Wenn man CAN nutzen möchte, dann die FW 2.8 (derzeit beta zweig). Da soll die Einbindung der CAN Karte einfacher sein. Mußte dennoch im Victron Forum nachschauen. Da gab es ein Script, welches zumindest für FW 2.8 alle Kopieraktionen durchgeführt hat. -
@klassisch Im Grunde ist es ganz einfach.... wenn man mal alle Teile zusammen getragen hat.
Ich lese mit dem Smartmeter Adapter die Werte aus dem Zähler des Netzbetreibers aus.
Somit stehen sie schon mal im ioBroker zur Verfügung.
Dann gibt es auf Github ein Projekt das einen sdm630 Zähler im System emuliert.
Das findest man auf Github, wenn man nach victron und sdm630 sucht oder einfach hier über diesen Link
Da muss man allerdings den Code etwas anpassen und mit Go neu kompilieren.
Das coole ist, es ist in Go geschrieben und lässt sich auch auf einem Windowsrechner für den Raspi erstellen.
In diesem Projekt ist eigentlich alles ziemlich gut erklärt.
Wenn das Programm dann neu erstellt wurde und auf dem Venus OS läuft, muss man im ioBroker nur noch eine Struktur unter MQTT erstellen.
Die sieht dann so aus:
Topic (z.B Hauszaehler)
---sdm1-1
------Current
---------L1
---------L2
---------L3
------Power
---------L1
---------L2
---------L3
------Voltage
---------L1
---------L2
---------L3
---Import
---Export
wobei Power und Current selbst auch Datenpunkte sein sollten.
Diese müssen dann über ein Script im Broker noch mit Werten gefüllt werden. Der Rest passiert von alleine.
Achso, eins noch. Im Code der Zähleremulation werden negative Werte auf 0 gesetzt. Somit könnte man dem System keine Einspeisewerte mitteilen. Da hab ich die Abfragen einfach raus genommen und übertrage die Werte so, wie sie vom Zähler kommen.
Das coole an der Geschichte ist, dass man im ioBroker-Script die Werte noch manipulieren könnte. So könnte man bei Bezug z.B. immer 50 oder 100Wh mehr übertragen, das hätte dann zur Folge, dass der MP2 auch immer etwas mehr Leistung erzeugt als benötigt wird (wird dann eben eingespeist), auf der anderen Seite hätte man aber auch einen gewissen Puffer um Netzbezug durch Regelträgheit möglichst zu vermeiden.Wenn ihr Fragen habt, kann ich gerne helfen.
Nachtrag: ich hab heute das Auslesen meines Hauptzählers neu gemacht. D.h. ich lese jetzt nicht mehr mit einem eigenen Raspi und einem USB Lesekopf aus sondern mit einem D1 Mini und einem Seriell-IR Lesekopf.
Jetzt kommen die Updates der aktuellen Verbrauchsdaten im Sekundentakt und der zeitliche Versatz liegt bei maximal 0,2 Sekunden. Damit kann ich jetzt perfekt leben. Viel schneller könnte es ein EM24 auch nicht -
@mlapp Vielen Dank für deine Vorarbeit. Meine Zählerdaten liegen bereits von der bestehenden Anlage im ioBroker vor. Diese möchte ich auf die von dir beschrieben Weise gern auf die Venus übertragen. Der Zähler muss ja auf dem Victron System (bei mir ein Raspberry PI 3) emuliert werden, oder? Hast du den Code nur für deine Config angepasst?
Wie hast du die Struktur für deinen Hauszaehler angelegt?
Kannst du vielleicht dein Skript zur Übertragung deiner Werte als Beispiel zur Verfügung stellen?
Vielen Dank für deinen Einsatz.
Ben -
Hi ich hänge hier seit einigen Tagen an dem mqtt fest.
Per modbus habe ich Zugriff auf die Parameter, allerdings wollte ich es per mqtt versuchen. Hier strauchel ich aber. Ich habe am PC mittels mqtt Explorer schonmal alle topics gesehen und das hatte ich jetzt gerne so im iobroker. Keep alive sende ich mittels node Red alle 30sek. Es muss doch möglich sein das er alle topics einliest.
pS mit Node Red fange ich gerade erst an -
@jacke Welche Venus-FW nutzt Du? Ab 2.8 kann man den alive zielgerichteter steuern.
Bei meinem kleinen 800VA Multiplus gibt es aber Daten, die er auf MQTT nicht hat, sondern nur auf Modbus. DVCC Stromvorgabe ist so ein Beispiel.In jenem Thread hat mir @mickym einiges zum Thema MQTT und Victron erklärt.
-
Ist glaube ich 2.84 aber über 2.8
Ich scheitere daran die Datenpunkte anzulegen.
Sagen wir Mal ich möchte den Punkt hinzufügen. Wol lege ich ihn an.
Das einzige was bisher ankommt.
-
Abend,
ich suche den passenden Register um bei MP2 die aktuelle einspeisende Leistungen auszulesen.
Ich hatte zuvor die 442 (Battery Power) verwendet. Aber seitdem ich meine BMS integriert habe, springt dieser Wert extrem.Edit: 866 VE.Bus charge power (System) ?
-
@jacke Ich denke Du verstehst das mqtt Prinzip nicht. Du brauchst einen Broker. Subscriben und Publishen tun nur Clients. Wenn Dein mqtt-Adapter ein Broker ist - subscribed der nichts - sondern Du legst im mqtt Baum einfach die topics an, die Du brauchst. Das Root-Topic ist immer die mqtt.0 hierarchie. Wenn Du Node Red benutzt und den Mqtt Adapter als Broker kannst auch mit den Mqtt-Out Nodes die topics direkt publishen.
Ihr müsst aber selbst wissen auf welche topics Eure Hardware hört und dort published ihr. Eure Hardware subscribed automatisch. Das steht in der Beschreibung zu Eurer Hardware.
-
So funktioniert jetzt. In der Beschreibung stand das SSL verwendet wird.
Ich habe den Haken bei SSL rausgenommen und tada,
Mit # bekomme ich alle Werte oder kann nur bestimmte topics abonnieren.
Aber ja von mqtt habe ich keinen Plan bis zu dieser Woche noch nichts mit am Hut gehabt.
Jemand eine Empfehlung für ein gutes Tutorial, am liebsten in Textform.
Wäre mega wenn der Adapter direkt aus den Strings Objekte machen würde. So muss wieder ein extra Skript her. -
@jacke Wenn Du NodeRed benutzt habe ich einen tollen Subflow für Dich:
https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen
Ein JSON String ist die beste und am wenigsten aufwendige Art Daten zu übertragen. Man kann alles in einzelnen Datenpunkte zerlegen. Das aber zu lassen und die JS Objekte in NodeRed direkt zu verarbeiten hat viele Vorteile, auch wenn es Dir am Anfang kryptischer aussieht. JSON Strings sind zudem ein Standard um Daten zwischen verschiedenen Systemen auszutauschen.
-
@mickym
Vielen Dank das werde ich mir Mal morgen anschauen.Sicherlich wird es seinen Sinn haben das es json Strings sind, ich meine es wurde sich ja anbieten bei einem Adapter für den iobroker das er direkt die Daten im passenden Format ablegt.
Eine. Schönen Sonntag noch. Ich habe heute genug meiner Unwissenheit entdeckt. Meine Siemens Stel7 Welt ist da im Moment noch etwas einfacher.
-
@mickym Die Zerlegung eines JSON Strings siehst Du in dem Thread als 6. Beispiel.
Und ein Adapter der MQTT Nachrichten interpretiert ist kein MQTT-Adapter mehr. Ich bin froh, dass er das nicht tut.