Seite 1 von 6

Modbus Stromzähler werden nicht ausgelesen

Verfasst: Sa Nov 20, 2021 9:19 pm
von ALDI-Tuete
Hallo,
ich möchte in unserem Ferienhaus openWB nur zum Logging des Stromverbrauchs und der PV-Anlage verwenden.
Dafür habe ich mir im Shop den Protos Modbus-LAN Adapter, einen SDM 72 und einen SDM 120 besorgt und auf einem Raspberry 3 mit Buster openWB 1.9.249 manuell installiert (die Standalone kann man ja nur noch mit einer openWB Pro kaufen).

Der Protos ist auf 9600 n1 konfiguriert (alle Parameter identisch zum Wiki-Eintrag https://github.com/snaptec/openWB/wiki/ ... %C3%A4hler, inkl. Restart).

Der SDM 72 hat die ID 1, der SDM 120 die ID 2. Beide sind auf 9600 n1 konfiguriert.

Im EVU-Modul habe ich konfiguriert:
Strombezugsmodul: SDM 630
SDM Zähler EVU Source: /dev/virtualcom0
ID: 1
RS485/Lan-Konverter IP Adresse: 192.168.178.27 (unter der IP-Adresse greife ich auch auf den Webserver vom Protos zu)

Im PV-Modul habe ich konfiguriert:
PV-Modul: SDM120 an openWB Modbus Lan Konverter
SDM Modbus IP Adresse: 192.168.178.27
SDM Modbus ID: 2

Im Log habe ich folgende Fehler:
Traceback (most recent call last):
File "/var/www/html/openWB/modules/sdm120modbusll/readsdm1.py", line 17, in <module>
resp = client.read_input_registers(0x00,2, unit=sdmid)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/common.py", line 125, in read_input_registers
return self.execute(request)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/sync.py", line 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.__str__()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusSerialClient(rtu baud[9600])]
head: cannot open '/var/www/html/openWB/web/logging/data/daily/20211120.csv' for reading: No such file or directory
tail: cannot open '/var/www/html/openWB/web/logging/data/daily/20211120.csv' for reading: No such file or directory
loadvars.sh: line 1784: ramdisk/mqttslavemode: No such file or directory
/var/www/html/openWB/web/logging/data/ladelog/202111.csv
Traceback (most recent call last):
File "/var/www/html/openWB/modules/sdm120modbusll/readsdm1.py", line 17, in <module>
resp = client.read_input_registers(0x00,2, unit=sdmid)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/common.py", line 125, in read_input_registers
return self.execute(request)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/sync.py", line 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.__str__()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusSerialClient(rtu baud[9600])]

Ich habe im Forum nur einen Eintrag gefunden bei dem es mit einer neueren Raspbian-Version nicht geklappt hat - deshalb habe ich extra Buster installiert.
Den Raspberry habe ich auch schon mehrmals neu gestartet.

Wo liegt mein Fehler?

Danke schon mal im Voraus! :-)

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: Sa Nov 20, 2021 9:31 pm
von HSC
Den SDM 630 nicht als diesen verwenden, sondern in der nightly das generische "flexible EVU- Kit" mit SDM 630. Dann sollte es passen.
VG

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: Sa Nov 20, 2021 9:39 pm
von HSC
Anbei die kompletten PE11- Einstellungen zum Abgleich: VG

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: Sa Nov 20, 2021 9:46 pm
von ALDI-Tuete
HSC hat geschrieben: Sa Nov 20, 2021 9:31 pm Den SDM 630 nicht als diesen verwenden, sondern in der nightly das generische "flexible EVU- Kit" mit SDM 630. Dann sollte es passen.
VG
Danke, das war's! :D Jetzt wird der EVU-Wert ausgelesen, den PV-Wert schaue ich mir morgen an.
Vielen Dank!

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: Sa Nov 20, 2021 9:49 pm
von HSC
ALDI-Tuete hat geschrieben: Sa Nov 20, 2021 9:46 pm
HSC hat geschrieben: Sa Nov 20, 2021 9:31 pm Den SDM 630 nicht als diesen verwenden, sondern in der nightly das generische "flexible EVU- Kit" mit SDM 630. Dann sollte es passen.
VG
Danke, das war's! :D Jetzt wird der EVU-Wert ausgelesen, den PV-Wert schaue ich mir morgen an.
Vielen Dank!
👍
....ist genauso einfach.
VG

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: Sa Nov 20, 2021 10:19 pm
von HSC
Kleiner Tip:
Wenn Du Wert auf die originalen Zählerstände aus dem SDM für Im- und Export für EVU legst (z. B. aus der Ferne), lässt sich das mit Deiner 1. Modulauswahl und dem SDM 72 über USB- NW- Adapter (ca. 5€) direkt an den Raspi realisieren.
PV lässt Du dann weiter über den PE11 auslesen. Dort kommt der Zählerstand direkt mit.
Alles sichtbar unter Status. ;)
Screenshot_20211120-231706_Chrome.jpg
Bei mir ID 3, bei Dir dann analog ID1.
VG

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: So Nov 21, 2021 8:07 am
von ALDI-Tuete
Danke für den Tip, das könnte später mal interessant sein. Aktuell läuft die PV-Anlage noch als Volleinspeisung, dementsprechend habe ich am SDM 72 keinen Export. Aber das wird sich in ein paar Jahren ändern.

