[HM-Wired] HM485 erkennt ACK nicht

Begonnen von Thorsten Pferdekaemper, 17 Juli 2015, 00:48:22

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

Hi,
ich bin gerade dabei, mir ein HM-Wired-Homebrew-Gerät zu basteln. Ich glaube, dass bei der FHEM-Integration (10_HM485.pm etc.) etwas bei der Erkennung des ACK nicht stimmt. Beim "level_set" gibt es zwei Szenarios: 0x73 und 0x78. Ersteres erwartet vom Device nur ein ACK, letzteres eine komplette Antwort mit irgendwelchen Werten.

Wenn ich level_set mit "type" => 0x78 definiere klappt alles. FHEM schickt die Message mit 0x78, das Device schickt eine Antwort, die dann von FHEM wieder mit ACK quittiert wird. Soweit ist das ok.

Wenn ich level_set mit "type" => 0x73 definiere, dann schickt FHEM brav die Message mit 0x73 raus. Mein Device schickt ein ACK, aber anscheinend erkennt FHEM irgendwas nicht. Das ganze wird dann noch zweimal wiederholt. Warum erkennt FHEM meine ACKs nicht?

Etwas weniger wichtig, aber auch etwas seltsam: Nachdem die Nachricht dreimal kam, dauert es in paar Sekunden und dann geht's richtig ab auf der Leitung. Anscheinend holt sich FHEM dann wieder die ganzen Informationen vom Device, also Modultyp, Seriennummer, EEPROM-Inhalt etc. Mir ist nicht ganz klar, warum das passiert. Es erzeugt ja nur Last auf dem Bus und macht Übertragungsprobleme bestimmt nicht besser. (...aber wie gesagt, das mit den ACKs ist wichtiger.)
   
Ich kann auch noch ein paar Logs liefern, aber jetzt ist es schon bald 1:00 und vielleicht kann ja jemand auch so schon was dazu sagen.
Gruß,
   Thorsten
FUIP

Ralf9

Kannst Du mal die debug Ausgabe vom kompletten ACK Frame, der von deinem Gerät gesendet wird, Posten?
Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hglaser

#2
hallo

Kommt mir bekannt vor :-)
http://forum.fhem.de/index.php/topic,10607.msg291773.html#msg291773
Solltest du den HM485d benutzen, probier es einmal mit angehängten Dateien.
Dann sollte es zumindest bis HM485_Parse kommen.

lg Harald

Thorsten Pferdekaemper

Zitat von: Ralf9 am 17 Juli 2015, 07:25:35
Kannst Du mal die debug Ausgabe vom kompletten ACK Frame, der von deinem Gerät gesendet wird, Posten?
Also hier sind mal diverse Debug-Ausgaben:
1. Die Debug-Ausgabe von meinem Gerät selbst: (Bei "Sending" fehlt "FD" am Anfang, aber das liegt an meiner Debug-Ausgabe, es wird gesendet.)

Receiving
FD:42:00:00:14:18:00:00:00:01:07:73:00:00:00:00:94:5A:parsing from loop...Channel 0 set to 0
Sending ACK or Broadcast19
Sending
00:00:00:01:19:42:00:00:14:02:D2:3A:
Receiving
FD:42:00:00:14:18:00:00:00:01:07:73:00:00:00:00:94:5A:parsing from loop...Channel 0 set to 0
Sending ACK or Broadcast19
Sending
00:00:00:01:19:42:00:00:14:02:D2:3A:
Receiving
FD:42:00:00:14:18:00:00:00:01:07:73:00:00:00:00:94:5A:parsing from loop...Channel 0 set to 0
Sending ACK or Broadcast19
Sending
00:00:00:01:19:42:00:00:14:02:D2:3A:
Receiving
FD:42:00:00:14:1A:00:00:00:01:03:68:A6:06:parsing from loop...Hardware Version and Type
Sending
00:00:00:01:38:42:00:00:14:04:93:01:FC:6A:
Receiving
FD:42:00:00:14:19:00:00:00:01:02:58:7E:parsing from ackwait Received ACK
Receiving
FD:42:00:00:14:1C:00:00:00:01:03:6E:22:8C:parsing from loop...
Sending
00:00:00:01:58:42:00:00:14:0C:48:42:57:37:32:39:36:32:37:36:E8:12:
Receiving
FD:42:00:00:14:19:00:00:00:01:02:58:7E:parsing from ackwait Received ACK


2. FHEM Logfile bei "normaler" Geschwätzigkeit:

2015.07.17 09:30:44 3: HM485: RESPONSE TIMEOUT for 42000014
2015.07.17 09:30:51 3: HM485: Initialisierung von Modul 42000014
2015.07.17 09:31:02 3: HM485: Request config for device 42000014
2015.07.17 09:31:02 3: HM485: Lese Eeprom 42000014
2015.07.17 09:31:02 3: HM485: Channels initialisieren 42000014
2015.07.17 09:31:02 3: HM485: State der Channels ermitteln 42000014


3. Der Output vom HM485d mit hoher Geschwätzigkeit. Man sieht, dass ein ACK erkannt wird.

2015.07.17 09:42:27.937 4: HM485d: Rx: FD110D53C8420000141C000000017300000000
2015.07.17 09:42:27.945 5: SW: fd420000141c0000000107730000000055a0
2015.07.17 09:42:27.959 3: HM485d: Tx: (13:1) I[2](0,F,B)(1C) 00000001 -> 42000014 [7] 73(s) 00000000 {55A0}
2015.07.17 09:42:28.022 3: HM485d: Rx: ACK(2,B)(59) 42000014 -> 00000001 [2] {0BB4}
2015.07.17 09:42:28.166 5: SW: fd420000141c0000000107730000000055a0
2015.07.17 09:42:28.181 3: HM485d: Tx: (13:2) I[2](0,F,B)(1C) 00000001 -> 42000014 [7] 73(s) 00000000 {55A0}
2015.07.17 09:42:28.252 3: HM485d: Rx: dup frame: ACK(2,B)(59) 42000014 -> 00000001 [2] {0BB4}
2015.07.17 09:42:28.389 5: SW: fd420000141c0000000107730000000055a0
2015.07.17 09:42:28.394 3: HM485d: Tx: (13:3) I[2](0,F,B)(1C) 00000001 -> 42000014 [7] 73(s) 00000000 {55A0}
2015.07.17 09:42:28.464 3: HM485d: Rx: dup frame: ACK(2,B)(59) 42000014 -> 00000001 [2] {0BB4}
2015.07.17 09:42:28.597 4: HM485d: Tx: FD040D613439
2015.07.17 09:42:42.639 4: HM485d: Rx: FD0D0E53C8420000141E0000000168
2015.07.17 09:42:42.645 5: SW: fd420000141e000000010368eefc7c
2015.07.17 09:42:42.657 3: HM485d: Tx: (14:1) I[3](0,F,B)(1E) 00000001 -> 42000014 [3] 68(h) EE {FC7C}
2015.07.17 09:42:42.705 3: HM485d: Rx: Response: (14) I[0](3,F,B)(78) 42000014 -> 00000001 [4] 93(▒) 01 {65EC}
2015.07.17 09:42:42.711 5: SW: fd42000014190000000102587e
2015.07.17 09:42:42.716 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 42000014 [2] {587E}
2015.07.17 09:42:42.719 4: HM485d: Tx: FD050E72789301
2015.07.17 09:42:42.745 4: HM485d: Rx: FD0D0F53C84200001418000000016E
2015.07.17 09:42:42.752 5: SW: fd420000141800000001036e6a76
2015.07.17 09:42:42.759 3: HM485d: Tx: (15:1) I[0](0,F,B)(18) 00000001 -> 42000014 [3] 6E(n)  {6A76}
2015.07.17 09:42:42.836 3: HM485d: Rx: Response: (15) I[0](0,F,B)(18) 42000014 -> 00000001 [12] 48(H) 425737323936323736 {313E}


4. Das FHEM-Log mit verbose 5

2015.07.17 09:46:48 5: Cmd: >set HBW_TEST_HBW7296276_01 level 0<
2015.07.17 09:46:48 5: Triggering HBW_TEST_HBW7296276_01 (1 changes)
2015.07.17 09:46:48 5: Notify loop for HBW_TEST_HBW7296276_01 level 0
2015.07.17 09:46:48 5: SW: fd113153c8420000141e000000017300000000
2015.07.17 09:46:48 4: hm485: TX: (49) I[3](0,F,B)(1E) 00000001 -> 42000014 [7] 73(s) 00000000
2015.07.17 09:46:48 5: HM485_DoSendCommand: hmwId = 42000014 data = 7300000000 requestId = 49
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50428 GET /fhem?detail=HBW_TEST_HBW7296276_01
2015.07.17 09:46:48 4: 2229:FHEMWEB:192.168.178.29:50428: /fhem?detail=HBW_TEST_HBW7296276_01 / RL:2603 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2015.07.17 09:46:48 4: Connection closed for FHEMWEB:192.168.178.29:50427: EOF
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50428 GET /fhem/pgm2/style.css
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50424 GET /fhem/pgm2/jquery.min.js
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50438 GET /fhem/pgm2/jquery-ui.min.css
2015.07.17 09:46:48 4: Connection accepted from FHEMWEB:192.168.178.29:50440
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50439 GET /fhem/pgm2/jquery-ui.min.js
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50424 GET /fhem/pgm2/fhemweb_fbcalllist.js
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50438 GET /fhem/pgm2/defaultCommon.css
2015.07.17 09:46:48 4: HTTP FHEMWEB:192.168.178.29:50428 GET /fhem/pgm2/fhemweb_colorpicker.js
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50440 GET /fhem/pgm2/fhemweb.js
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50424 GET /fhem/pgm2/fhemweb_readingsGroup.js
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50438 GET /fhem/pgm2/fhemweb_readingsHistory.js
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50428 GET /fhem/pgm2/dashboard_style.css
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50439 GET /fhem/pgm2/fhemweb_knob.js
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50424 GET /fhem/pgm2/fhemweb_uzsu.js
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50438 GET /fhem/pgm2/hm485.js?1437118140.06133
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50428 GET /fhem/images/default/icoEverything.png
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50440 GET /fhem/pgm2/fhemweb_sortable.js
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50440 GET /fhem/images/default/fhemicon.png
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50428 GET /fhem?cmd={ReadingsVal(%22HBW_TEST_HBW7296276_01%22,%22level%22,%22%22)}&XHR=1
2015.07.17 09:46:49 5: Cmd: >{ReadingsVal("HBW_TEST_HBW7296276_01","level","")}<
2015.07.17 09:46:49 4: 2229:FHEMWEB:192.168.178.29:50428: /fhem?cmd={ReadingsVal(%22HBW_TEST_HBW7296276_01%22,%22level%22,%22%22)}&XHR=1 / RL:22 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50438 GET /fhem?cmd={AttrVal(%22HBW_TEST_HBW7296276_01%22,%22room%22,%22%22)}&XHR=1
2015.07.17 09:46:49 5: Cmd: >{AttrVal("HBW_TEST_HBW7296276_01","room","")}<
2015.07.17 09:46:49 4: 2229:FHEMWEB:192.168.178.29:50438: /fhem?cmd={AttrVal(%22HBW_TEST_HBW7296276_01%22,%22room%22,%22%22)}&XHR=1 / RL:26 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.07.17 09:46:49 4: HTTP FHEMWEB:192.168.178.29:50438 GET /fhem?XHR=1&inform=type=status;filter=HBW_TEST_HBW7296276_01;since=1437119207;fmt=JSON×tamp=1437119207645
2015.07.17 09:46:49 5: hm485 dispatch �1aB
2015.07.17 09:46:49 3: HM485: RESPONSE TIMEOUT for 42000014
2015.07.17 09:46:56 3: HM485: Initialisierung von Modul 42000014
2015.07.17 09:47:03 5: SW: fd0d3253c842000014180000000168
2015.07.17 09:47:03 4: hm485: TX: (50) I[0](0,F,B)(18) 00000001 -> 42000014 [3] 68(h)
2015.07.17 09:47:03 5: HM485_DoSendCommand: hmwId = 42000014 data = 68 requestId = 50
2015.07.17 09:47:03 5: HM485_DoSendCommand: hmwId = 42000014 data = 6E requestId = 51
2015.07.17 09:47:03 5: HM485_DoSendCommand: hmwId = 42000014 data = 76 requestId = 52
2015.07.17 09:47:03 5: hm485 dispatch �2r�
2015.07.17 09:47:03 5: HM485_ProcessResponse: deviceKey =  requestType = 68 requestData =  msgData = 9301
2015.07.17 09:47:03 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:03 5: Triggering global (1 changes)
2015.07.17 09:47:03 5: Notify loop for global ATTR HBW_TEST_HBW7296276 model HBW_TEST
2015.07.17 09:47:03 5: SW: fd0d3353c8420000141a000000016e
2015.07.17 09:47:03 4: hm485: TX: (51) I[1](0,F,B)(1A) 00000001 -> 42000014 [3] 6E(n)
2015.07.17 09:47:03 5: hm485 dispatch �
3r8HBW7296276
2015.07.17 09:47:03 5: HM485_ProcessResponse: deviceKey =  requestType = 6E requestData =  msgData = 48425737323936323736
2015.07.17 09:47:03 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:03 5: Triggering global (1 changes)
2015.07.17 09:47:03 5: Notify loop for global ATTR HBW_TEST_HBW7296276 serialNr HBW7296276
2015.07.17 09:47:03 5: SW: fd0d3453c8420000141c0000000176
2015.07.17 09:47:03 4: hm485: TX: (52) I[2](0,F,B)(1C) 00000001 -> 42000014 [3] 76(v)
2015.07.17 09:47:03 5: hm485 dispatch �4rX
2015.07.17 09:47:03 5: HM485_ProcessResponse: deviceKey =  requestType = 76 requestData =  msgData = 0306
2015.07.17 09:47:03 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:03 5: Triggering global (1 changes)
2015.07.17 09:47:03 5: Notify loop for global ATTR HBW_TEST_HBW7296276 firmwareVersion 3.06
2015.07.17 09:47:07 3: HM485: Request config for device 42000014
2015.07.17 09:47:07 3: HM485: Lese Eeprom 42000014
2015.07.17 09:47:07 3: HM485: Channels initialisieren 42000014
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_01 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_02 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_03 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_04 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_05 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_06 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_07 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_08 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_09 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_10 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_11 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_12 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_13 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_14 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_15 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_16 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_17 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_18 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_19 subType dimmer
2015.07.17 09:47:07 5: Triggering global (1 changes)
2015.07.17 09:47:07 5: Notify loop for global ATTR HBW_TEST_HBW7296276_20 subType dimmer
2015.07.17 09:47:07 3: HM485: State der Channels ermitteln 42000014
2015.07.17 09:47:07 5: SW: fd103553c8420000141e0000000152000010
2015.07.17 09:47:07 4: hm485: TX: (53) I[3](0,F,B)(1E) 00000001 -> 42000014 [6] 52(R) 000010
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 52000010 requestId = 53
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5300 requestId = 54
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5301 requestId = 55
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5302 requestId = 56
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5303 requestId = 57
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5304 requestId = 58
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5305 requestId = 59
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5306 requestId = 60
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5307 requestId = 61
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5308 requestId = 62
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5309 requestId = 63
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 530A requestId = 64
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 530B requestId = 65
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 530C requestId = 66
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 530D requestId = 67
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 530E requestId = 68
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 530F requestId = 69
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5310 requestId = 70
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5311 requestId = 71
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5312 requestId = 72
2015.07.17 09:47:07 5: HM485_DoSendCommand: hmwId = 42000014 data = 5313 requestId = 73
2015.07.17 09:47:07 5: hm485 dispatch �5rx�����������
2015.07.17 09:47:07 5: HM485:Device:dataConversion: retVal = 5.10
2015.07.17 09:47:07 5: SW: fd0e3653c84200001418000000015300
2015.07.17 09:47:07 4: hm485: TX: (54) I[0](0,F,B)(18) 00000001 -> 42000014 [4] 53(S) 00
2015.07.17 09:47:07 5: hm485 dispatch �6ri
2015.07.17 09:47:07 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 00 msgData = 69000000
2015.07.17 09:47:07 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:07 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:07 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:07 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:07 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:07 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:07 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:07 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 01 msgData = 69000000 actionType = response
2015.07.17 09:47:07 5: SW: fd0e3753c8420000141a000000015301
2015.07.17 09:47:07 4: hm485: TX: (55) I[1](0,F,B)(1A) 00000001 -> 42000014 [4] 53(S) 01
2015.07.17 09:47:07 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �7r8i
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 01 msgData = 69010000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 02 msgData = 69010000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3853c8420000141c000000015302
2015.07.17 09:47:08 4: hm485: TX: (56) I[2](0,F,B)(1C) 00000001 -> 42000014 [4] 53(S) 02
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �8rXi
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 02 msgData = 69020000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 03 msgData = 69020000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3953c8420000141e000000015303
2015.07.17 09:47:08 4: hm485: TX: (57) I[3](0,F,B)(1E) 00000001 -> 42000014 [4] 53(S) 03
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �9rxi
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 03 msgData = 69030000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 04 msgData = 69030000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3a53c84200001418000000015304
2015.07.17 09:47:08 4: hm485: TX: (58) I[0](0,F,B)(18) 00000001 -> 42000014 [4] 53(S) 04
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �:ri
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 04 msgData = 69040000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 05 msgData = 69040000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3b53c8420000141a000000015305
2015.07.17 09:47:08 4: hm485: TX: (59) I[1](0,F,B)(1A) 00000001 -> 42000014 [4] 53(S) 05
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �;r8i
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 05 msgData = 69050000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 06 msgData = 69050000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3c53c8420000141c000000015306
2015.07.17 09:47:08 4: hm485: TX: (60) I[2](0,F,B)(1C) 00000001 -> 42000014 [4] 53(S) 06
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �<rXi
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 06 msgData = 69060000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 07 msgData = 69060000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3d53c8420000141e000000015307
2015.07.17 09:47:08 4: hm485: TX: (61) I[3](0,F,B)(1E) 00000001 -> 42000014 [4] 53(S) 07
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �=rxi
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 07 msgData = 69070000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 08 msgData = 69070000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3e53c84200001418000000015308
2015.07.17 09:47:08 4: hm485: TX: (62) I[0](0,F,B)(18) 00000001 -> 42000014 [4] 53(S) 08
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:08 5: hm485 dispatch �>ri
2015.07.17 09:47:08 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 08 msgData = 69080000
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:08 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:08 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:08 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:08 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:08 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:08 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 09 msgData = 69080000 actionType = response
2015.07.17 09:47:08 5: SW: fd0e3f53c8420000141a000000015309
2015.07.17 09:47:08 4: hm485: TX: (63) I[1](0,F,B)(1A) 00000001 -> 42000014 [4] 53(S) 09
2015.07.17 09:47:08 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �?r8i
2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 09 msgData = 69090000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 10 msgData = 69090000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4053c8420000141c00000001530a
2015.07.17 09:47:09 4: hm485: TX: (64) I[2](0,F,B)(1C) 00000001 -> 42000014 [4] 53(S) 0A
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �@rXi

2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 0A msgData = 690A0000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 11 msgData = 690A0000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4153c8420000141e00000001530b
2015.07.17 09:47:09 4: hm485: TX: (65) I[3](0,F,B)(1E) 00000001 -> 42000014 [4] 53(S) 0B
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �Arxi
2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 0B msgData = 690B0000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 12 msgData = 690B0000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4253c8420000141800000001530c
2015.07.17 09:47:09 4: hm485: TX: (66) I[0](0,F,B)(18) 00000001 -> 42000014 [4] 53(S) 0C
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �Bri
2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 0C msgData = 690C0000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 13 msgData = 690C0000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4353c8420000141a00000001530d
2015.07.17 09:47:09 4: hm485: TX: (67) I[1](0,F,B)(1A) 00000001 -> 42000014 [4] 53(S) 0D
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �Cr8i

2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 0D msgData = 690D0000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 14 msgData = 690D0000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4453c8420000141c00000001530e
2015.07.17 09:47:09 4: hm485: TX: (68) I[2](0,F,B)(1C) 00000001 -> 42000014 [4] 53(S) 0E
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �DrXi
2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 0E msgData = 690E0000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 15 msgData = 690E0000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4553c8420000141e00000001530f
2015.07.17 09:47:09 4: hm485: TX: (69) I[3](0,F,B)(1E) 00000001 -> 42000014 [4] 53(S) 0F
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �Erxi
2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 0F msgData = 690F0000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 16 msgData = 690F0000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4653c84200001418000000015310
2015.07.17 09:47:09 4: hm485: TX: (70) I[0](0,F,B)(18) 00000001 -> 42000014 [4] 53(S) 10
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:09 5: hm485 dispatch �Fri
2015.07.17 09:47:09 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 10 msgData = 69100000
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:09 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:09 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:09 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:09 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:09 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:09 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 17 msgData = 69100000 actionType = response
2015.07.17 09:47:09 5: SW: fd0e4753c8420000141a000000015311
2015.07.17 09:47:09 4: hm485: TX: (71) I[1](0,F,B)(1A) 00000001 -> 42000014 [4] 53(S) 11
2015.07.17 09:47:09 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:10 5: hm485 dispatch �Gr8i
2015.07.17 09:47:10 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 11 msgData = 69110000
2015.07.17 09:47:10 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:10 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:10 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:10 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:10 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:10 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:10 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:10 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 18 msgData = 69110000 actionType = response
2015.07.17 09:47:10 5: SW: fd0e4853c8420000141c000000015312
2015.07.17 09:47:10 4: hm485: TX: (72) I[2](0,F,B)(1C) 00000001 -> 42000014 [4] 53(S) 12
2015.07.17 09:47:10 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:10 5: hm485 dispatch �HrXi
2015.07.17 09:47:10 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 12 msgData = 69120000
2015.07.17 09:47:10 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:10 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:10 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:10 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:10 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:10 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:10 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:10 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 19 msgData = 69120000 actionType = response
2015.07.17 09:47:10 5: SW: fd0e4953c8420000141e000000015313
2015.07.17 09:47:10 4: hm485: TX: (73) I[3](0,F,B)(1E) 00000001 -> 42000014 [4] 53(S) 13
2015.07.17 09:47:10 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0
2015.07.17 09:47:10 5: hm485 dispatch �Irxi
2015.07.17 09:47:10 5: HM485_ProcessResponse: deviceKey =  requestType = 53 requestData = 13 msgData = 69130000
2015.07.17 09:47:10 5: HM485:Device:dataConversion: retVal = 25.50
2015.07.17 09:47:10 5: Device:getFrameInfos:  frameTypeName = info_level
2015.07.17 09:47:10 5: HM485:Device:getChannelValueMap: retVal = level bool = 0 chtype = dimmer
2015.07.17 09:47:10 5: Device:convertFrameDataToValue: deviceKey = HBW_TEST valId = level value1 = 0
2015.07.17 09:47:10 5: HM485:Device:dataConversion: retVal = 0
2015.07.17 09:47:10 5: Device:convertFrameDataToValue: value2 = 0
2015.07.17 09:47:10 5: Device:valueToControl: valName = level = 0
2015.07.17 09:47:10 5: HM485_ProcessChannelState: name2 = HBW_TEST_HBW7296276 hmwId = 42000014 Channel = 20 msgData = 69130000 actionType = response
2015.07.17 09:47:10 5: HM485_ChannelDoUpdate: valueKey = level value = 0 Alter Wert = 0


Gruß,
   Thorsten
FUIP

Ralf9

Hallo Thorsten,

bitte lösche mal hier das 's' raus:
my @validRequestTypes = ('K', 'R', 'S', 'h', 'n', 'p', 'r', 's', 'v', 'x', 'Ë');

Diese Zeile ist in der HM485_Protocol.pm
Bei den dort aufgeführten Zeichen wird auf ein Response gewartet. Bei den nicht aufgeführten, wird auf ack gewartet.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Thorsten Pferdekaemper

Zitat von: honk am 17 Juli 2015, 07:30:39Kommt mir bekannt vor :-)
http://forum.fhem.de/index.php/topic,10607.msg291773.html#msg291773
Solltest du den HM485d benutzen, probier es einmal mit angehängten Dateien.
Dann sollte es zumindest bis HM485_Parse kommen.
Ich hab's ausprobiert und es funktioniert komplett. Danke!
Was hast Du daran geändert?
Ist das ganze Deiner Meinung nach gut genug, um es in's Git aufzunehmen, oder soll ich noch was testen?

Ich habe mir auch mal ein bisschen das Coding betrachtet und mir über die ACK-Verarbeitung ein paar Gedanken gemacht. Es scheint so zu sein, dass zwischen Befehlen unterschieden wird, die ein ACK erwarten und anderen, die eine echte Antwort erwarten. Meiner Meinung nach ist das nicht ganz richtig. (Vielleicht habe ich das aber auch falsch verstanden.)
Die Befehle, bei denen nur ein ACK erwartet wird, sind (soweit ich weiß): 0x21, 0x43, 0x57, 0x5A, 0x67 (?), 0x6C, 0x72, 0x73, 0x77 und alle unbekannten Befehle. Letzteres bedeutet, dass wenn ich irgendeinen Müll an das Device schicke, aber Device-Adresse und Prüfsumme stimmt, dann ist trotzdem ein ACK zu erwarten.
Jetzt hast Du in einem anderen Post geschrieben, dass manche Devices auf 0x73 mit 0x69 antworten und nicht einfach mit ACK. Das "darf" das Device natürlich. Im Prinzip darf ein ACK sozusagen in jede andere Message "verpackt" werden. Es muss nur Absender- und Empfängeradresse und der Kram mit Empfangs-/Sendefolgenummer passen.
Das Verhalten kommt nicht unbedingt auf's Device an. Ein Device darf das auch mal so, mal so machen.

Auf der anderen Seite: Wenn man einen Befehl wie z.B. 0x78 abschickt, und das Device einfach nur ein ACK schickt, dann macht das Device natürlich was falsch. Aber: Die Message dann zu wiederholen bringt nichts. Vom Protokoll her ist ja alles ok, es ist in dem Fall was prinzipiell faul am Device.
 
Mit folgendem Vorgehen würde man das Coding vereinfachen und das ganze wäre auch "richtiger":
1. Bei allen Befehlen, außer Spezialsachen (0x67 (?), 0x75, 0x7A) wird auf ACK gewartet.
2. Jede empfangene Nachricht kann als ACK gelten. Die ACK-Verarbeitung wird schon in der Protokollschicht verarbeitet.
   (Wenn eine empfangende Nachricht nur ein ACK ist, dann muss das Modul selbst davon eigentlich gar nichts mitbekommen.)
3. Bei Befehlen, die ein 0x69 "erwarten" muss man gar nicht speziell auf das 0x69 warten. Warum die 0x69 kommt ist ja eigentlich egal, FHEM muss darauf immer mit einem Update der Readings etc. reagieren. (Dasselbe vielleicht bei 0x45, das auf 0x65 wartet, aber da bin ich mir nicht so sicher.)
4. Alles andere, wie z.B. 0x68, 0x6E: Da bin ich mir nicht so ganz sicher, das kommt darauf an, wie das momentan implementiert ist.

Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Zitat von: Ralf9 am 17 Juli 2015, 10:36:03bitte lösche mal hier das 's' raus:
my @validRequestTypes = ('K', 'R', 'S', 'h', 'n', 'p', 'r', 's', 'v', 'x', 'Ë');

