Alfen Wallbox auslesen über Modbus

Begonnen von Henson05, 09 Februar 2021, 18:01:19

Vorheriges Thema - Nächstes Thema

Henson05

Hallo zusammen,

Ich versuche mit Modbus Daten aus der Alfen Wallbox auszulesen.

Leider verstehe ich nicht, wie ich die Modbus Adressen lesen kann. Kann mir da jemand ein Beispiel geben? Ich bin schon ewig dran an dem Thema, komme aber keinen Schritt weiter. Als Einstieg möchte ich einfach den Namen oder den Hersteller auslesen (PDF S. 10)

Hier ist die Modbus Dokumentation zu finden:
https://seither.me:8888/sharing/DeivPQrzu

Das Device habe ich in Moment wie folgt angelegt:

Internals:
   CFGFN     
   DEF        1 30 192.168.178.114 TCP
   DeviceName 192.168.178.114:502
   EXPECT     idle
   FD         71
   FUUID      601da672-f33f-0b03-5718-2251fd8858cc9cfb
   IODev      Wallbox
   Interval   30
   LASTOPEN   1612555890.46388
   MODBUSID   1
   MODE       master
   MODULEVERSION Modbus 4.3.11 - 2.1.2021
   NAME       Wallbox
   NOTIFYDEV  global
   NR         7867
   NTFY_ORDER 50-Wallbox
   PARTIAL   
   PROTOCOL   TCP
   STATE      opened
   TCPConn    1
   TYPE       ModbusAttr
   devioLoglevel 3
   nextOpenDelay 60
   QUEUE:
   READ:
     BUFFER     
   READINGS:
     2021-02-05 21:11:30   state           opened
   REMEMBER:
     lid        1
     lname      Wallbox
     lrecv      1612555950.69264
     lsend      1612555950.57012
   defptr:
     Wallbox    1
   lastRead:
Attributes:
   alias      Wallbox
   dev-h-defExpr ScanFormat($hash, $val)
   dev-h-defLen 1
   dev-h-defPoll 1
   dev-h-defShowGet 1
   dev-h-defUnpack a2
   event-on-change-reading .*
   obj-h40099-len 17
   obj-h40099-reading Name
   obj-h40099-unpack A>
   room       Wallbox
   verbose    5

Bei GET bekomme ich folgendes LOG:
2021.02.05 21:15:49 5: Wallbox: GetUpdate called from Fhem internal timer
2021.02.05 21:15:49 4: Wallbox: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 30.0 sec at 21:16:19.388, interval 30
2021.02.05 21:15:49 5: Wallbox: GetUpdate objects from attributes: h40099
2021.02.05 21:15:49 5: Wallbox: GetUpdate full object list: h40099
2021.02.05 21:15:49 5: Wallbox: GetUpdate check h40099 => Name, poll = 1, polldelay = 0.5, last = 0
2021.02.05 21:15:49 4: Wallbox: GetUpdate will request Name
2021.02.05 21:15:49 5: Wallbox: GetUpdate tries to combine read commands
2021.02.05 21:15:49 4: Wallbox: GetUpdate readList = h40099
2021.02.05 21:15:49 4: Wallbox: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h40099, len 17, tid 180, master device Wallbox, reading Name (getUpdate),
response: id , fc
2021.02.05 21:15:49 5: Wallbox: QueueRequest called from DoRequest with h40099, qlen 0 from master Wallbox through io device Wallbox
2021.02.05 21:15:49 5: Wallbox: StartQueueTimer called from QueueRequest sets internal timer to process queue in 0.000 seconds
2021.02.05 21:15:49 5: Wallbox: ProcessRequestQueue called from Fhem internal timer as queue:Wallbox, qlen 1, request: request: id 1, read fc 3 h40099, len 17, tid 180, master device Wallbox, reading Name (getUpdate), queued 0.07 secs ago
2021.02.05 21:15:49 5: Wallbox: checkDelays sendDelay, last send to same device was 2.868 secs ago, required delay is 0.1
2021.02.05 21:15:49 5: Wallbox: checkDelays clientSwitchDelay is not relevant
2021.02.05 21:15:49 5: Wallbox: checkDelays commDelay, last communication with same device was 2.752 secs ago, required delay is 0.1
2021.02.05 21:15:49 5: Wallbox: checkDelays busDelayRead, last activity on bus  was 2.752 secs ago, required delay is 0
2021.02.05 21:15:49 4: Wallbox: ProcessRequestQueue (V4.3.11 - 2.1.2021) qlen 1, sending 00b40000000601039ca30011 via 192.168.178.114:502, read buffer empty,
request: id 1, read fc 3 h40099, len 17, tid 180, master device Wallbox, reading Name (getUpdate), queued 0.07 secs ago,
response: id , fc
2021.02.05 21:15:49 5: Wallbox: Send called from ProcessRequestQueue
2021.02.05 21:15:49 5: SW: 00b40000000601039ca30011
2021.02.05 21:15:49 5: Wallbox: read buffer: 00b400000003018302
2021.02.05 21:15:49 5: Wallbox: ParseFrameStart called from ReadFn
2021.02.05 21:15:49 4: Wallbox: ParseFrameStart (TCP) extracted id 1, fCode 131, tid 180, dlen 3 and data 02
2021.02.05 21:15:49 5: Wallbox: HandleResponse called from ReadFn
2021.02.05 21:15:49 5: Wallbox: ParseResponse called from HandleResponse
2021.02.05 21:15:49 4: Wallbox: HandleResponse got response with error code 83 / 02, illegal data address
2021.02.05 21:15:49 4: Wallbox: HandleResponse done, current frame / read buffer: 00b400000003018302, id 1, fCode 131, tid 180,
request: id 1, read fc 3 h40099, len 17, tid 180, master device Wallbox, reading Name (getUpdate), queued 0.21 secs ago, sent 0.14 secs ago,
response: id 1, fc 131 error code 02, len 17
2021.02.05 21:15:49 5: Wallbox: ResetExpect for HandleResponse from response to idle
2021.02.05 21:15:49 5: Wallbox: DropFrame called from ReadFn - drop 00b400000003018302
Beitrag editieren
Hue Bridge / CUL / ZWave / Alexa / Dimplex Wärmepumpe - Modbus TCP / LaCrosse / Sonoff S20 / Sonoff 4CH / HM-SEC-SC-2 / Synology / INSTAR / Shelly PLUG S / Shelly 2.5

Wzut

warum master wenn in deiner Doku steht Slave Addr 200 ?
Wie kommst du auf Register Nr. 40099 wenn in der Doku Register Nr. 100 für den Name steht ?
BTW : Bitte in Zukunft Code Tags benutzen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher