Benachrichtigungen
Alles löschen

Kostal Smart Energy Meter (KSEM) mit einem Victron System (VenusOS Gerät) verbinden

116 Beiträge
30 Benutzer
4 Reactions
4,816 Ansichten
(@wolfe)
Vorsichtiger Stromfühler
Beigetreten: Vor 8 Monaten
Beiträge: 16
 

Ein Versuch:

Python 3.12.0 (tags/v3.12.0:0fb18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> c:junk\read_modbus_tcp_register.py
File "<stdin>", line 1
c:junk\read_modbus_tcp_register.py
^
SyntaxError: unexpected character after line continuation character
>>>

Diese r Beitrag wurde geändert Vor 4 Monaten von wolfe

   
AntwortZitat
(@wolfe)
Vorsichtiger Stromfühler
Beigetreten: Vor 8 Monaten
Beiträge: 16
 

Okay, in Phyton 3.12 versucht die Datei read_modbus_tcp_register.py aufgerufen:

Python 3.12.0 (tags/v3.12.0:0fb18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> python desktop\read_modbus_tcp_register.py
File "<stdin>", line 1

python desktop\read_modbus_tcp_register.py
^
SyntaxError: unexpected character after line continuation character

>>> desktop\read_modbus_tcp_register.py
File "<stdin>", line 1
desktop\read_modbus_tcp_register.py
^
SyntaxError: unexpected character after line continuation character

>>> read_modbus_tcp_register.py
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'read_modbus_tcp_register' is not defined

>>> phyton read_modbus_tcp_register.py
File "<stdin>", line 1
phyton read_modbus_tcp_register.py
^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: invalid syntax

>>> phyton desktop/read_modbus_tcp_register.py
File "<stdin>", line 1
phyton desktop/read_modbus_tcp_register.py
^^^^^^^
SyntaxError: invalid syntax

Aber nur Fehlermeldungen ! Mir fehlt der Plan. [ist jetzt auch etwas später geworden 😉 ]

 

Diese r Beitrag wurde geändert Vor 4 Monaten von wolfe

   
AntwortZitat
 Phil
(@phil)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 24
Themenstarter  

@wolfe Wenn du die datei nicht löschen konntest, hast du bei der installation etwas falsch gemacht. Die muss vorhanden sein! Geh noch einmal alle Schritte durch. Denk dran dass du eine Datei herunterladen musst und eine bestehende Datei verändern musst.

Wenn das nicht hilft, versuche den schritt mit dem Script (das ermittelt nur die ID von dem KSEM, eigentlich sollte das aber nicht nötig sein). Dateien herunterladen kann man mit rechtsklick -> "Speichern unter...". Wie du python scripte über die kommandozeile startest, findest du z.b. hier: https://realpython.com/run-python-scripts/, gibt zig tutorials dazu. Sorry, das sprengt dann etwas den Rahmen, wenn ich sowas in das Tutorial aufnehme...


   
AntwortZitat
(@manuel_l)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 5
 

Hallo zusammen,

 

nachdem ich heute meinen Cerbo GX auf die Version 3.13 geupdatet habe, funktioniert mein KSEM nicht mehr.

Der KSEM wurde am 6.12. auf Version 2.4.0 geupdatet und hat danach ohne Probleme funktioniert.

Die KSEM Device ID ist bei 18514 geblieben.

Wenn ich in die Log schaue, finde ich da folgende Meldungen:

@400000006574adcc3976d2b4 ** CCGX booted (0) **
@400000006574adcd3201048c ** starting dbus-modbus-client **
@400000006574add810a16494 INFO Waiting for localsettings
@400000006574add811034efc INFO waiting for settings
@400000006574addb20eeb3c4 INFO registered ourselves on D-Bus as com.victronenergy.modbusclient.tcp
@400000006574addb37c2bdfc INFO Found KOSTAL_KSEM at tcp:192.168.178.103:502:1
@400000006574addb3b755dec INFO Starting background scan
@400000006574addc0aa48e54 INFO Scanning 192.168.178.57/24
@400000006574addc1d4e0594 INFO Found KOSTAL_KSEM at tcp:192.168.178.103:502:1
@400000006574ade428ef7c0c INFO Found KOSTAL_KSEM at tcp:192.168.178.103:502:1
@400000006574ade435aa3e3c INFO Error initialising tcp:192.168.178.103:502:1, skipping
@400000006574ade43a8f18b4 Traceback (most recent call last):
@400000006574ade43ae7a0c4 File "/opt/victronenergy/dbus-modbus-client/dbus-modbus-client.py", line 99, in scan_update
@400000006574ade43ae7cbbc self.init_device(d, False)
@400000006574ade43aefde24 File "/opt/victronenergy/dbus-modbus-client/dbus-modbus-client.py", line 297, in init_device
@400000006574ade43aeff97c super().init_device(dev, *args)
@400000006574ade43af31274 File "/opt/victronenergy/dbus-modbus-client/dbus-modbus-client.py", line 122, in init_device
@400000006574ade43af329e4 dev.init(self.dbusconn, enable)
@400000006574ade43af5f8a4 File "/opt/victronenergy/dbus-modbus-client/device.py", line 278, in init
@400000006574ade43af60c2c self.device_init()
@400000006574ade43af89c6c File "/opt/victronenergy/dbus-modbus-client/Kostal_SmartEnergyMeter.py", line 46, in device_init
@400000006574ade43af8b3dc Reg_u64b(0x0200, '/Ac/Energy/Forward', 10000, '%.1f kWh'),
@400000006574ade43afb059c File "/opt/victronenergy/dbus-modbus-client/Kostal_SmartEnergyMeter.py", line 13, in __init__
@400000006574ade43afb1d0c super(Reg_u64b, self).__init__(base, 4, *args, **kwargs)
@400000006574ade43afd72b4 File "/opt/victronenergy/dbus-modbus-client/register.py", line 59, in __init__
@400000006574ade43afd863c super().__init__(base, self.count, name, text, write, **kwargs)
@400000006574ade43b031034 AttributeError: 'Reg_u64b' object has no attribute 'count'

 

Hat einer eine Idee, wie ich das wieder hinbekommen?

 

Viele Grüße

Manuel

Diese r Beitrag wurde geändert Vor 4 Monaten 3 mal von Manuel_l

   
AntwortZitat
(@manuel_l)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 5
 

@wolfe 

Du muss noch ein Modul nachinstallieren, dann klappt das mit dem Script: read_modbus_tcp_register.py

Geb einfach mal: python -m pip install pymodbus     ein und versuche es danach nochmal.

Diese r Beitrag wurde geändert Vor 5 Monaten von Manuel_l

   
AntwortZitat
(@wolfe)
Vorsichtiger Stromfühler
Beigetreten: Vor 8 Monaten
Beiträge: 16
 

@Manuel_I: Auf dem Cerbo GX/Venus OS ?

root@einstein:/home# python -m pip install pymodbus
/usr/bin/python: No module named pip

Kann ich eigentlich noch einmal ganz von vorne anfangen, mit wget https://raw.githubusercontent.com/pmcgn/dbus-modbus-client-kostal-smartmeter/main/Kostal_SmartEnergyMeter.py oder muß ich vorher noch einiges manuel entfernen ?

 

 

Diese r Beitrag wurde geändert Vor 4 Monaten von wolfe

   
AntwortZitat
(@manuel_l)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 5
 

@wolfe 

Das herausfinden der ID des KSEM klappt nicht mit VenusOS. Das musst du im Windows machen.

Siehe letzter Punkt im Troubleshootung auf Github. 


   
AntwortZitat
(@wolfe)
Vorsichtiger Stromfühler
Beigetreten: Vor 8 Monaten
Beiträge: 16
 

@Manuel_I: Das habe ich versucht:

Mit Node-Red konnte ich jetzt das Register auslesen: Es lautet auch bei mir: 18530.

Dies habe ich jetzt ebenfalls in Kostal_SmartEnergyMeter.py unter >models< eingetragen.

Nur "auftauchen" tut das KSEM noch immer nicht.

Liegt es an der Venus OS v3.12 ?

Hat jemand Erfahrung mit dem Downgrad ? Wäre dies eine Möglichkeit ?

Falls es eine Möglichkeit für eine zOOm Schalte gibt, gerne.

 

Diese r Beitrag wurde geändert Vor 5 Monaten von wolfe

   
AntwortZitat
(@wolfe)
Vorsichtiger Stromfühler
Beigetreten: Vor 8 Monaten
Beiträge: 16
 

Hallo Zusammen,

mit der Integration des KSEM in die Victron Remote Console bin ich vorerst gescheitert.

Aber, es gibt einen akzeptablen Umweg für mich.

Ich lese das KSEM eh mittels Node-Red auf einem Pi2 aus und stelle die Werte Node-Red (auf Venus OS) via mqtt zur Verfügung. Damit kann ich dann - wenn unter Victron-> Einstellungen -> ESS -> Modus: "Ext. Stg." gewählt ist, die Set-points mittels Nod-Red einsteuern: Funzt.

Aktuell noch mit einer 48V PB Test Batterie.

Für meine 2nd life Twizy Batt (Li-Ion, 14S, 44,8V - 58,8V) suche ich jetzt ein passendes BMS !

Euch allen noch einige ruhige Tage zwischen den Jahren und 'nen guten Rutsch, bleibt gesund.

 

 

 


   
AntwortZitat
(@pilz8472)
Newbie
Beigetreten: Vor 4 Monaten
Beiträge: 4
 

Hallo,

 

ich bin auf en ähnliches Problem gestoßen:

 

Installation des Scripts klappt wie beschrieben, und die Log-Datei legt nahe, dass das KSEM auch erkannt wird:

(von gelegentlichen Auslese-Fehlern mal abgesehen?).
Aber in der Anzeige vom MulitPlus II GX taucht das KSEM nicht auf. Mir scheint da ein Systematischer Fehler irgendwo zu sein. Ich habe auch FW 3.13 auf dem MultiPlus, aber ich habe es auch mit der Rückfall FW 2.92 probiert. Damit ist es das gleiche Problem.
Das muss irgendeine Kleinigkeit sein...


   
AntwortZitat
 Phil
(@phil)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 24
Themenstarter  

@pilz8472 Hm, das sieht nicht gut aus. Eigentlich sollte das "Found Kostal...." Nur einmal kommen. Genaugenommen enthält mein Skript nicht die eigentliche Logik zum auslesen, sondern teilt dem victron nur mit. Wie die register zu interpretieren sind. Daher ist schwer zu sagen, was schief läuft. Kannst du den automatischen scan Mal ausschalten und das KSEM manuell hinzufügen? Kommt dann auch mehrfach der log Eintrag? Welche Firmware hat das KSEM?


   
AntwortZitat
(@pilz8472)
Newbie
Beigetreten: Vor 4 Monaten
Beiträge: 4
 

Das KSEM hat FW 1.5.0.

Automatischer Scan nach ModBusTCP devices ist aus. Macht auch keinen Unterschied ob er an ist oder nicht. Manuell hinzufügen ändert nichts. 

Ich prüfe dann nochmal die *.py files und den cache im MUltiplus. Wenn du sagst die Meldung "Found Kostal..." dürfte nur einmal kommen habe ich ja einen Anhaltspunkt wo ich suchen muss. Ich hatte bisher die FW 3.13 vom Multiplus II GX im Verdacht.

Diese r Beitrag wurde geändert Vor 4 Monaten von pilz8472

   
AntwortZitat
Carolus
(@carolus)
Famous Member Admin
Beigetreten: Vor 2 Jahren
Beiträge: 6962
 

Hallo an alle in diesem Faden, bitte keine rote Schrift verwenden, die benutzen wir für Moderation. Ihr könnt jede andere Farbe verwenden. Bitte ändern. DANKE !!

Ich bin kein Amateur, aber ich lerne trotzdem noch.
Bürokratie schafft man nicht durch neue Regeln oder Gesetze ab.


   
AntwortZitat
(@pilz8472)
Newbie
Beigetreten: Vor 4 Monaten
Beiträge: 4
 

Also ich habe die beiden Dateien

Kostal_SmartEnergyMeter.py und
dbus-modbus-client.py

zur Sicherheit nochmal aus dem Cache gelöscht und nochmal kompiliert. Automatisches Scannen im MultiPlus ist aus. Dann rebootet. Das hier steht wieder in der Log-datei "Current":

@40000000659e7dbe01eeca04 INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1          
@40000000659e7dd02cd856cc CCGX booted (0)                                                                       
@40000000659e7dd111085424 starting dbus-modbus-client                                                           
@40000000659e7dd6340d189c INFO     Waiting for localsettings                                                          
@40000000659e7de1111f915c INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7deb135764a4 INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7df515a027dc INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7dff17efe824 INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e091a36aba4 INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e131cef66ec INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e1d1fdf9d54 INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e2722bfed6c INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                          
@40000000659e7e3125711b1c INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e3b27b06c5c INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e4529e47acc INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e4f2c41b44c INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e592e7c17d4 INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e6330c46dac INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e6d32ec81b4 INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e773527d76c INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1                                         
@40000000659e7e813767113c INFO     Found KOSTAL_KSEM at tcp:192.168.0.11:502:1

 

Dieses Mal ohne die vorherige sporadische Fehlermeldung, aber doch mehrfach ein "Found KOSTAL...". Und in der Konsole gibt es kein KSEM, weder beim manuellen Scan, noch beim Automatischen Scan, noch beim manuellen Hinzufügen.

 

 

 

Diese r Beitrag wurde geändert Vor 4 Monaten 2 mal von pilz8472

   
AntwortZitat
(@chris__)
Newbie
Beigetreten: Vor 4 Monaten
Beiträge: 2
 

Hallo zusammen, erstmal Danke an Phil, dass er sich die Arbeit gemacht hat!

Ich habe ein ähnliches Problem wie @pilz8472 und bekomme den KSEM nicht in meinem Multiplus 2 3000 GX angezeigt.

In/var/log/dbus-modbus-client/current steht nur wiederholt Found KOSTAL_KSEM at tcp:192.168.68.61:502:1 mit wechselden IDs vorne:

...
@4000000065ad5f6010609e8c INFO Found KOSTAL_KSEM at tcp:192.168.68.61:502:1
@4000000065ad5f6a14a16134 INFO Found KOSTAL_KSEM at tcp:192.168.68.61:502:1

 

wenn ich in /var/log/dbus-modbus-client/\@4000000065ad56b421aaef44.s schaue steht zumindest mal eine Fehlermeldung:

@4000000065ad47fe15cd5e14 starting dbus-modbus-client
@4000000065ad4803127c75c4 INFO Waiting for localsettings
@4000000065ad48031c84e164 INFO registered ourselves on D-Bus as com.victronenergy.modbusclient.tcp
@4000000065ad48bc007a71b4 INFO Starting background scan
@4000000065ad48bc01e17fac INFO Scanning 192.168.68.59/22
@4000000065ad48c101f2f854 INFO Found KOSTAL_KSEM at tcp:192.168.68.61:502:1
@4000000065ad48c105b10ddc INFO Error initialising tcp:192.168.68.61:502:1, skipping
@4000000065ad48c106320194 Traceback (most recent call last):
@4000000065ad48c10639587c File "/opt/victronenergy/dbus-modbus-client/dbus-modbus-client.py", line 98, in scan_update
@4000000065ad48c106396fec self.init_device(d, False)
@4000000065ad48c1063a1fb4 File "/opt/victronenergy/dbus-modbus-client/dbus-modbus-client.py", line 296, in init_device
@4000000065ad48c1063a2f54 super().init_device(dev, *args)
@4000000065ad48c1063a3724 File "/opt/victronenergy/dbus-modbus-client/dbus-modbus-client.py", line 121, in init_device
@4000000065ad48c1063a46c4 dev.init(self.dbusconn, enable)
@4000000065ad48c1063ab80c File "/opt/victronenergy/dbus-modbus-client/device.py", line 278, in init
@4000000065ad48c1063ac7ac self.device_init()
@4000000065ad48c1063b2954 File "/opt/victronenergy/dbus-modbus-client/Kostal_SmartEnergyMeter.py", line 46, in device_init
@4000000065ad48c1063b38f4 Reg_u64b(0x0200, '/Ac/Energy/Forward', 10000, '%.1f kWh'),
@4000000065ad48c1063b9a9c File "/opt/victronenergy/dbus-modbus-client/Kostal_SmartEnergyMeter.py", line 13, in __init__
@4000000065ad48c1063baa3c super(Reg_u64b, self).__init__(base, 4, *args, **kwargs)
@4000000065ad48c1063c07fc File "/opt/victronenergy/dbus-modbus-client/register.py", line 59, in __init__
@4000000065ad48c1063c179c super().__init__(base, self.count, name, text, write, **kwargs)
@4000000065ad48c1063df814 AttributeError: 'Reg_u64b' object has no attribute 'count'
@4000000065ad491d0d499e74 INFO Scan completed in 97 seconds
@4000000065ad4d3607bfb9fc INFO Found KOSTAL_KSEM at tcp:192.168.68.61:502:1

 

Auf dem Multiplus läuft Firmware 3.13

Auf KSEM läuft 1.4.1

KSEM Device ID sollte eigentlich okay sein.

C:\TMP>python read_modbus_tcp_register.py
IP (v4) Address of your KOSTAl SMart Energy Meter (KSEM): 192.168.68.61
KSEM Device ID (Decimal): 18514

 

Hat jemand eine Idee was das Problem ist?


   
AntwortZitat
Seite 7 / 8
Teilen: