Seite 1 von 2
Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Do Feb 08, 2024 7:30 am
von kai9555
Hallo zusammen,
ich bin am verzweifeln...
Ich versorge meine openWB mit Daten aus meinem Victron (EVU, Speicher und PV). Da ich mittlerweile 3 Wechselrichter im Victron laufen habe, wollte ich diese 3 eben auch separat in openWB übergeben. Jeder Wechselrichter besitz eine eigen ModBus ID, also dachte ich das es funktionieren wird wenn ich in der openWB die entsprechende ID eingebe. In der openWB wird dann allerdings die Summe aller 3 Wechselrichter übergeben, welche ja eigentlich über die ID 100 abgefragt wird.
In der Konsole von VenusOS erhalte ich auch einen Fehler, der von einer Abfrage der openWB (IP 192.168.2.84) produziert wird.
ERROR "Error processing function code 3, unit id 42, start address 789, quantity 1, sc 192.168.2.84: Error finding service with device type solarcharger at device instance
Eventuell hat jemand Input für mich, denn ich stehe gerade etwas auf dem Schlauch. Ich versuche verzweifelt seit längerer Zeit das umzusetzen. Die Wechselrichter sind übrigens im Venus OS über einen NodeRed Flow als virtueller Zähler integriert.
Eine direkte Abfrage der Wechselrichter in openWB ist leider nicht möglich, da von meinem Sungrow SG5.0RT nicht die Wirkleistung, sondern die PV Leistung von der openWB gezogen wird. Somit stimmt weder die Angabe des PV Ertrages, noch die vom Hausverbrauch (da verrechnet wird).
Ich freue mich über jede Anregung.
VG Kai
Edit: 2024-02-08
Der Fehler in der Konsole war scheinbar nur temporär. Nach einem Neustart taucht in der Konsole nun kein Fehler mehr auf, auch das Log des Victron ist sauber.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Do Feb 08, 2024 5:16 pm
von aiole
kai9555 hat geschrieben: ↑Do Feb 08, 2024 7:30 am
Hallo zusammen,
ich bin am verzweifeln...
Das tun nur Leute, die kurz vorm Sterben sind
.
kai9555 hat geschrieben: ↑Do Feb 08, 2024 7:30 am
Ich versorge meine openWB mit Daten aus meinem Victron (EVU, Speicher und PV). Da ich mittlerweile 3 Wechselrichter im Victron laufen habe, wollte ich diese 3 eben auch separat in openWB übergeben. Jeder Wechselrichter besitz eine eigen ModBus ID, also dachte ich das es funktionieren wird wenn ich in der openWB die entsprechende ID eingebe. In der openWB wird dann allerdings die Summe aller 3 Wechselrichter übergeben, welche ja eigentlich über die ID 100 abgefragt wird.
In der Konsole von VenusOS erhalte ich auch einen Fehler, der von einer Abfrage der openWB (IP 192.168.2.84) produziert wird.
ERROR "Error processing function code 3, unit id 42, start address 789, quantity 1, sc 192.168.2.84: Error finding service with device type solarcharger at device instance
Eventuell hat jemand Input für mich, denn ich stehe gerade etwas auf dem Schlauch. Ich versuche verzweifelt seit längerer Zeit das umzusetzen. Die Wechselrichter sind übrigens im Venus OS über einen NodeRed Flow als virtueller Zähler integriert.
Dann würde ich separate Geräte (MQTT) als MQTT-WR anlegen, um sie einzeln in openWB anzeigen zu lassen. Die openWB-ID der Komponente MQTT-WR muss mit den MQTT-WR-Daten aus deinem NR-Flow übereinstimmen.
Alternativ noch einen Versuch wert wäre - neues Victron-Gerät für jeden WR und dort nur die Victron-Komponente "Victron-WR" anzulegen + passende Geräte-ID aus dem Victron-ESS.
Das Schöne an sw2 ist, dass man mit Geräten und Komponenten jonglieren kann.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Do Feb 08, 2024 10:01 pm
von kai9555
Danke für deine Nachricht. Ich bin noch neu im NodeRed und habe noch keine Übergabe über MQTT an openWB konfiguriert. Kannst du mir sagen wie der Flow grundsätzlich aufgebaut werden muss, damit openWB verwertbare Daten erhält? Wie ich die Daten über Modbus Node abrufe ist klar. Die Node zum MQTT senden habe ich auch schon mal konfiguriert. Im MQTT Explorer sehe ich auch, dass Daten z.B. im Topic openWB/set/pv/14/get/exported ankommen. Aber mir ist noch nicht ganz klar wie die Werte dazwischen mit den entsprechenden Nodes aufbereitet werden müssen.
aiole hat geschrieben: ↑Do Feb 08, 2024 5:16 pm
kai9555 hat geschrieben: ↑Do Feb 08, 2024 7:30 am
Hallo zusammen,
ich bin am verzweifeln...
Das tun nur Leute, die kurz vorm Sterben sind
.
kai9555 hat geschrieben: ↑Do Feb 08, 2024 7:30 am
Ich versorge meine openWB mit Daten aus meinem Victron (EVU, Speicher und PV). Da ich mittlerweile 3 Wechselrichter im Victron laufen habe, wollte ich diese 3 eben auch separat in openWB übergeben. Jeder Wechselrichter besitz eine eigen ModBus ID, also dachte ich das es funktionieren wird wenn ich in der openWB die entsprechende ID eingebe. In der openWB wird dann allerdings die Summe aller 3 Wechselrichter übergeben, welche ja eigentlich über die ID 100 abgefragt wird.
In der Konsole von VenusOS erhalte ich auch einen Fehler, der von einer Abfrage der openWB (IP 192.168.2.84) produziert wird.
ERROR "Error processing function code 3, unit id 42, start address 789, quantity 1, sc 192.168.2.84: Error finding service with device type solarcharger at device instance
Eventuell hat jemand Input für mich, denn ich stehe gerade etwas auf dem Schlauch. Ich versuche verzweifelt seit längerer Zeit das umzusetzen. Die Wechselrichter sind übrigens im Venus OS über einen NodeRed Flow als virtueller Zähler integriert.
Dann würde ich separate Geräte (MQTT) als MQTT-WR anlegen, um sie einzeln in openWB anzeigen zu lassen. Die openWB-ID der Komponente MQTT-WR muss mit den MQTT-WR-Daten aus deinem NR-Flow übereinstimmen.
Alternativ noch einen Versuch wert wäre - neues Victron-Gerät für jeden WR und dort nur die Victron-Komponente "Victron-WR" anzulegen + passende Geräte-ID aus dem Victron-ESS.
Das Schöne an sw2 ist, dass man mit Geräten und Komponenten jonglieren kann.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Do Feb 08, 2024 11:00 pm
von aiole
Leider habe ich dafür keine Zeit, da hier andere Themen drängen.
Aber probiere doch zuerst mit der Var. 2, die ich aufgezeigt habe (Nutzung des fertiges Victron-Moduls als einzelne Geräte für jeden WR).
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Fr Feb 09, 2024 5:56 am
von hominidae
kai9555 hat geschrieben: ↑Do Feb 08, 2024 10:01 pm
Die Node zum MQTT senden habe ich auch schon mal konfiguriert. Im MQTT Explorer sehe ich auch, dass Daten z.B. im Topic openWB/set/pv/14/get/exported ankommen. Aber mir ist noch nicht ganz klar wie die Werte dazwischen mit den entsprechenden Nodes aufbereitet werden müssen.
Wenn Du eh die Werte der WR über Node-Red in den Victron GX übergibst, würde ich sie erst garnicht versuchen sie dort wieder per Modbus abzuholen um sie in die openWB zu senden. Das wäre ja ein Umweg.
Du musst eigentlich nur den Wert in Watt für das jeweilige Power-Topic an die openWB senden.
Du kannst für jedes MQTT-Topic einen eigenen MQTT-Out Node verwenden und das Topic dort fest eintragen, oder Du nimmst nur einen MQTT-Out-Node pro Flow, konfiguriert für die IP der openWB, und lässt das Topic dort leer, setzt dann in jeder Message die zur openWB gesendet werden soll das MQTT-Topic in der Message als "msg.topic" Die PV-Leistung dann, in Watt, als msg.payload.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Fr Feb 09, 2024 6:48 am
von suggarman
Die OpenWB kann nur den Victron-Zähler mit der ID30 auslesen. Die anderen haben einen verschobenen Bereich der Register und das hat bisher niemand programmiert.
Ich will nämlich schon länger die Wärmepumpe mit ID31 visualisieren.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Fr Feb 09, 2024 8:01 am
von aiole
Ok - dann wäre in der Tat der Weg über MQTT das Mittel der Wahl.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Fr Feb 09, 2024 8:32 am
von kai9555
aiole hat geschrieben: ↑Do Feb 08, 2024 11:00 pm
Leider habe ich dafür keine Zeit, da hier andere Themen drängen.
Aber probiere doch zuerst mit der Var. 2, die ich aufgezeigt habe (Nutzung des fertiges Victron-Moduls als einzelne Geräte für jeden WR).
Kein Problem. Da nun klar war das es "nur" mit MQTT zu realisieren ist habe ich folgenden (wirklich einfachen) Flow gebaut. Damit es später für interessierte nachvollziehbar ist hier eine kurze Erklärung.
Mit dem Node "Modbus-Read" hole ich mir vom Sungrow aus dem Register der Wirkleistung die Daten. Wandle die dann mit einem "Function" Node negativ um (da es openWB so erwartet) und übergebe dann mit "MQTT out" Node an openWB
Das hier gehört ins Function Node:
msg.payload = msg.payload*-1;
msg.topic = "Power";
return msg;
Der 2. deaktivierte Anschnitt unten ist die Übermittlung des Gesamtertrages. Das habe ich nur einmal angestoßen, damit der Wert in der openWB ist. openWb wird den Gesamtertrag dann künftig weiter hochrechnen. So spart man sich eine unnötige Abfrage. Die Übergabe hätte man auch mit einem inject Node machen können, wenn man den Werte kennt, aber ich habs so gemacht.
Edit:
Scheinbar zählt openWb doch nicht selbständig hoch. Also aktiviere ich den 2. Flow für den Gesamtertrag.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Fr Feb 09, 2024 2:03 pm
von kai9555
Ok ich habe hier irgendwo noch einen Fehler bei der MQTT Übergabe und finde ihn nicht...oder ich verstehe es falsch. Immer wenn ich über MQTT den Zählerstand übergebe z.B. von 5.414kwh zu 5.415kwh, erscheint die Änderung auch korrekt im Status, aber in der Statistik schlägt es in diesem Moment immer mit 12kw aus. Die Ausschläge sind unregelmäßig, da ich diese zum validieren manuell angestoßen habe.
Das verstehe ich absolut nicht.
Re: Victron PV in openWB einzeln darstellen (Frage an Spezialisten)
Verfasst: Fr Feb 09, 2024 8:27 pm
von hominidae
kai9555 hat geschrieben: ↑Fr Feb 09, 2024 2:03 pm
Ok ich habe hier irgendwo noch einen Fehler bei der MQTT Übergabe und finde ihn nicht.
Ich denke Du verwendest die Topics falsch.
Das Topic zum auslesen, das durch andere mqtt-Clients subscribed werden kann, hat jeweils das "get".
Dieses Topic wird von der openWB gepublished.
Von Dir muss das komplementäre "set" topic gepublished werden....dies enthält *nicht* das "get".
Zum Beispiel: openWB/pv/15/get/Power ...ist die Leistung für den PV WR mit id = 15 wie ihn die openWB "meldet".
Wenn Du diesen Wert per mqtt "senden" willst, damit ihn dann die openWB auf der "get"-Seite meldet, sollte das komplementäre Set-Topic lauten: openWB/set/pv/15/Power