Hallo,
nachdem ich mich durch die Doku von Modbus und ModbusAttr gewälzt habe und auch schon einige Forumsartikel gelesen habe, komme ich immer noch nicht weiter.
Ich habe einen Heizungsregler PMR09 von Pewo, den habe ich mit einer RS232 Schnittstelle versehen. Damit kann ich bestimmte Werte aus dem Regler auslesen. Das funktioniert mit dem PC und auch mit dem Raspi auf dem ich FHEM installiert habe mit modpoll. Die Schnittstelle funktioniert.
Nur mit FHEM komme ich nicht weiter.
Ich habe das Modbus Device wie folgt eingerichtet.
Internals
DEF /dev/ttyUSB0@19200,8,none,1
DeviceName /dev/ttyUSB0@19200,8,none,1
EXPECT idle
FD 8
FUUID 601aee99-f33f-f6c8-8998-1a7f30d9945cf01e
LASTOPEN 1612469730.2255
MODE master
NAME PMR09
NOTIFYDEV global
NR 87
NTFY_ORDER 50-PMR09
PARTIAL
PROTOCOL RTU
STATE opened
SerialConn 1
TYPE Modbus
devioLoglevel 3
nextOpenDelay 60
Offtopic: Wie kann man die Internals eigentlich kopieren ohne dass man sie nachbearbeiten muss?
Ein ModbusAttr Device habe ich wie folgt angelegt.
define WP ModbusAttr 1 60
Meinem Verständnis nach, müsste man dann einen Wert von der Modbus Adresse 601 wie folgt abfragen können.
attr WP obj-h601-reading Aussentemperatur
Da tut sich aber leider gar nichts, es wird kein Reading angelegt.
Was mache ich falsch? Wie kann man den Fehler eingrenzen?
Schönen Gruß
Christian
Ich würde sagen dir fehlen ATtribute.
Hier die Attribute für ein Reading meiner Heizung:
attr ETA_PU11_Modbus obj-h1002-expr $val/10
attr ETA_PU11_Modbus obj-h1002-len 2
attr ETA_PU11_Modbus obj-h1002-poll 1
attr ETA_PU11_Modbus obj-h1002-reading ETA_Puffer_3_oben
attr ETA_PU11_Modbus obj-h1002-unpack N
das expr brauchst nicht zwingend, aber denke die anderen schon.
Danke! Das war die Lösung!
Die Attribute -reading und -poll werden benötigt.
Mit dem folgenden Attribut kann man die Voreinstellung für alle Readings auf Poll 1 setzen
attr <name> dev-h-defPoll 1