Diese Zeile ist in der HM485_Protocol.pm
Bei den dort aufgeführten Zeichen wird auf ein Response gewartet. Bei den nicht aufgeführten, wird auf ack gewartet.
Das ist anscheinend die Änderung, die in honks neuen Dateien auch drin ist. Es funktioniert momentan für mich, aber ich bin mir nicht sicher, ob das wirklich schon die komplette Lösung ist. Siehe meinen vorherigen Post...
FUIP

hglaser

hallo thorsten

ZitatIst das ganze Deiner Meinung nach gut genug, um es in's Git aufzunehmen, oder soll ich noch was testen?
ganz wie du willst, bei mir läufts seit kurz nach dem post auf den ich mich bezogen habe ohne nebenwirkung.

den rest deines posts muss ich noch etwas sacken lassen, aber ich fürchte du hast recht.

lg harald

Thorsten Pferdekaemper

Hi,
ich habe jetzt die neue Version von HM485_Protocol.pm ins Git gestellt. Die Änderungen in HM485d.pl waren nicht nötig, um das Problem zu lösen.
Ich habe auch ausprobiert, was passiert, wenn ein Device trotzdem auf eine 0x73-Message eine Response mit Zustand des Kanals schickt. Das funktioniert genauso wie wenn es eine 0x78-Message gewesen wäre. Das ganze ist also kompatibel zu Geräten, die sowohl auf 0x73 als auch auf 0x78 eine Response schicken.
Gruß,
   Thorsten
FUIP

hglaser

Hallo thorsten
ZitatDie Änderungen in HM485d.pl waren nicht nötig, um das Problem zu lösen.
Achso ja stimmt, ich verwende die neue DevIO, nur dann würde man die angehängte HM485d.pl benötigen.

lg Harald

Thorsten Pferdekaemper

Zitat von: honk am 17 Juli 2015, 23:48:22
Achso ja stimmt, ich verwende die neue DevIO, nur dann würde man die angehängte HM485d.pl benötigen.
Kannst Du das erklären? Gibt es eine elegantere Variante als die alte DevIO zu kopieren und in ServerTools zu ändern?
FUIP

hglaser

hallo

da gibt es nicht viel zu erklären. ich habe es einfach so gemacht, wie Rudolf es hier http://forum.fhem.de/index.php/topic,32931.msg262128.html#msg262128 vorgeschlagen hat.
und habe die noch fehlenden subs in HM485d.pl eingefügt. Respond Timeouts habe ich allerdings, aber nur wenn ich eeprom-daten anfordere und die fange ich ab wie in dem anderen Thread beschrieben. Irgendwo liegt noch ein timing problem. Aber ich glaube es liegt nicht nur an dieser neuen devIO.pm

lg harald

Thorsten Pferdekaemper

