Die Zähler können leider nur maximal 9600 Baud. Ich habe sie nun alle einzeln und 1:1 angeschlossen, nun geht's. Ich verstehe zwar nicht, wieso das monatelang ohne Änderungen im Verteilerkasten einwandfrei lief und nun plötzlich den Dienst quittierte, aber sei es drum.
NEWS
Latest posts made by Sven79
-
RE: modbus errors & exceptions
-
RE: modbus errors & exceptions
Ich habe Tasmota nochmal neu mit Modbus-Debugging gebaut und im Weblog auf Level 4 geschaut, was passiert:
17:59:36.814 TCP: MBS: MBRTCP Got connection from 10.0.1.20 17:59:36.822 MBS: MBRTCP to Modbus TransactionId:1, deviceAddress:1, functionCode:4, startAddress:52, count:2, recvCount:2, recvBytes:4 17:59:36.824 MBS: Serial Send: 01 04 00 34 00 02 30 05 17:59:36.913 MBS: Serial Received: 01 04 04 00 00 00 00 FB 84 17:59:36.924 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:36.964 MBS: MBRTCP to Modbus TransactionId:2, deviceAddress:1, functionCode:4, startAddress:72, count:4, recvCount:4, recvBytes:8 17:59:36.968 MBS: Serial Send: 01 04 00 48 00 04 71 DF 17:59:37.065 MBS: Serial Received: 01 04 08 44 EB F7 02 00 00 00 00 16 47 17:59:37.075 MBS: MBRTCP from Modbus deviceAddress 1, writing 17 bytes to client 17:59:37.116 MBS: MBRTCP to Modbus TransactionId:3, deviceAddress:1, functionCode:4, startAddress:342, count:2, recvCount:2, recvBytes:4 17:59:37.120 MBS: Serial Send: 01 04 01 56 00 02 90 27 17:59:37.215 MBS: Serial Received: 01 04 04 44 EB F7 02 58 B1 17:59:37.222 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:37.267 MBS: MBRTCP to Modbus TransactionId:4, deviceAddress:1, functionCode:4, startAddress:384, count:8, recvCount:8, recvBytes:16 17:59:37.270 MBS: Serial Send: 01 04 01 80 00 08 F1 D8 17:59:37.366 MBS: Serial Received: 01 04 10 44 EB 11 89 00 00 00 00 44 EB 11 89 00 00 00 00 BE 1A 17:59:37.382 MBS: MBRTCP from Modbus deviceAddress 1, writing 25 bytes to client 17:59:37.478 MBS: MBRTCP to Modbus TransactionId:5, deviceAddress:1, functionCode:4, startAddress:1280, count:4, recvCount:4, recvBytes:8 17:59:37.481 MBS: Serial Send: 01 04 05 00 00 04 F1 05 17:59:37.545 MBS: Serial Received: 01 04 08 00 00 00 00 00 00 00 00 24 0D 17:59:37.554 MBS: MBRTCP from Modbus deviceAddress 1, writing 17 bytes to client 17:59:37.849 MBS: MBRTCP to Modbus TransactionId:6, deviceAddress:2, functionCode:4, startAddress:0, count:32, recvCount:32, recvBytes:64 17:59:37.851 MBS: Serial Send: 02 04 00 00 00 20 F1 E1 17:59:37.907 MBS: Serial Received: 02 04 40 43 6A 33 33 00 00 00 17:59:37.914 MBS: MBRTCP from Modbus deviceAddress 2, writing 9 bytes to client 17:59:37.916 MBS: MBR Driver receive error 9 17:59:37.964 MBS: Serial Received: 17:59:37.969 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:37.971 MBS: MBR Driver receive error 7 17:59:37.973 MBS: MBRTCP to Modbus TransactionId:7, deviceAddress:3, functionCode:4, startAddress:0, count:32, recvCount:32, recvBytes:64 17:59:37.976 MBS: Serial Send: 03 04 00 00 00 20 F0 30 17:59:39.257 MBS: MBRTCP to Modbus TransactionId:8, deviceAddress:1, functionCode:4, startAddress:52, count:2, recvCount:2, recvBytes:4 17:59:39.259 MBS: Serial Send: 01 04 00 34 00 02 30 05 17:59:39.357 MBS: Serial Received: 01 04 04 00 00 00 00 FB 84 17:59:39.370 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:39.373 MBS: MBRTCP to Modbus TransactionId:9, deviceAddress:1, functionCode:4, startAddress:72, count:4, recvCount:4, recvBytes:8 17:59:39.376 MBS: Serial Send: 01 04 00 48 00 04 71 DF 17:59:39.458 MBS: Serial Received: 01 04 08 44 EB F7 02 00 00 00 00 16 47 17:59:39.469 MBS: MBRTCP from Modbus deviceAddress 1, writing 17 bytes to client 17:59:39.474 MBS: MBRTCP to Modbus TransactionId:10, deviceAddress:1, functionCode:4, startAddress:342, count:2, recvCount:2, recvBytes:4 17:59:39.476 MBS: Serial Send: 01 04 01 56 00 02 90 27 17:59:39.558 MBS: Serial Received: 01 04 04 44 EB F7 02 58 B1 17:59:39.567 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:39.611 MBS: MBRTCP to Modbus TransactionId:11, deviceAddress:1, functionCode:4, startAddress:384, count:8, recvCount:8, recvBytes:16 17:59:39.614 MBS: Serial Send: 01 04 01 80 00 08 F1 D8 17:59:39.669 MBS: Serial Received: 01 04 10 44 EB 11 89 00 00 00 17:59:39.676 MBS: MBRTCP from Modbus deviceAddress 1, writing 9 bytes to client 17:59:39.678 MBS: MBR Driver receive error 9 17:59:39.720 MBS: Serial Received: 17:59:39.725 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:39.727 MBS: MBR Driver receive error 7 17:59:39.763 MBS: MBRTCP to Modbus TransactionId:12, deviceAddress:2, functionCode:4, startAddress:0, count:32, recvCount:32, recvBytes:64 17:59:39.766 MBS: Serial Send: 02 04 00 00 00 20 F1 E1 17:59:39.821 MBS: Serial Received: 02 04 40 43 6A 33 33 00 00 00 17:59:39.828 MBS: MBRTCP from Modbus deviceAddress 2, writing 9 bytes to client 17:59:39.829 MBS: MBR Driver receive error 9 17:59:39.955 MBS: Serial Received: 17:59:39.960 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:39.962 MBS: MBR Driver receive error 7 17:59:40.437 WIF: Checking connection... 17:59:41.117 MBS: MBRTCP to Modbus TransactionId:14, deviceAddress:1, functionCode:4, startAddress:52, count:2, recvCount:2, recvBytes:4 17:59:41.119 MBS: Serial Send: 01 04 00 34 00 02 30 05 17:59:41.220 MBS: Serial Received: 01 04 04 00 00 00 00 FB 84 17:59:41.229 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:41.232 MBS: MBRTCP to Modbus TransactionId:15, deviceAddress:1, functionCode:4, startAddress:72, count:4, recvCount:4, recvBytes:8 17:59:41.234 MBS: Serial Send: 01 04 00 48 00 04 71 DF 17:59:41.320 MBS: Serial Received: 01 04 08 44 EB F7 02 00 00 00 00 16 47 17:59:41.329 MBS: MBRTCP from Modbus deviceAddress 1, writing 17 bytes to client 17:59:41.371 MBS: MBRTCP to Modbus TransactionId:16, deviceAddress:1, functionCode:4, startAddress:342, count:2, recvCount:2, recvBytes:4 17:59:41.374 MBS: Serial Send: 01 04 01 56 00 02 90 27 17:59:41.471 MBS: Serial Received: 01 04 04 44 EB F7 02 58 B1 17:59:41.480 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:41.523 MBS: MBRTCP to Modbus TransactionId:17, deviceAddress:1, functionCode:4, startAddress:384, count:8, recvCount:8, recvBytes:16 17:59:41.526 MBS: Serial Send: 01 04 01 80 00 08 F1 D8 17:59:41.581 MBS: Serial Received: 01 04 10 44 EB 11 89 00 00 00 17:59:41.588 MBS: MBRTCP from Modbus deviceAddress 1, writing 9 bytes to client 17:59:41.589 MBS: MBR Driver receive error 9 17:59:41.632 MBS: Serial Received: 17:59:41.636 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:41.639 MBS: MBR Driver receive error 7 17:59:41.675 MBS: MBRTCP to Modbus TransactionId:18, deviceAddress:2, functionCode:4, startAddress:0, count:32, recvCount:32, recvBytes:64 17:59:41.678 MBS: Serial Send: 02 04 00 00 00 20 F1 E1 17:59:41.744 MBS: Serial Received: 02 04 40 43 6A 19 9A 00 00 00 00 00 00 00 00 3D C4 9B A6 00 17:59:41.750 MBS: MBRTCP from Modbus deviceAddress 2, writing 9 bytes to client 17:59:41.752 MBS: MBR Driver receive error 9 17:59:41.791 MBS: Serial Received: 17:59:41.796 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:41.798 MBS: MBR Driver receive error 7 17:59:41.835 MBS: Serial Received: 17:59:41.840 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:41.841 MBS: MBR Driver receive error 7 17:59:42.924 MBS: MBRTCP to Modbus TransactionId:20, deviceAddress:1, functionCode:4, startAddress:52, count:2, recvCount:2, recvBytes:4 17:59:42.927 MBS: Serial Send: 01 04 00 34 00 02 30 05 17:59:43.023 MBS: Serial Received: 01 04 04 00 00 00 00 FB 84 17:59:43.033 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:43.036 MBS: MBRTCP to Modbus TransactionId:21, deviceAddress:1, functionCode:4, startAddress:72, count:4, recvCount:4, recvBytes:8 17:59:43.038 MBS: Serial Send: 01 04 00 48 00 04 71 DF 17:59:43.124 MBS: Serial Received: 01 04 08 44 EB F7 02 00 00 00 00 16 47 17:59:43.135 MBS: MBRTCP from Modbus deviceAddress 1, writing 17 bytes to client 17:59:43.276 MBS: MBRTCP to Modbus TransactionId:22, deviceAddress:1, functionCode:4, startAddress:342, count:2, recvCount:2, recvBytes:4 17:59:43.278 MBS: Serial Send: 01 04 01 56 00 02 90 27 17:59:43.343 MBS: Serial Received: 01 04 04 44 EB F7 02 58 B1 17:59:43.352 MBS: MBRTCP from Modbus deviceAddress 1, writing 13 bytes to client 17:59:43.394 MBS: MBRTCP to Modbus TransactionId:23, deviceAddress:1, functionCode:4, startAddress:384, count:8, recvCount:8, recvBytes:16 17:59:43.398 MBS: Serial Send: 01 04 01 80 00 08 F1 D8 17:59:43.452 MBS: Serial Received: 01 04 10 44 EB 11 89 00 00 00 17:59:43.459 MBS: MBRTCP from Modbus deviceAddress 1, writing 9 bytes to client 17:59:43.461 MBS: MBR Driver receive error 9 17:59:43.503 MBS: Serial Received: 17:59:43.508 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:43.510 MBS: MBR Driver receive error 7 17:59:43.513 MBS: MBRTCP to Modbus TransactionId:24, deviceAddress:2, functionCode:4, startAddress:0, count:32, recvCount:32, recvBytes:64 17:59:43.515 MBS: Serial Send: 02 04 00 00 00 20 F1 E1 17:59:43.606 MBS: Serial Received: 02 04 40 43 6A 00 00 00 00 00 00 00 00 00 00 3D C4 9B A6 00 00 00 00 00 00 00 00 40 C0 00 00 00 00 00 00 00 00 00 00 41 17:59:43.613 MBS: MBRTCP from Modbus deviceAddress 2, writing 9 bytes to client 17:59:43.615 MBS: MBR Driver receive error 9 17:59:43.656 MBS: Serial Received: 17:59:43.662 MBS: MBRTCP from Modbus deviceAddress 0, writing 9 bytes to client 17:59:43.664 MBS: MBR Driver receive error 7 17:59:43.666 MBS: MBRTCP to Modbus TransactionId:25, deviceAddress:3, functionCode:4, startAddress:0, count:32, recvCount:32, recvBytes:64 17:59:43.668 MBS: Serial Send: 03 04 00 00 00 20 F0 30
Wenn ich richtig liege, bedeuten die "MBR Driver receive error" jeweils 7 = "not enough minimal data recevied" und 9 = "CRC error".
Die Fehler bleiben auch bestehen, wenn ich nur noch einen Zähler am Bus lasse.
Wenngleich der Fehler wohl außerhalb von ioBroker liegt: habt ihr noch Tipps, wie ich mich der Problemursache nähern kann?
-
RE: modbus errors & exceptions
Die drei Stromzähler (Eastron SDM72D-M, SDM120-M, SDM230) sind auf 9600 Baud, 8 Datenbits, keine Parität, 1 Stop-Bit konfiguriert. Verkabelt mit EIB-Y(St) Y 2x2x0,8 mm² (eine Ader ungenutzt), terminiert mit 120 Ohm.
Meinst du dies mit den Bus-Einstellungen?
-
RE: modbus errors & exceptions
Inwiefern kann der Bus "voll" sein? Was führt dazu und woran erkenne ich das?
Die Adapter-Einstellungen sind unverändert auf den Standardwerten. Verbindungsparameter sind entsprechend auf die IP Adresse und Port des ESP32 gesetzt, Geräte ID ist 1, mehrere Geräte-IDs ist aktiviert und der Typ ist auf "Master" gesetzt.
-
RE: modbus errors & exceptions
Das ist ein RS485/TTL Board, angeschlossen an einen ESP32 auf dem Tasmota mit Modbus-TCP-Bridge läuft.
Ich habe testweise eine neue Instanz des Adapters gestartet, die lediglich ein Input Register von jedem Slave (ID 1, 2 und 3) liest - funktioniert einwandfrei.
-
modbus errors & exceptions
Moin moin,
ich habe an meinem (mit Widerstand terminierten) Bus drei Stromzähler, die ich bislang fehlerfrei via modbus Adapter auslesen konnte.
Aus mir bislang nicht bekannten Gründen versagt der modbus Adapter jedoch nun seinen Dienst:
2023-03-10 11:53:16.344 - debug: modbus.0 (5689) [DevID_1] Poll start --------------------- 2023-03-10 11:53:16.344 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 52 - 2 registers 2023-03-10 11:53:16.448 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 52 DONE 2023-03-10 11:53:16.448 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 72 - 4 registers 2023-03-10 11:53:16.551 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 72 DONE 2023-03-10 11:53:16.551 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 342 - 2 registers 2023-03-10 11:53:16.698 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 342 DONE 2023-03-10 11:53:16.698 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 384 - 8 registers 2023-03-10 11:53:16.811 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 384 DONE 2023-03-10 11:53:16.811 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 1280 - 4 registers 2023-03-10 11:53:16.905 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 1280 DONE 2023-03-10 11:53:16.956 - debug: modbus.0 (5689) [DevID_2] Poll start --------------------- 2023-03-10 11:53:16.956 - debug: modbus.0 (5689) [DevID_2/inputRegs] Poll address 0 - 38 registers 2023-03-10 11:53:17.065 - debug: modbus.0 (5689) Received pdu describes an error. 2023-03-10 11:53:17.065 - warn: modbus.0 (5689) Poll error count: 1 code: {"errorCode":132,"exceptionCode":9} 2023-03-10 11:53:17.111 - debug: modbus.0 (5689) No current request. 2023-03-10 11:53:17.115 - debug: modbus.0 (5689) [DevID_3] Poll start --------------------- 2023-03-10 11:53:17.115 - debug: modbus.0 (5689) [DevID_3/inputRegs] Poll address 0 - 38 registers 2023-03-10 11:53:17.159 - debug: modbus.0 (5689) Received pdu describes an error. 2023-03-10 11:53:17.159 - warn: modbus.0 (5689) Poll error count: 2 code: {"errorCode":128,"exceptionCode":7} 2023-03-10 11:53:18.210 - debug: modbus.0 (5689) [DevID_1] Poll start --------------------- 2023-03-10 11:53:18.210 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 52 - 2 registers 2023-03-10 11:53:18.466 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 52 DONE 2023-03-10 11:53:18.466 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 72 - 4 registers 2023-03-10 11:53:18.567 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 72 DONE 2023-03-10 11:53:18.567 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 342 - 2 registers 2023-03-10 11:53:18.668 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 342 DONE 2023-03-10 11:53:18.668 - debug: modbus.0 (5689) [DevID_1/inputRegs] Poll address 384 - 8 registers
Welchen Hinweis geben mir die genannten Fehler- und Exceptioncodes?
Grüße,
Sven -
Holding Register leer (Modbus Adapter)
Moin,
ich möchte gern meine Paradigma SystaComfort II via modbus-Adapter (3.4.11) in ioBroker abfragen und steuern.
Hierzu habe ich die Adressen der Datenpunkte lt. Hersteller (https://mam-prod.paradigma.de/pinaccess/pinaccess.do?pinCode=6om1uCSh0OKd) im Adapter eingetragen und kann die Input Register einwandfrei auslesen.
Die Werte der Holding Register ioBroker-Objekte sind jedoch allesamt 0.
Wenn ich manuell unter Windows mit dem QModMaster die Holding Register auslese, erhalte ich korrekte Werte.
Welche Einstellung habe ich im Adapter falsch und wie muss ich diese korrigieren?
Viele Grüße,
Sven -
RE: Adapter: broadlink2
Mein RM mini 4 kam heute ebenfalls - und funktioniert auf Anhieb mit dem ioBroker Adapter. Der Weg über Python führt allerdings wieder direkt in den StorageError:
% python3 Python 3.7.4 (default, Oct 12 2019, 18:55:28) [Clang 11.0.0 (clang-1100.0.33.8)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import broadlink >>> devices = broadlink.discover(timeout=5) >>> devices[0].auth() True >>> devices[0].check_data() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.7/site-packages/broadlink/__init__.py", line 600, in check_data check_error(response[0x22:0x24]) File "/usr/local/lib/python3.7/site-packages/broadlink/exceptions.py", line 97, in check_error raise exception(error_code) broadlink.exceptions.StorageError: The device storage is full
Dies funktioniert hingegen fehlerfrei:
% ./broadlink_cli --type 0x5f36 --host 10.0.1.108 --mac 24DFA7E83C47 --sensors temperature 0.0 humidity 0.0
Ich werde den RM mini 3 daher zurücksenden und beim RM mini 4 bleiben. Danke für eure Unterstützung!
-
RE: Adapter: broadlink2
@frankjoke hilft dir das vielleicht weiter? Ich habe es direkt über Python versucht:
Python 3.7.4 (default, Oct 12 2019, 18:55:28) [Clang 11.0.0 (clang-1100.0.33.8)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import broadlink >>> devices = broadlink.discover(timeout=5) >>> devices[0].auth() True >>> devices[0].check_data() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.7/site-packages/broadlink/__init__.py", line 600, in check_data check_error(response[0x22:0x24]) File "/usr/local/lib/python3.7/site-packages/broadlink/exceptions.py", line 97, in check_error raise exception(error_code) broadlink.exceptions.StorageError: The device storage is full >>> pprint(devices[0], indent=2) <broadlink.rm4 object at 0x110454890> >>> pprint(vars(devices[0])) {'_code_sending_header': b'\xd0\x00', '_request_header': b'\x04\x00', 'aes': <cryptography.hazmat.primitives.ciphers.base.Cipher object at 0x110454c50>, 'cloud': False, 'count': 41593, 'devtype': 24374, 'host': ('10.0.1.92', 80), 'id': b'\x01\x00\x00\x00', 'iv': bytearray(b'V.\x17\x99m\t=(\xdd\xb3\xbaiZ.oX'), 'lock': <unlocked _thread.lock object at 0x10fdd4b10>, 'mac': bytearray(b'\t\x0b\xd6\xa7\xdf$'), 'name': '智能遥控', 'timeout': 10, 'type': 'RM4'} >>> pprint(dir(devices[0])) ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_code_sending_header', '_read_sensor', '_request_header', 'aes', 'auth', 'cancel_sweep_frequency', 'check_data', 'check_frequency', 'check_humidity', 'check_sensors', 'check_temperature', 'cloud', 'count', 'decrypt', 'devtype', 'encrypt', 'enter_learning', 'find_rf_packet', 'get_type', 'host', 'id', 'iv', 'lock', 'mac', 'name', 'send_data', 'send_packet', 'sweep_frequency', 'timeout', 'type', 'update_aes']
-
RE: Adapter: broadlink2
% ./broadlink_cli --type 0x5f36 --host 10.0.1.92 --mac 24dfa7d60b09 --temp Traceback (most recent call last): File "./broadlink_cli", line 116, in <module> print(dev.check_temperature()) File "/usr/local/lib/python3.7/site-packages/broadlink/__init__.py", line 673, in check_temperature return self._read_sensor( 0x24, 4, 100.0 ) File "/usr/local/lib/python3.7/site-packages/broadlink/__init__.py", line 653, in _read_sensor check_error(response[0x22:0x24]) File "/usr/local/lib/python3.7/site-packages/broadlink/exceptions.py", line 97, in check_error raise exception(error_code) broadlink.exceptions.StorageError: The device storage is full