NEWS
[Gelöst, ModbusAdapter] RTU - Fehler Datenauslesen
-
Hallo,
ich bin neu im Bereich Modbus unterwegs und habe von einem Bekannten 2 BHT-1000 Raumthermostate erhalten. Diese soll ich für ihn in den IOBroker auslesen und integrieren.
Leider sagt die Beschreibung der Geräte nur, dass der Standart RS485/Modbus ist und man erhält keine Angaben zu den Registern. Das einzige was ich einstellen kann ist die ID für die Modbuskommunikation, welche ich auf 0A laut Thermostat gestellt habe. Übersetzt in DEZ wäre das ja dann 10.Also habe ich mir für einen Raspi3 erstmal einen USB nach RS485 Adapter geholt und angeschlossen. Wenn ich jetzt aus dem Netz folgendes Skript aufrufe, so bekomm ich auch die Temperatur angezeigt.
#!/usr/bin/env python import minimalmodbus import time minimalmodbus.BAUDRATE = 9600 # port name, slave address (in decimal) instrument = minimalmodbus.Instrument('/dev/ttyUSB0', 10) while True: # Register number, number of decimals, function code temperature = instrument.read_register(1, 1) print temperature // Ergebnis: 24.5 time.sleep(1)Also funktioniert der Chip und die Verbindung schon mal.
Nur nun bin ich zu dumm diese Daten erfolgreich in den Modbus Adapter zu übertragen. Dort habe ich schon mehrere Sachen getestet, mit Alias und ohne.
Aber ich bekomme immer im Log folgende Fehler:modbus.0 2019-06-27 18:22:05.168 info Disconnected from slave modbus.0 2019-06-27 18:22:04.205 warn Poll error count: 1 code: {"err":"timeout"} modbus.0 2019-06-27 18:22:04.205 error Request timed out. modbus.0 2019-06-27 18:22:04.201 warn Error: undefined modbus.0 2019-06-27 18:21:59.179 info Connected to slave modbus.0 2019-06-27 18:21:58.660 info starting. Version 3.0.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.4.0 host.IOBrokerServer 2019-06-27 18:21:56.600 info instance system.adapter.modbus.0 started with pid 18930 host.IOBrokerServer 2019-06-27 18:21:54.132 info instance system.adapter.modbus.0 terminated with code 156 () host.IOBrokerServer 2019-06-27 18:21:54.077 info stopInstance system.adapter.modbus.0 killing pid 16734 host.IOBrokerServer 2019-06-27 18:21:54.077 info stopInstance system.adapter.modbus.0 host.IOBrokerServer 2019-06-27 18:21:54.076 info object change system.adapter.modbus.0Vermutlich handelt es sich nur um ein Verständnisproblem. Kann mir jemand das mal kurz erklären, in welcher Form der Adapter die Daten von mir erwartet?
Hier noch meine aktuellen eingetragenen Werte:


Dann hab ich noch mit Alias probiert:
Also Häkchen bei Alias gesetzt, dann setzt er den Wert unter Eingangsregister auf 30011.
Die Fehlermeldung bleibt aber immer die gleiche.
Vielen Dank für die Hilfe und viele Grüße!
Milo
-
Ich nochmal,
ich hab noch ein Datenblatt gefunden von den Dingern. Demnach muss ich als Register Adresse die 40002 anwählen.
Also hab ich entsprechend die Eingangsregister mal auf 1040002 geändert, aber ich bekomme immer noch die gleichen Fehler :(
Beigefügt hab ich das entsprechende Datenblatt.


Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden

