Dupline Kanalgenerator mit ModbusAttr auslesen. Unpack immer "a"

Begonnen von RaKoHe, 30 Juni 2021, 14:39:50

Vorheriges Thema - Nächstes Thema

RaKoHe

Moin FHEMler.

Ich möchte meinen Dupline Kanalgenerator DKG20 von der Firma Doepke per Modbus RTU auszulesen.

Ausgelesen wird mit ModbusAttr und einem USB to Serial.

Es werden auch die aktuellen Zustände(0000/0001) gelesen, nur wird dann immer mit unpack "a" aus dem 0001=
ParseObj unpacked 30 with a to 0 hex 30
gemacht.
Wo kommt diese 30 her?

Es ist egal was ich als unpack definiere,hier versuchsweise C
Ich habe auch schon map ohne Erfolg probiert, was aber letzlich das Ziel ist.
0000=Aus 0001=Ein



Anbei die Modbus Beschreibung von Doepke. siehe 3.3.2 auf Seite 15

Vielen Dank für eure Hilfe

P.S.: Das Dupline System entspricht vermutlich dem Carlo Gavazzi Fieldbus.

defmod DUPATTR ModbusAttr 5 15 /dev/serial/by-path/platform-3f980000.usb-usb-0:1.1.3:1.0-port0@57600,8,N,1
attr DUPATTR userattr dev-d-defPoll dev-d-defUnpack dev-d-read obj-d1584-reading
attr DUPATTR dev-d-defPoll 1
attr DUPATTR dev-d-defUnpack C
attr DUPATTR dev-d-read 02
attr DUPATTR obj-d1584-reading Schreibtischlampeneu
attr DUPATTR room Heizung
attr DUPATTR verbose 5

setstate DUPATTR opened
setstate DUPATTR 2021-06-30 12:18:48 Schreibtischlampe 0
setstate DUPATTR 2021-06-30 14:02:31 Schreibtischlampeneu 0
setstate DUPATTR 2021-06-30 14:02:48 state opened


2021.06.30 14:17:40 4: DUPATTR: ResponseDone request: id 5, fCode 02, type d, adr 1584, len 1 for device DUPATTR reading Schreibtischlampeneu (getUpdate), queued 0.02 secs ago, sent 0.02 secs ago, Current read buffer: 050202000189b8, Id 5, fCode 2, response: id 5, fCode 2, type d, adr 1584, len 1, value 0001
2021.06.30 14:17:40 5: DUPATTR: HandleResponse got 1 readings from ParseObj for DUPATTR
2021.06.30 14:17:40 4: DUPATTR: ParseObj assigns value 0 to Schreibtischlampeneu
2021.06.30 14:17:40 5: DUPATTR: ParseObj unpacked 30 with a to 0 hex 30
2021.06.30 14:17:40 5: DUPATTR: ParseObj ObjInfo for d1584: reading=Schreibtischlampeneu, unpack=a, expr=, format=, map=
2021.06.30 14:17:40 5: DUPATTR: ParseObj shortened coil / input bit string: 0, start adr 1584, valuesLen 1
2021.06.30 14:17:40 5: DUPATTR: ParseObj called with data 0001, type d, adr 1584, valuesLen 1, op read
2021.06.30 14:17:40 5: DUPATTR: HandleResponse now passing to logical device DUPATTR for parsing data
2021.06.30 14:17:40 5: DUPATTR: CheckChecksum (called from HandleResponse): 89b8 is valid
2021.06.30 14:17:40 5: DUPATTR: ParseResponse called from HandleResponse
2021.06.30 14:17:40 5: DUPATTR: HandleResponse called from Read
2021.06.30 14:17:40 4: DUPATTR: ParseFrameStart (RTU) extracted id 5, fCode 2 and data 020001
2021.06.30 14:17:40 5: DUPATTR: read buffer: 050202000189b8
2021.06.30 14:17:40 5: DUPATTR: StartQueueTimer called from ProcessRequestQueue removes internal timer because it is not needed now
2021.06.30 14:17:40 5: SW: 050206300001b8c9
2021.06.30 14:17:40 4: DUPATTR: ProcessRequestQueue (V4.1.5 - 17.9.2019) qlen 1, sending 050206300001b8c9 request: id 5, fCode 02, type d, adr 1584, len 1 for device DUPATTR reading Schreibtischlampeneu (getUpdate)


Vielen Dank

Ralf