Gelöst: Wie per Modbus aus Victron Multiplus Register auslesen

Begonnen von hadenia, 30 September 2022, 20:45:30

Vorheriges Thema - Nächstes Thema

hadenia

Habe jüngst meine Solaranlage mit Victron Cerbo GX und Multiplus II fertiggestellt. Jetzt möchte ich die Werte aus der Anlage auslesen um in FHEM abhängig von der Stromerzeugung die Verbraucher zu steuern.
Habe mit ModbusAttr den Cerbo GX eingebunden und so weit ich sehe, antwortet er:

Internals:
   CFGFN     
   DEF        100 60 192.168.50.91:502 TCP
   DeviceName 192.168.50.91:502
   EXPECT     idle
   FD         77
   FUUID      633709b8-f33f-9228-17c8-4d4d3e69a3ec47b5
   IODev      CerboGX
   Interval   60
   LASTOPEN   1664551353.00376
   MODBUSID   100
   MODE       master
   MODULEVERSION Modbus 4.4.04 - 17.7.2021
   NAME       CerboGX
   NOTIFYDEV  global
   NR         496
   NTFY_ORDER 50-CerboGX
   PARTIAL   
   PROTOCOL   TCP
   STATE      opened
   TCPConn    1
   TYPE       ModbusAttr
   devioLoglevel 3
   eventCount 2
   nextOpenDelay 60
   QUEUE:
   READ:
     BUFFER     
   READINGS:
     2022-09-30 17:22:33   state           opened
   REMEMBER:
     lid        100
     lname      CerboGX
     lrecv      1664560353.27233
     lsend      1664560353.27134
   defptr:
     CerboGX    100
   hmccu:
   lastRead:
Attributes:
   room       Victron


Ich komme jedoch nicht weiter mit dem Anlegen der Attribute und auslesen der Register. Im FHEM Webend sehe ich unter attr in der Liste zwar etliche Attribute, aber ich verstehe trotzdem nicht, wie ich z. Bsp. die aktuelle am Eingang oder den beiden Ausgängen abfragen kann, um zu ermitteln, ob Strom aus dem Netz gezogen wird oder hineingeschoben.

In der Register Liste steht beispielsweise in Zeile 6 (ich interpretiere das als Register 6):


dbus-service-name         description                    Address Type   Scalefactor Range    dbus-obj-path        writable dbus-unit Remarks
com.victronenergy.system PV - AC-coupled on output L1    808 uint16  1         0 to 65536   /Ac/PvOnOutput/L1/Power no         W      Summation of all AC-Coupled PV Inverters on the output


Wie kann ich das Register 3 abfragen und die Leistung in Watt so im Element CerboGX speichern, dass ich es später weiterverarbeiten kann?
Ich komme nicht weiter und würde mich über Unterstützung / Links / Codeschnippsel freuen.

Im Voraus vielen Dank für alle Tipps.




vitolinker

Wenn du nur lesen möchtest, dann würde ich über MQTT auf die Venus oder CerboGX zugreifen.
Bist du mit Modbus schon weitergekommen?
Mag gerne Werte schreiben wir die AC Last, um einen Ernergymeter  zu ersetzen.

hadenia

Hallo, ich habe es per ModbusAttr hinbekommen. Ich hatte erwartet, dass beim Anlegen des Device die Register automatisch erstellt und angezeigt werden, so wie z. Bsp. bei einem Z-Wave Device, das war aber nicht der Fall.
Nach dem Anlgen des ModbusAttr Devices muss der Scan der Register händisch gestartet werden mit:


set <Devicename> scanModbusObjects .*


Nach dem Scan erscheinen die Register unter den Readings und man kann Attribute setzen, Daten lesen und ggf. schreiben.

jostmario

Hallo,  funktioniert das auslesen und setzen bei dir, versuche auch gerade bekomme es aber nicht hin.

Vielleicht kannst du mal drüberschauen.

Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

hadenia

Schreiben habe ich noch nicht probiert, nur lesen.

Die Devices musst du anlegen, wie hier im Wiki beschrieben. Die Adressen deiner Victron Devices musst du im Cerbo nachschauen, ist hier beschrieben:
https://www.victronenergy.com/live/ccgx:modbustcp_faq

Um die Werte zuzuordnen, musst du dir die Modbus TCP Register Liste herunterladen:
https://www.victronenergy.com/support-and-downloads/technical-information

Anschliessend die Werte in lesbare Reading umwandeln, ist hier beschrieben:
https://forum.fhem.de/index.php/topic,118344.msg1233289.html#msg1233289

Die Readings kannst du dann wie in FHEM üblich auslesen und weiterverarbeiten.