Generell habe ich mich leider zu früh gefreut :( :
Ich habe mir die Werte heute morgen noch mal in Ruhe angeschaut und ich habe beim EVU-Wert dauerhaft einen statischen Wert von 171 Watt - das entspricht aber nicht meinem aktuellen Verbrauch und v.a. gibt es ja schon mal Schwankungen - alleine durch die Kaffeemaschine :-)
Status openWB.png
Auf meinem PE11 sieht nach meinem Verständnis alles gut aus.
Status PE-11.png
Im Log finde ich folgende Fehlermeldungen - da scheint irgendwas mit der Kommunikation noch nicht zu klappen:
2021-11-21 09:04:44: PID: 25061: Beim Auslesen eines Moduls ist ein Fehler aufgetreten. Auslesen des Devices OpenWB-Kit beendet.
Traceback (most recent call last):
File "/var/www/html/openWB/modules/wr_ethsdm120/readsdm120.py", line 17, in <module>
resp = client.read_input_registers(0x0006,2, unit=sdmid)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/common.py", line 125, in read_input_registers
return self.execute(request)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/sync.py", line 109, in execute
return self.transaction.execute(request)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/transaction.py", line 178, in execute
broadcast=broadcast
File "/usr/local/lib/python2.7/dist-packages/pymodbus/transaction.py", line 294, in _transact
result = self._recv(response_length, full)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/transaction.py", line 326, in _recv
read_min = self.client.framer.recvPacket(min_size)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/framer/__init__.py", line 49, in recvPacket
return self.client.recv(size)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/sync.py", line 89, in recv
return self._recv(size)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/sync.py", line 298, in _recv
size, data, time.time() - time_)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/sync.py", line 342, in _handle_abrupt_socket_close
raise ConnectionException(msg)
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] ModbusTcpClient(192.168.178.27:8899): Connection unexpectedly closed 0.021873 seconds into read of 8 bytes without response from unit before it closed connection
Traceback (most recent call last):
File "/var/www/html/openWB/modules/sdm120modbusll/readsdm1.py", line 17, in <module>
resp = client.read_input_registers(0x00,2, unit=sdmid)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/common.py", line 125, in read_input_registers
return self.execute(request)
File "/usr/local/lib/python2.7/dist-packages/pymodbus/client/sync.py", line 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.__str__()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusSerialClient(rtu baud[9600])]

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: So Nov 21, 2021 8:42 am
von HSC
:shock:
Das kenne ich! Schau mal hier:
viewtopic.php?f=8&t=4250
Da musst Du mal probieren, ggf mit einer anderen SD.
Das Problem liegt irgendwo zw. SD und Raspi.
Mal ging es hier, mal da nicht beim hin- und herwechseln der Karten und Platinen. Bin hier bald durchgedreht!
Irgendwann klappte es, warum kann ich nicht nachvollziehen.

Fakt ist, am PE11 leuchten alle grünen LED + rot, richtig?
Er ist dann von aussen blockiert, siehe die vielen IP- Einträge.
Versuche Dein Glück...
VG

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: So Nov 21, 2021 8:45 am
von derNeueDet
Ist das eine Eigeninstallation? Sorry, blöde Frage hab es gerade gelesen.

Eigeninstallation auf Buster.

Poste mal bitte deine EVU und PV Konfigurationen als Screenshot.

Re: Modbus Stromzähler werden nicht ausgelesen

Verfasst: So Nov 21, 2021 9:02 am
von ALDI-Tuete
Ja, beim PE11 leuchten Link (grün), Net (grün) und Power (rot) dauerhaft.
Parallele Zugriffe auf den PE11 gibt es nicht.

Ich habe den PE11 erneut neu gestartet und jetzt erhalte ich zumindest korrekte PV-Daten. Der EVU-Wert hingegen ist immer noch statisch bei 171 Watt.
Status openWB mit PV.png
openWB PV-Modul.png
openWB EVU-Modul.png