Hi Harald,
am Ende des Threads (http://forum.fhem.de/index.php/topic,32931.msg262128.html#msg262128) sagt gevoo, dass er das am 25.Februar in seine Version übernommen hat. Ich habe mal einen Vergleich zwischen Deiner Version und der im Git gemacht. Die beiden Versionen sind im Wesentlichen gleich, bis auf Leerzeilen, Kommentare, Reihenfolge von manchen Funktionsdefinition und das hier:
Deine Version:

# Init for GPIO usage (e.g. on Raspberry Pi)
if ($gpioTxenInit ne '') {

parseCommand($gpioTxenInit);
}

$attr{global}{verbose} = $logVerbose;

[...]

sub interfaceSetGpio ($) {
my ($value) = @_;

if ($gpioTxenCmd0 ne '' && $gpioTxenCmd0 ne '') {
my $cmd = ($value == 1) ? $gpioTxenCmd1 : $gpioTxenCmd0;
parseCommand($cmd);

}
}


Git-Version (geevo):

# Init for GPIO usage (e.g. on Raspberry Pi)
if ($gpioTxenInit ne '') {
system($gpioTxenInit);
Log (2, 'cmd: ' . $gpioTxenInit);
}

$attr{global}{verbose} = $logVerbose;

[...]

sub interfaceSetGpio ($) {
my ($value) = @_;

if ($gpioTxenCmd0 ne '' && $gpioTxenCmd1 ne '') {
my $cmd = ($value == 1) ? $gpioTxenCmd1 : $gpioTxenCmd0;
system($cmd);
# print "cmd: $cmd\n";
}
}


D.h. der einzige Unterschied ist die direkte Verwendung von system() anstatt parseCommand(). Wahrscheinlich ist das meistens egal. Ich glaube, Ralf9 braucht das. (@Ralf: Hast Du dazu eine Meinung?)

Bedeutet das ganze jetzt, dass ich eigentlich den Kram mit der DevIo485.pm und der Änderung des require in ServerTools.pm wieder rausnehmen kann?

Zur Sache mit den EEPROM-Daten: Was ist denn daran so speziell? Ich habe im Coding einiges dazu an Stellen gesehen, wo ich es nicht erwartet hätte und jetzt sagst Du auch, dass es da Probleme gibt.

Gruß,
   Thorsten
FUIP

Ralf9

#13
Zitat von: Thorsten Pferdekaemper am 18 Juli 2015, 09:54:38
D.h. der einzige Unterschied ist die direkte Verwendung von system() anstatt parseCommand(). Wahrscheinlich ist das meistens egal. Ich glaube, Ralf9 braucht das. (@Ralf: Hast Du dazu eine Meinung?)

Bedeutet das ganze jetzt, dass ich eigentlich den Kram mit der DevIo485.pm und der Änderung des require in ServerTools.pm wieder rausnehmen kann?

Ja ich benötige das mit dem $gpioTxenInit und $gpioTxenCmd. Ich mußte da ein paar Änderungen vornehmen, da die orginal Version nicht funktioniert hat. Ich habe das parseCommand durch system ersetzt, da im  parseCommand ein Fehler war den ich nicht gefunden habe.

Als Busadapter verwende ich den LTC 1487 und den ADuM1301 (Digital Isolator) den ich an der seriellen Schnittstelle von Cubietuck angeschlossen habe.
Ich musste feststellen, das die Geschichte mit dem $gpioTxenCmd sehr zeitkritisch ist. Ich denke, das ich der einzigste sein dürfte der den Busadapter an der seriellen betreibt.

Mir wärs lieber, wenn wir den Kram mit der DevIo485.pm behalten würden, oder könnt ihr gewährleisten, daß ihr es mitbekommt wenn es z.B. in einem halben Jahr wieder eine Änderung an der DevIo gibt. Wir können ja bei bedarf die Änderungen in die DevIo485.pm übernehmen.
Ich sehe an der neuen DevIo nur Nachteile. Wenn ich es richtig sehe bedeuten die Änderungen, daß es nach einem Disconnect ca 5 sec dauern kann bis z.B. ein Tastendruck in fhem ankommt.
Hat der sofortige recconnect irgendwelche Nachteile? Wurde in der "freien Wildbahn" schon ein Gerät gesichtet das damit Probleme hat?

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hglaser

Hallo

ZitatMir wärs lieber, wenn wir den Kram mit der DevIo485.pm behalten würden, oder könnt ihr gewährleisten, daß ihr es mitbekommt wenn es z.B. in einem halben Jahr wieder eine Änderung an der DevIo gibt. Wir können ja bei bedarf die Änderungen in die DevIo485.pm übernehmen.
Wenn es mit der neuen DevIO so viele Probleme gibt ok. Die Frage ist nur warum Rudolf es eingebaut hat.
Änderungen wird es wohl immer geben, fürchte ich. Ich hätte nichts gegen eine DevIo485, wollte es eigentlich nur vereinfachen.
Zitat
Bedeutet das ganze jetzt, dass ich eigentlich den Kram mit der DevIo485.pm und der Änderung des require in ServerTools.pm wieder rausnehmen kann?
also wohl leider nicht.
ZitatZur Sache mit den EEPROM-Daten: Was ist denn daran so speziell? Ich habe im Coding einiges dazu an Stellen gesehen, wo ich es nicht erwartet hätte und jetzt sagst Du auch, dass es da Probleme gibt.
ich habe hier manchmal response timeouts beim EEProm auslesen. Es kann natürlich sein, daß es mit der alten DevIO wirklich besser geht. Ich hab es noch nicht ausprobiert.

lg Harald