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
>>>
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 😉 ]
@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...
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
@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 ?
Das herausfinden der ID des KSEM klappt nicht mit VenusOS. Das musst du im Windows machen.
Siehe letzter Punkt im Troubleshootung auf Github.
@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.
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.
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...
@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?
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.
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.
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.
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?