vorweg: ich nutze ein selbst installierte OpenWB (openWB Version: 1.9.244) auf einem Raspi4 in Verbindung mit einem Solaredge WR (SE17K) + AC gekoppelter Batterie. (EDIT: + go-E-Charger)
Hat bisher alles sehr gut funktioniert - gestern ist mir aufgefallen, dass die PV/EVU Werte nicht mehr dargestellt und berücksichtigt werden.
Nach ein wenig Fehlersuche stellt sich raus, dass ich wohl "Läuse und Flöhe" habe.
Läuse: Die DHCP IP des Wechselrichters hat sich geändert - hatte wohl vergessen, meiner Fritz!Box zu sagen, dass der immer dieselbe IP bekommen soll.
Also wieder auf einen festen Wert gesetzt und gut ist.
Flöhe: Geht trotzdem nicht - und hier vermute ich meine UpdateWut rund um den Jahreswechsel als schuldigen - ich habe da meinen Raspi4 auf das aktuelle Buster aktualisiert und in dem Rahmen vermutlich auch irgendwie an den Python Installationen gebastelt. Es laufen noch ein paar andere Dinge auf dem Raspi.
So, nun zu den Fakten.
Modbus TCP läuft auf Port 502 - ist per nmap geprüft offen.
Code: Alles auswählen
pi@raspi4:~ $ nmap 192.168.178.105 -p 502
Starting Nmap 7.70 ( https://nmap.org ) at 2022-02-14 17:09 CET
Nmap scan report for SolarEdgeWechselrichter17K.fritz.box (192.168.178.105)
Host is up (0.0018s latency).
PORT STATE SERVICE
502/tcp open mbap
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Wenn python standard 3.7 ist, steht im log:
Code: Alles auswählen
Traceback (most recent call last):
File "/var/www/html/openWB/modules/bezug_solaredge/solaredge.py", line 7, in <module>
import ConfigParser
ModuleNotFoundError: No module named 'ConfigParser'
Code: Alles auswählen
2022-02-14 14:50:01: ##### cron5min.sh started ##### (LV0)
/var/www/html/openWB/runs/evsecheck: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or di
rectory
2022-02-14 14:50:03: ##### cron5min.sh finished ##### (LV0)
Code: Alles auswählen
pi@raspi4:~ $ ldconfig -p | grep libpython
libpython3.7m.so.1.0 (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libpython3.7m.so.1.0
libpython3.7m.so (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libpython3.7m.so
libpython2.7.so.1.0 (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libpython2.7.so.1.0
libpython2.7.so (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libpython2.7.so
Code: Alles auswählen
AttributeError: 'ModbusIOException' object has no attribute 'registers'
Traceback (most recent call last):
File "/var/www/html/openWB/modules/wr_solaredge/solaredgeall.py", line 39, in <module>
raw = struct.pack('>HH', rr.getRegister(1), rr.getRegister(0))
AttributeError: 'ModbusIOException' object has no attribute 'getRegister'
Traceback (most recent call last):
File "/var/www/html/openWB/modules/bezug_solaredge/solaredge.py", line 17, in <module>
value1 = resp.registers[0]
Welche Python Version braucht OpenWB? Liegt das überhaupt daran, oder habe ich noch ein anderes Problem?
Nächster Schritt wäre für mich, irgendwie ein mini Python Script zu basteln um mal Testweise Modbus Kommunikation mit dem Wechselrichter durchzuführen - oder alternativ den Raspi neu aufzusetzen.