Hallo
Meine Klappanzeige HM-DIS-TD-T begrüßte mich gestern Abend mit rotem Geblinker der LED. Batteriewarnung war vorher keine da. Die Batterien hatten etwa 1.2 V und ich habe sie erneuert. Leider ließ sich das Teil danach partout nicht mehr ansprechen. Also habe ich einen Werksreset gemacht und das Teil neu angelernt. Nun habe ich aus der Sicherung die Register für das Peering mit einem optischen Türsensor zurückgeschrieben.
set hm.display_switch_Garagentor regBulk RegL_03.hm.door_Garagentor_chn-01 02:00 03:02 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 00:00
Der Befehl wurde auch erfolgreich ausgeführt. Allerdings gab es eine Diskrepanz beim zweiten Wert 03:02, der nur als 03:00 übernommen wurde. Dieses Register, shCtOn, habe ich dann einzeln gesetzt und das wurde dann auch korrekt übernommen.
Hat jemand eine Idee, warum der regBulk hier nicht alles korrekt überträgt?
Gruß
G.
übertragungsfehler?
passiert es immer?
Zitat von: frank am 06 Juni 2020, 14:22:18
übertragungsfehler?
passiert es immer?
Ich hatte es zweimal probiert, mit dem gleichen Ergebnis. Komischerweise ist das genau das Register, was nach dem Peering schon dazumal manuell angepaßt werden mußte, damit on/off vom Sensor korrekt angezeigt wurde (https://forum.fhem.de/index.php/topic,31933.msg244001.html#msg244001)
Du erinnerst Dich vielleicht? ;)
03:00 scheint ja default zu sein.
daher wurde ja nicht durch regbulk etwas fasch geschrieben, sondern eher nichts übernommen.
ich leese oben nichts vom peering.
das muss vor dem regbulk passieren.
wenn man zuletzt peert, sollten die register immer default sein, denke ich.
um es zu untersuchen, müsstest du den vorgang sniffen, wie im wiki beschrieben.
Ich hatte kein neues Peering gemacht. Durch den Werksreset war das Peering-Register leer.
Ich habe dann nacheinander die Register restauriert, wie im Backup vorhanden:
#======== store device data:hm.display_switch_Garagentor === from: 2020-02-12 21:48:50
#--- entity:hm.display_switch_Garagentor
setreading hm.display_switch_Garagentor D-firmware 1.1
setreading hm.display_switch_Garagentor D-serialNr LEQ0214915
setreading hm.display_switch_Garagentor .D-devInfo 420100
setreading hm.display_switch_Garagentor .D-stc 10
# Peer Names:hm.door_Garagentor,
set hm.display_switch_Garagentor peerBulk 00000000,359A6001,#2020-02-11 22:42:07
set hm.display_switch_Garagentor regBulk RegL_00. 02:01 05:00 0A:1E 0B:A2 0C:4B 12:17 00:00 #2018-09-16 12:15:35
set hm.display_switch_Garagentor regBulk RegL_03.hm.door_Garagentor_chn-01 02:00 03:02 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 00:00 #2018-09-16 12:15:37
# timestamp of the readings for reference
# hm.door_Garagentor, :peerList
# 2018-09-16 12:15:35 :RegL_00.
# 2018-09-16 12:15:37 :RegL_03.hm.door_Garagentor_chn-01
======= finished ===
Es hat auch funktioniert, bis auf den besagten Wert im RegL_03.
peerBulk ist ja peeren.
ich denke, entweder war er noch nicht bereit für das folgende regBulk.
oder nach regBulk hat noch das zurücklesen (getconfig) gefehlt.
Ich hatte aus der Doku verstanden, daß peerBulk nur die Peerliste setzt, aber kein Peering auslöst, d.h. keine Register bei den Peers schreibt. Möglicherweise liege ich aber falsch.
Habe gerade noch einmal das regBulk-Kommando für Regl_03 abgesetzt. Da kam jetzt ein NACK zurück. Möglicherweise hatte ich das vorhin übersehen. Das Setzen eines einzelnen Registerwertes geht dagegen ohne Probleme. Die RSSI-Werte sind auch unauffällig.
mach mal geconfig bis cmds_done und poste ein list.
Zitat von: frank am 06 Juni 2020, 17:04:31
mach mal geconfig bis cmds_done und poste ein list.
Internals:
DEF 27375F
FUUID 5c4dfddf-f33f-b124-013b-6fc990986c13d840
HMLAN1_MSGCNT 170
HMLAN1_RAWMSG E27375F,0000,02834B3F,FF,FFC7,61800227375F1EA24B0101000035
HMLAN1_RSSI -57
HMLAN1_TIME 2020-06-06 17:12:06
IODev myHM.UARTLGW1
LASTInputDev hmusb
MSGCNT 535
NAME hm.display_switch_Garagentor
NOTIFYDEV global
NR 251
NTFY_ORDER 50-hm.display_switch_Garagentor
STATE off
TYPE CUL_HM
chanNo 01
hmusb_MSGCNT 195
hmusb_RAWMSG E27375F,0000,04C61089,FF,FFC9,61800227375F1EA24B0101000035
hmusb_RSSI -55
hmusb_TIME 2020-06-06 17:12:06
lastMsg No:61 - t:02 s:27375F d:1EA24B 0101000035
myHM.UARTLGW1_MSGCNT 170
myHM.UARTLGW1_RAWMSG 0403002F61800227375F1EA24B0101000035
myHM.UARTLGW1_RSSI -47
myHM.UARTLGW1_TIME 2020-06-06 17:12:06
peerList hm.door_Garagentor,
protCmdDel 158
protIOdly 2 last_at:2020-06-06 00:40:13
protIOerr 2 last_at:2020-06-06 00:41:13
protLastRcv 2020-06-06 17:12:06
protNack 10 last_at:2020-06-06 16:13:27
protRcv 185 last_at:2020-06-06 17:12:06
protResnd 54 last_at:2020-06-06 11:48:14
protResndFail 52 last_at:2020-06-06 11:48:20
protSnd 226 last_at:2020-06-06 17:12:05
protSndB 147 last_at:2020-06-06 17:12:05
protState CMDs_done
rssi_at_HMLAN1 cnt:170 min:-67 max:-48 avg:-54.76 lst:-57
rssi_at_hmusb cnt:195 min:-73 max:-25 avg:-38.39 lst:-55
rssi_at_myHM.UARTLGW1 cnt:170 min:-90 max:-46 avg:-61.05 lst:-47
rssi_hm.door_Garagentor cnt:24 min:-89 max:-58 avg:-74.08 lst:-72
rssi_hmusb cnt:8 min:-41 max:-28 avg:-34 lst:-33
rssi_myHM.UARTLGW1 cnt:6 min:-54 max:-53 avg:-53.5 lst:-53
READINGS:
2020-06-06 17:12:06 CommandAccepted yes
2020-06-06 13:54:01 D-firmware 1.1
2020-06-06 13:54:01 D-serialNr LEQ0214915
2020-06-06 17:09:50 PairedTo 0x1EA24B
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgActionType jmpToTarget
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgCtDlyOff geLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgCtDlyOn geLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgCtOff geLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgCtOn geLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgCtValHi 100
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgCtValLo 50
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgMultiExec on
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgOffDly 0 s
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgOffTime unused
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgOffTimeMode absolut
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgOnDly 0 s
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgOnTime unused
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgOnTimeMode absolut
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgSwJtDlyOff off
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgSwJtDlyOn on
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgSwJtOff dlyOn
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-lgSwJtOn dlyOff
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shActionType jmpToTarget
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shCtDlyOff geLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shCtDlyOn geLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shCtOff geLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shCtOn ltLo
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shCtValHi 100
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shCtValLo 50
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shMultiExec off
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shOffDly 0 s
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shOffTime unused
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shOffTimeMode absolut
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shOnDly 0 s
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shOnTime unused
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shOnTimeMode absolut
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shSwJtDlyOff off
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shSwJtDlyOn on
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shSwJtOff dlyOn
2020-06-06 17:09:52 R-hm.door_Garagentor_chn-01-shSwJtOn dlyOff
2020-06-06 11:52:00 R-intKeyVisib invisib
2020-06-05 23:15:15 R-ledMode undef lit:0
2020-06-06 12:16:13 R-lowBatLimitFS 2.3 V
2020-06-06 11:52:00 R-pairCentral 0x1EA24B
2020-06-06 17:09:50 RegL_00. 00:00 02:01 05:00 0A:1E 0B:A2 0C:4B 12:17
2020-06-06 17:09:52 RegL_03.hm.door_Garagentor_chn-01 00:00 02:00 03:02 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63
2020-06-06 17:12:06 battery ok
2020-06-06 17:12:06 commState CMDs_done
2020-06-06 17:12:06 deviceMsg off (to vccu)
2020-06-06 17:12:06 level 0
2020-06-06 17:12:06 pct 0
2020-06-06 17:09:51 peerList hm.door_Garagentor,
2020-06-06 13:54:08 powerOn 2020-06-06 13:54:08
2020-06-06 17:12:06 recentStateType ack
2020-06-06 17:12:06 state off
2020-06-06 17:12:06 timedOn off
2020-06-06 13:34:58 trigLast hm.door_Garagentor:closed
2020-06-06 13:34:58 trig_hm.door_Garagentor Closed_137
helper:
HM_CMDNR 97
PONtest 0
cSnd 111EA24B27375F0201C80000,111EA24B27375F0201000000
cfgChkResult No regs found for:
hm.display_switch_Garagentor type:switch -
list:peer register :value
0: intKeyVisib :invisib
0: ledMode :undef lit:0
0: lowBatLimitFS :2.3 V
0: pairCentral :0x1EA24B
hm.door_Garagentor_chn-01
lg sh
ActionType jmpToTarget jmpToTarget
CtDlyOff geLo geLo
CtDlyOn geLo geLo
CtOff geLo geLo
CtOn geLo geLo
CtValHi 100 100
CtValLo 50 50
MultiExec on off
OffDly [s] 0 0
OffTime unused unused
OffTimeMode absolut absolut
OnDly [s] 0 0
OnTime unused unused
OnTimeMode absolut absolut
SwJtDlyOff off off
SwJtDlyOn on on
SwJtOff dlyOn dlyOn
SwJtOn dlyOff dlyOff
dlvlCmd ++A0111EA24B27375F0201000000
mId 0078
peerFriend peerSens,peerVirt
peerIDsRaw ,359A6001,00000000
peerOpt 3:switch
regLst 0,3p
rxType 2
supp_Pair_Rep 0
tmplChg 0
ack:
cmds:
TmplKey hm.door_Garagentor,:1591391715.7094:1591444446.88955
TmplTs 1591444446.88955
cmdKey :1:1:0::0078:01hm.door_Garagentor,
TmplCmds:
cmdList:
assignHmKey:
clear:[readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename:newName
eventL:-peer- -cond-
eventS:-peer- -cond-
fwUpdate:-filename- -bootTime- ...
getConfig:
getDevInfo:
getRegRaw:[List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
getSerial:
getVersion:
inhibit:[on|off]
off:
on-for-timer:-ontime-
on-till:-time-
on:
pair:
peerBulk:-peer1,peer2,...- [set|unset]
peerIODev:[IO] -btn- [set|unset]... not for future use
peerSmart:[remove_hm.door_Garagentor|RM_Team|hm.EG.Klingel|hm.FB19_Btn_01|hm.FB19_Btn_02|hm.FB19_Btn_03|hm.FB19_Btn_04|hm.FB19_Btn_05|hm.FB19_Btn_06|hm.FB19_Btn_07|hm.FB19_Btn_08|hm.FB19_Btn_09|hm.FB19_Btn_10|hm.FB19_Btn_11|hm.FB19_Btn_12|hm.FB19_Btn_13|hm.FB19_Btn_14|hm.FB19_Btn_15|hm.FB19_Btn_16|hm.FB19_Btn_17|hm.FB19_Disp|hm.MotnBtn1_EG.Kueche_Btn_01|hm.MotnBtn1_EG.Kueche_Btn_02|hm.MotnBtn1_EG.Kueche_Motion|hm.door_EG.Terrasse|hm.door_Eingang|hm.motion_AU.Eingang|hm.motion_AU.Terrasse|hm.motion_EG.WoZi|hm.motion_KL.Flur|hm.switch.mtr_KL.Pool_SenF|hm.switch.mtr_KL.Pool_SenI|hm.switch.mtr_KL.Pool_SenPwr|hm.switch.mtr_KL.Pool_SenU|hm.switch_mtr1_SenF|hm.switch_mtr1_SenI|hm.switch_mtr1_SenPwr|hm.switch_mtr1_SenU|hm.taster2_EG.WoZi.TV_Btn_01|hm.taster2_EG.WoZi.TV_Btn_02|hm.taster6_EG.Flur_Btn_01|hm.taster6_EG.Flur_Btn_02|hm.taster6_EG.Flur_Btn_03|hm.taster6_EG.Flur_Btn_04|hm.taster6_EG.Flur_Btn_05|hm.taster6_EG.Flur_Btn_06|hm.window_EG.BadFenster|hm.window_EG.Kammer|hm.window_EG.Kueche|hm.window_EG.PaulFenster|hm.window_KL.Bad|hm.window_KL.Zimmer1|hm.window_KL.Zimmer2|hm.window_OG.Bad|unknown_2A1BBD|unknown_2B56CC|unknown_2C4E90|unknown_2CE2BD|unknown_CE401D|unknown_CE8F5D|vLEDRemote_Btn1|vLEDRemote_Btn2|vMP3Remote_Btn1|vMP3Remote_Btn10|vMP3Remote_Btn11|vMP3Remote_Btn12|vMP3Remote_Btn13|vMP3Remote_Btn14|vMP3Remote_Btn15|vMP3Remote_Btn16|vMP3Remote_Btn17|vMP3Remote_Btn18|vMP3Remote_Btn19|vMP3Remote_Btn2|vMP3Remote_Btn20|vMP3Remote_Btn21|vMP3Remote_Btn22|vMP3Remote_Btn23|vMP3Remote_Btn24|vMP3Remote_Btn25|vMP3Remote_Btn26|vMP3Remote_Btn27|vMP3Remote_Btn28|vMP3Remote_Btn29|vMP3Remote_Btn3|vMP3Remote_Btn30|vMP3Remote_Btn31|vMP3Remote_Btn32|vMP3Remote_Btn33|vMP3Remote_Btn34|vMP3Remote_Btn35|vMP3Remote_Btn36|vMP3Remote_Btn37|vMP3Remote_Btn38|vMP3Remote_Btn39|vMP3Remote_Btn4|vMP3Remote_Btn40|vMP3Remote_Btn5|vMP3Remote_Btn6|vMP3Remote_Btn7|vMP3Remote_Btn8|vMP3Remote_Btn9|vccu_Btn1|vccu_Btn2|vccu_Btn3|vccu_Btn4|vccu_Btn5]
press:[long|short] -peer- [-repCount(long only)-] [-repDelay-] ...
raw:data ...
regBulk:-list-.-peer- -addr1:data1- -addr2:data2- ...
regSet:[prep|exec] -regName- -value- ... [-peerChannel-]
reset:
statusRequest:
toggle:
tplDel:tmplt
unpair:
expert:
def 1
det 1
raw 1
tpl 0
io:
newChn +27375F,00,01,00
nextSend 1591456326.43552
prefIO
rxt 0
vccu vccu
p:
27375F
00
01
00
mRssi:
mNo 61
io:
HMLAN1:
-57
-57
hmusb:
-55
-55
myHM.UARTLGW1:
-39
-39
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
regCollect:
role:
chn 1
dev 1
prs 1
rssi:
at_HMLAN1:
avg -54.7647058823529
cnt 170
lst -57
max -48
min -67
at_hmusb:
avg -38.4
cnt 195
lst -55
max -25
min -73
at_myHM.UARTLGW1:
avg -61.0588235294118
cnt 170
lst -47
max -46
min -90
hm.door_Garagentor:
avg -74.0833333333333
cnt 24
lst -72
max -58
min -89
hmusb:
avg -34
cnt 8
lst -33
max -28
min -41
myHM.UARTLGW1:
avg -53.5
cnt 6
lst -53
max -53
min -54
shadowReg:
tmpl:
nb:
cnt 2
Attributes:
IODev HMLAN1
IOgrp vccu
autoReadReg 3_onChange
devStateIcon off:fts_garage_door_100 on:fts_garage
expert 3_allReg+raw
firmware 1.1
model HM-DIS-TD-T
msgRepeat 1
peerIDs 00000000,359A6001,
room AU.Garage,CUL_HM
serialNr LEQ0214915
subType switch
verbose 0
webCmd statusRequest:on:off
es liegt wahrscheinlich an der position vom pseudo-register 00:00. wenn ich eine frische sicherung mit "get saveConfig" mache, steht es am anfang und ich kann den regbulk cmd senden. auch händisch editiert mit 03:02 funktioniert.
Zitat von: frank am 06 Juni 2020, 19:03:24
es liegt wahrscheinlich an der position vom pseudo-register 00:00. wenn ich eine frische sicherung mit "get saveConfig" mache, steht es am anfang und ich kann den regbulk cmd senden. auch händisch editiert mit 03:02 funktioniert.
Du meinst, das 00:00 fehlt vor dem 02:00? Das liegt dann aber an der Sicherung von HMinfo. Bei der Sicherung aus dem Modul ist es mit drin. Bei HMinfo hängt die 00:00 hinten dran:
HMinfo:
set hm.display_switch_Garagentor regBulk RegL_03.hm.door_Garagentor_chn-01 02:00 03:02 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 00:00 #2018-09-16 12:15:37
Aus dem Modul:
set hm.display_switch_Garagentor regBulk RegL_03.hm.door_Garagentor_chn-01 00:00 02:00 03:02 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 #2020-06-06 13:54:11
Mal testen. - Bei mir gehen beide Varianten nicht: CMDs_done_Errors:1
fhem update?
was ist mit sniffen?
Zitat von: frank am 06 Juni 2020, 22:55:53
fhem update?
was ist mit sniffen?
FHEM ist aktuell.
Hier mal ein von FHEM ausgelöster on/off-Schaltvorgang und danach der regBulk-Befehl:
2020.06.07 12:46:08.552 0: HMLAN_Send: HMLAN1 I:+27375F,00,01,00
2020.06.07 12:46:08.556 0: HMLAN_Send: HMLAN1 S:S8E63411C stat: 00 t:00000000 d:01 r:8E63411C m:13 B011 1EA24B 27375F 0201C80000
2020.06.07 12:46:09.146 0: HMLAN_Parse: HMLAN1 R:R8E63411C stat:0001 t:06B6551E d:FF r:FFC7 m:13 8002 27375F 1EA24B 0101C8003E
2020.06.07 12:46:12.075 0: HMLAN_Send: HMLAN1 S:S8E634EDB stat: 00 t:00000000 d:01 r:8E634EDB m:14 B011 1EA24B 27375F 0201000000
2020.06.07 12:46:12.598 0: HMLAN_Parse: HMLAN1 R:R8E634EDB stat:0001 t:06B662DD d:FF r:FFC7 m:14 8002 27375F 1EA24B 010100003F
2020.06.07 12:46:16.263 0: HMLAN_Send: HMLAN1 S:S8E635F37 stat: 00 t:00000000 d:01 r:8E635F37 m:15 B001 1EA24B 27375F 01050000000003
2020.06.07 12:46:16.822 0: HMLAN_Parse: HMLAN1 R:R8E635F37 stat:0001 t:06B67336 d:FF r:FFC7 m:15 8002 27375F 1EA24B 80
27375F ist die Aktor ID.
Das war der Befehl:
set hm.display_switch_Garagentor regBulk RegL_03.hm.door_Garagentor_chn-01 00:00 02:00 03:02 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63
Regbulk schreibt die register en-bloc . Ein fehler beim absenden ist sehr unwahrscheinlich.
Peeren setzt die register intern immer zurück auf default. Wenn du noch einmal peerst, auch peerbulk, werden die register rückgesetzt.
Fhem setzt register nur, wenn etwas zu ändern ist. Fhem vergleicht hierzu die zu setzenden mit den vorher gelesenen. Das nicht gesetzte register siehst du natürlich auch nur an den gelesenen.
Weiter unklar, ob das fragliche bit überhaupt genutzt wird... Habe ich jetzt nicht nachgesehen.
Aber warum so kompliziert. Das prüfen ist ein Drama. Meine antwort genau auf diese Frage ist : template. Hier legst du fest (oder fragst nach einem template) was du eigentlich willst (einschalter, timer,...) Wenn du nun so einen Fall hast sagst du templateExe und alle notwendigen register werden gesetzt. Mit dem verify kannst du nach rücklesen prüfen lassen, dass alles stimmt. Sollte es nicht einfach noch mal exe.
Ich bin bisher davon ausgegangen, daß ein Restore von Registerwerten am Einfachsten durch die Eingabe der Befehlszeilen aus dem configFile für das entsprechende Device erfolgen kann. Nun werde ich mich mal mit den Templates beschäftigen. - Das eine Register war schon das entscheidende, damit die Klappanzeige den Status des Türsensors korrekt anzeigt.
das Rückschreiben habe ich als erstes erstellt. Es ist eine einfache und plumpe Methode. Nicht schlecht, meine ich.
Allerdings fehlt eben jegliche
- Überprüfung durch Verify
- Sinnhaltigkeit (es wird keine Funktion beschrieben)
- schwierige Kopierbarkeit (allerdings möglich)
- keinerlei Darstelltung der Funktion im Frontend
- keine Auswahl und eingabe von Parametern
Wie schon häufig erwähnt: Templates erfreune sich wenig Beliebtheit. Ich verstehe das komplett nicht.... evtl liegt es an meiner schlechten Werbung hierführ. Und zum Glück muss man die Devices auch nur selten wiederherstellen.
Das fragliche Register ist nur relevant wenn du es mit einem Dimmer oder Fensterkontakt gepeert hast. Also ein Sensor welcher einen "Level" mitgibt.
Du könntest also auch einmal das Register shCtOn=ltLo setzen. Das ist dann die 2.
Dann getConfig. ggf. alles sniffen und einschicken.
=> Problem sollte es in diesem Fall keines sein.
Danke für die Erläuterung. Habe mal ein Template für den betreffenden Fall erstellt und angewandt. Klappt soweit.
Wohlgemut habe ich das dann mal für das Peering eines BW mit einem Schalterkanal durchgespielt, bei dem die Parameter ontime und brightness verwendet werden. Es ist eine Modifikation des motionOnSw-Templates.
Ein paar Dinge sind aber für den unbedarften Erstnutzer verwirrend.
Das vorhandene motionOnSw-Template ist vom Typ peer-Long, muß aber für den BW auf den short-Trigger angewendet werden. Bei einer Neuerstellung hätte ich eher intuitive den Typ peer-Short gewählt. Zumindest geht die Anwendung aber auf einen Short-Trigger.
Allerdings werden bei mir die numerischen Werte für ontime und brightness jeweils als 0 in die Register geschrieben.
Also habe ich das motionOnSw-Template angewendet (set Aktor tplSet_...). Dort werden die Parameter richtig gesetzt, allerdings kommt beim configCheck jetzt die Meldung:
template mismatch
hm.switch_Terrasse.Licht hm.motion_AU.Terrasse_chn-01:short-> failed
no peer:hm.motion_AU.Terrasse_chn-01
Das Peering war allerdings vor Anwendung des Templates in Ordnung.
List der beiden Geräte:
Aktor:
Internals:
DEF 5F7D89
FUUID 5c4dfdee-f33f-b124-fc0c-8e4b3db69765152b
HMLAN1_MSGCNT 311
HMLAN1_RAWMSG E5F7D89,0000,07DA0C81,FF,FFBB,BDA0105F7D891EA24B030000
HMLAN1_RSSI -69
HMLAN1_TIME 2020-06-11 12:13:21
IODev hmusb
LASTInputDev HMLAN1
MSGCNT 1026
NAME hm.switch_Terrasse.Licht
NOTIFYDEV global
NR 594
NTFY_ORDER 50-hm.switch_Terrasse.Licht
STATE off
TYPE CUL_HM
chanNo 01
hmusb_MSGCNT 415
hmusb_RAWMSG E5F7D89,0000,1D745F1D,FF,FFC2,BDA0105F7D891EA24B030000
hmusb_RSSI -62
hmusb_TIME 2020-06-11 12:13:21
lastMsg No:BD - t:10 s:5F7D89 d:1EA24B 030000
myHM.UARTLGW1_MSGCNT 300
myHM.UARTLGW1_RAWMSG 05000047BDA0105F7D891EA24B030000
myHM.UARTLGW1_RSSI -71
myHM.UARTLGW1_TIME 2020-06-11 12:13:21
peerList hm.motion_AU.Terrasse,self01,self02,
protLastRcv 2020-06-11 12:13:21
protRcv 402 last_at:2020-06-11 12:13:21
protSnd 497 last_at:2020-06-11 12:13:21
protState CMDs_done
rssi_at_HMLAN1 cnt:311 min:-72 max:-65 avg:-68.31 lst:-69
rssi_at_hmusb cnt:415 min:-66 max:-58 avg:-63.2 lst:-62
rssi_at_myHM.UARTLGW1 cnt:300 min:-94 max:-63 avg:-75.07 lst:-71
rssi_hm.motion_AU.Terrasse cnt:15 min:-75 max:-60 avg:-66.86 lst:-63
rssi_hmusb cnt:4 min:-71 max:-69 avg:-69.5 lst:-69
READINGS:
2020-06-11 12:13:06 CommandAccepted yes
2020-06-09 23:38:57 D-firmware 2.8
2020-06-09 23:38:57 D-serialNr OEQ1157652
2020-06-11 12:13:17 PairedTo 0x1EA24B
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgCtDlyOff geLo
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgCtDlyOn geLo
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgCtOff geLo
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgCtOn geLo
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgCtValHi 100
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgCtValLo 50
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgMultiExec on
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgOffDly 0 s
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgOffTime unused
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgOffTimeMode absolut
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgOnDly 0 s
2020-06-11 11:53:44 R-hm.motion_AU.Terrasse_chn-01-lgOnTime unused
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgOnTimeMode absolut
2020-06-11 12:08:36 R-hm.motion_AU.Terrasse_chn-01-lgSwJtDlyOff off
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgSwJtDlyOn on
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-lgSwJtOff dlyOn
2020-06-11 12:08:36 R-hm.motion_AU.Terrasse_chn-01-lgSwJtOn dlyOff
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shCtDlyOff ltLo
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shCtDlyOn ltLo
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shCtOff ltLo
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shCtOn ltLo
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-shCtValHi 100
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shCtValLo 100
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-shMultiExec off
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-shOffDly 0 s
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-shOffTime unused
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-shOffTimeMode absolut
2020-06-11 01:07:06 R-hm.motion_AU.Terrasse_chn-01-shOnDly 0 s
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shOnTime 90 s
2020-06-11 11:53:44 R-hm.motion_AU.Terrasse_chn-01-shOnTimeMode absolut
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shSwJtDlyOff dlyOn
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shSwJtDlyOn on
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shSwJtOff dlyOn
2020-06-11 12:13:19 R-hm.motion_AU.Terrasse_chn-01-shSwJtOn on
2018-04-30 12:48:08 R-intKeyVisib visib
2018-03-25 18:47:35 R-localResDis off
2018-03-25 18:47:35 R-pairCentral 0x1EA24B
2018-03-25 18:47:35 R-powerUpAction off
2018-04-30 12:48:11 R-self01-lgActionType jmpToTarget
2018-04-30 12:48:11 R-self01-lgCtDlyOff geLo
2018-04-30 12:48:11 R-self01-lgCtDlyOn geLo
2018-04-30 12:48:11 R-self01-lgCtOff geLo
2018-04-30 12:48:11 R-self01-lgCtOn geLo
2018-04-30 12:48:11 R-self01-lgCtValHi 100
2018-04-30 12:48:11 R-self01-lgCtValLo 50
2018-04-30 12:48:11 R-self01-lgMultiExec on
2018-04-30 12:48:11 R-self01-lgOffDly 0 s
2018-05-01 12:13:15 R-self01-lgOffTime unused
2018-04-30 12:48:11 R-self01-lgOffTimeMode absolut
2020-06-10 23:28:11 R-self01-lgOnDly 3600 s
2020-06-09 23:07:04 R-self01-lgOnTime 0 s
2018-04-30 12:48:11 R-self01-lgOnTimeMode absolut
2018-04-30 12:48:11 R-self01-lgSwJtDlyOff off
2020-06-10 23:28:11 R-self01-lgSwJtDlyOn off
2018-05-01 12:19:48 R-self01-lgSwJtOff dlyOn
2020-06-09 23:07:04 R-self01-lgSwJtOn dlyOn
2018-04-30 12:48:11 R-self01-shActionType jmpToTarget
2018-04-30 12:48:11 R-self01-shCtDlyOff geLo
2018-04-30 12:48:11 R-self01-shCtDlyOn geLo
2018-04-30 12:48:11 R-self01-shCtOff geLo
2018-04-30 12:48:11 R-self01-shCtOn geLo
2018-04-30 12:48:11 R-self01-shCtValHi 100
2018-04-30 12:48:11 R-self01-shCtValLo 50
2018-04-30 12:48:11 R-self01-shMultiExec off
2018-04-30 12:48:11 R-self01-shOffDly 0 s
2018-04-30 12:48:11 R-self01-shOffTime unused
2018-04-30 12:48:11 R-self01-shOffTimeMode absolut
2018-04-30 12:48:11 R-self01-shOnDly 0 s
2018-04-30 12:48:11 R-self01-shOnTime unused
2018-04-30 12:48:11 R-self01-shOnTimeMode absolut
2018-04-30 12:48:11 R-self01-shSwJtDlyOff off
2018-04-30 12:48:11 R-self01-shSwJtDlyOn off
2018-04-30 12:48:11 R-self01-shSwJtOff off
2018-04-30 12:48:11 R-self01-shSwJtOn dlyOff
2018-04-30 12:48:12 R-self02-lgActionType jmpToTarget
2018-04-30 12:48:12 R-self02-lgCtDlyOff geLo
2018-04-30 12:48:12 R-self02-lgCtDlyOn geLo
2018-04-30 12:48:12 R-self02-lgCtOff geLo
2018-04-30 12:48:12 R-self02-lgCtOn geLo
2018-04-30 12:48:12 R-self02-lgCtValHi 100
2018-04-30 12:48:12 R-self02-lgCtValLo 50
2018-04-30 12:48:12 R-self02-lgMultiExec on
2018-04-30 12:48:12 R-self02-lgOffDly 0 s
2018-04-30 12:48:12 R-self02-lgOffTime unused
2018-04-30 12:48:12 R-self02-lgOffTimeMode absolut
2020-06-10 23:44:53 R-self02-lgOnDly 0 s
2020-06-10 23:44:53 R-self02-lgOnTime unused
2018-04-30 12:48:12 R-self02-lgOnTimeMode absolut
2020-06-10 23:44:53 R-self02-lgSwJtDlyOff on
2020-06-10 23:44:53 R-self02-lgSwJtDlyOn on
2018-04-30 12:48:12 R-self02-lgSwJtOff dlyOn
2020-06-10 23:44:53 R-self02-lgSwJtOn on
2018-04-30 12:48:12 R-self02-shActionType jmpToTarget
2018-04-30 12:48:12 R-self02-shCtDlyOff geLo
2018-04-30 12:48:12 R-self02-shCtDlyOn geLo
2018-04-30 12:48:12 R-self02-shCtOff geLo
2018-04-30 12:48:12 R-self02-shCtOn geLo
2018-04-30 12:48:12 R-self02-shCtValHi 100
2018-04-30 12:48:12 R-self02-shCtValLo 50
2018-04-30 12:48:12 R-self02-shMultiExec off
2018-04-30 12:48:12 R-self02-shOffDly 0 s
2018-04-30 12:48:12 R-self02-shOffTime unused
2018-04-30 12:48:12 R-self02-shOffTimeMode absolut
2018-04-30 12:48:12 R-self02-shOnDly 0 s
2018-04-30 12:48:12 R-self02-shOnTime unused
2018-04-30 12:48:12 R-self02-shOnTimeMode absolut
2018-04-30 12:48:12 R-self02-shSwJtDlyOff on
2018-04-30 12:48:12 R-self02-shSwJtDlyOn on
2018-04-30 12:48:12 R-self02-shSwJtOff dlyOn
2018-04-30 12:48:12 R-self02-shSwJtOn on
2018-03-25 18:47:35 R-sign off
2018-03-25 18:47:35 R-statusInfoMinDly 2 s
2018-03-25 18:47:35 R-statusInfoRandom 1 s
2018-03-25 18:47:35 R-transmitTryMax 6
2020-06-11 12:13:16 RegL_00. 00:00 02:81 0A:1E 0B:A2 0C:4B 15:FF 18:00
2020-06-11 12:13:18 RegL_01. 00:00 08:00 30:06 56:00 57:24
2020-06-11 12:13:19 RegL_03.hm.motion_AU.Terrasse_chn-01 00:00 02:22 03:22 04:64 05:64 06:00 07:52 08:00 09:FF 0A:01 0B:13 0C:13 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63
2020-06-11 12:13:20 RegL_03.self01 00:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:64 0C:66 82:00 83:00 84:32 85:64 86:AC 87:00 88:00 89:FF 8A:21 8B:11 8C:66
2020-06-11 12:13:21 RegL_03.self02 00:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:13 0C:33 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:13 8C:33
2020-06-11 12:13:21 commState CMDs_done
2020-06-11 12:08:24 deviceMsg off (to vccu)
2020-06-11 12:08:24 level 0
2020-06-11 12:08:24 pct 0
2020-06-11 12:13:18 peerList hm.motion_AU.Terrasse,self01,self02,
2020-06-05 18:59:13 powerOn 2020-06-05 18:59:13
2020-06-11 12:08:24 recentStateType ack
2019-10-05 20:02:21 sabotageAttack_ErrIoAttack cnt 1
2020-06-11 12:08:24 state off
2020-06-11 12:08:24 timedOn off
2020-06-11 11:40:49 trigLast hm.motion_AU.Terrasse:184
2020-06-11 11:40:49 trig_hm.motion_AU.Terrasse 184_144
helper:
HM_CMDNR 189
cSnd 011EA24B5F7D8901045F7D890103,011EA24B5F7D8901045F7D890203
dlvlCmd ++A0111EA24B5F7D890201000000
mId 0069
peerFriend peerSens,peerVirt
peerIDsRaw ,5F7D8901,5F7D8902,4F936E01,00000000
peerOpt 3:switch
regLst 0,1,3p
rxType 1
supp_Pair_Rep 0
tmplChg 1
ack:
cmds:
TmplKey hm.motion_AU.Terrasse,self01,self02,:1591827375.299:1591871322.51821
TmplTs 1591871322.51821
cmdKey :1:1:0::0069:01hm.motion_AU.Terrasse,self01,self02,
TmplCmds:
tplPara000_hm.motion_AU.Terrasse_chn-01_short_motionOnSw_ontime:-value-
tplPara001_hm.motion_AU.Terrasse_chn-01_short_motionOnSw_brightness:-value-
tplSet_self02:[SwCondAbove_long|SwCondAbove_short|SwCondBelow_long|SwCondBelow_short|SwMdirNew_long|SwMdirNew_short|SwOff_long|SwOff_short|SwOnCond_long|SwOnCond_short|SwOn_long|SwOn_short|SwToggle_long|SwToggle_short|autoOff_long|autoOff_short|motionOnSw_long|motionOnSw_short|mySwOnOf_long|mySwOnOf_short|my_motionOnSw_Terasse_long|my_motionOnSw_Terasse_short]
tplSet_hm.motion_AU.Terrasse_chn-01:[SwCondAbove_long|SwCondAbove_short|SwCondBelow_long|SwCondBelow_short|SwMdirNew_long|SwMdirNew_short|SwOff_long|SwOff_short|SwOnCond_long|SwOnCond_short|SwOn_long|SwOn_short|SwToggle_long|SwToggle_short|autoOff_long|autoOff_short|motionOnSw_long|motionOnSw_short|mySwOnOf_long|mySwOnOf_short|my_motionOnSw_Terasse_long|my_motionOnSw_Terasse_short]
tplSet_self01:[SwCondAbove_long|SwCondAbove_short|SwCondBelow_long|SwCondBelow_short|SwMdirNew_long|SwMdirNew_short|SwOff_long|SwOff_short|SwOnCond_long|SwOnCond_short|SwOn_long|SwOn_short|SwToggle_long|SwToggle_short|autoOff_long|autoOff_short|motionOnSw_long|motionOnSw_short|mySwOnOf_long|mySwOnOf_short|my_motionOnSw_Terasse_long|my_motionOnSw_Terasse_short]
cmdList:
assignHmKey:
clear:[readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename:newName
eventL:-peer- -cond-
eventS:-peer- -cond-
fwUpdate:-filename- -bootTime- ...
getConfig:
getDevInfo:
getRegRaw:[List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
getSerial:
getVersion:
inhibit:[on|off]
off:
on-for-timer:-ontime-
on-till:-time-
on:
pair:
peerBulk:-peer1,peer2,...- [set|unset]
peerIODev:[IO] -btn- [set|unset]... not for future use
peerSmart:[remove_hm.motion_AU.Terrasse|RM_Team|hm.EG.Klingel|hm.FB19_Btn_01|hm.FB19_Btn_02|hm.FB19_Btn_03|hm.FB19_Btn_04|hm.FB19_Btn_05|hm.FB19_Btn_06|hm.FB19_Btn_07|hm.FB19_Btn_08|hm.FB19_Btn_09|hm.FB19_Btn_10|hm.FB19_Btn_11|hm.FB19_Btn_12|hm.FB19_Btn_13|hm.FB19_Btn_14|hm.FB19_Btn_15|hm.FB19_Btn_16|hm.FB19_Btn_17|hm.FB19_Disp|hm.MotnBtn1_EG.Kueche_Btn_01|hm.MotnBtn1_EG.Kueche_Btn_02|hm.MotnBtn1_EG.Kueche_Motion|hm.door_EG.Terrasse|hm.door_Eingang|hm.door_Garagentor|hm.motion_AU.Eingang|hm.motion_EG.WoZi|hm.motion_KL.Flur|hm.switch.mtr_KL.Pool_SenF|hm.switch.mtr_KL.Pool_SenI|hm.switch.mtr_KL.Pool_SenPwr|hm.switch.mtr_KL.Pool_SenU|hm.switch_mtr1_SenF|hm.switch_mtr1_SenI|hm.switch_mtr1_SenPwr|hm.switch_mtr1_SenU|hm.taster2_EG.WoZi.TV_Btn_01|hm.taster2_EG.WoZi.TV_Btn_02|hm.taster6_EG.Flur_Btn_01|hm.taster6_EG.Flur_Btn_02|hm.taster6_EG.Flur_Btn_03|hm.taster6_EG.Flur_Btn_04|hm.taster6_EG.Flur_Btn_05|hm.taster6_EG.Flur_Btn_06|hm.window_EG.BadFenster|hm.window_EG.Kammer|hm.window_EG.Kueche|hm.window_EG.PaulFenster|hm.window_KL.Bad|hm.window_KL.Zimmer1|hm.window_KL.Zimmer2|hm.window_OG.Bad|unknown_2A1BBD|unknown_2B56CC|unknown_2C4E90|unknown_2CE2BD|unknown_CE401D|unknown_CE8F5D|vLEDRemote_Btn1|vLEDRemote_Btn2|vMP3Remote_Btn1|vMP3Remote_Btn10|vMP3Remote_Btn11|vMP3Remote_Btn12|vMP3Remote_Btn13|vMP3Remote_Btn14|vMP3Remote_Btn15|vMP3Remote_Btn16|vMP3Remote_Btn17|vMP3Remote_Btn18|vMP3Remote_Btn19|vMP3Remote_Btn2|vMP3Remote_Btn20|vMP3Remote_Btn21|vMP3Remote_Btn22|vMP3Remote_Btn23|vMP3Remote_Btn24|vMP3Remote_Btn25|vMP3Remote_Btn26|vMP3Remote_Btn27|vMP3Remote_Btn28|vMP3Remote_Btn29|vMP3Remote_Btn3|vMP3Remote_Btn30|vMP3Remote_Btn31|vMP3Remote_Btn32|vMP3Remote_Btn33|vMP3Remote_Btn34|vMP3Remote_Btn35|vMP3Remote_Btn36|vMP3Remote_Btn37|vMP3Remote_Btn38|vMP3Remote_Btn39|vMP3Remote_Btn4|vMP3Remote_Btn40|vMP3Remote_Btn5|vMP3Remote_Btn6|vMP3Remote_Btn7|vMP3Remote_Btn8|vMP3Remote_Btn9|vccu_Btn1|vccu_Btn2|vccu_Btn3|vccu_Btn4|vccu_Btn5]
press:[long|short] -peer- [-repCount(long only)-] [-repDelay-] ...
raw:data ...
regBulk:-list-.-peer- -addr1:data1- -addr2:data2- ...
regSet:[prep|exec] -regName- -value- ... [-peerChannel-]
reset:
sign:[on|off]
statusRequest:
toggle:
tplDel:tmplt
unpair:
expert:
def 1
det 1
raw 1
tpl 0
io:
newChn +5F7D89,00,01,00
nextSend 1591870401.6672
prefIO
rxt 0
vccu vccu
p:
5F7D89
00
01
00
mRssi:
mNo BD
io:
HMLAN1:
-69
-69
hmusb:
-58
-58
myHM.UARTLGW1:
-71
-71
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf
qReqStat
regCollect:
role:
chn 1
dev 1
prs 1
rpt:
IO myHM.UARTLGW1
flg A
ts 1591870401.57091
ack:
HASH(0x47b7d10)
BD80021EA24B5F7D8900
rssi:
at_HMLAN1:
avg -68.3151125401929
cnt 311
lst -69
max -65
min -72
at_hmusb:
avg -63.2048192771085
cnt 415
lst -62
max -58
min -66
at_myHM.UARTLGW1:
avg -75.07
cnt 300
lst -71
max -63
min -94
hm.motion_AU.Terrasse:
avg -66.8666666666667
cnt 15
lst -63
max -60
min -75
hmusb:
avg -69.5
cnt 4
lst -69
max -69
min -71
shadowReg:
tmpl:
hm.motion_AU.Terrasse_chn-01:short>motionOnSw 90 100
Attributes:
IODev myHM.UARTLGW1
IOgrp vccu
autoReadReg 5_readMissing
expert 3_allReg+raw
firmware 2.8
model HM-LC-SW1PBU-FM
peerIDs 00000000,4F936E01,5F7D8901,5F7D8902,
room AU.Garten,CUL_HM
serialNr OEQ1157652
subType switch
verbose 1
webCmd statusRequest:toggle:on:off
Sensor:
Internals:
DEF 4F936E
FUUID 5c4dfdee-f33f-b124-ef08-3715123af2fa01ae
HMLAN1_MSGCNT 202
HMLAN1_RAWMSG E4F936E,0000,07E142ED,FF,FFCB,E184104F936E1EA24B06019F00
HMLAN1_RSSI -53
HMLAN1_TIME 2020-06-11 12:21:14
IODev hmusb
LASTInputDev hmusb
MSGCNT 622
NAME hm.motion_AU.Terrasse
NOTIFYDEV global
NR 591
NTFY_ORDER 50-hm.motion_AU.Terrasse
STATE noMotion | 159
TYPE CUL_HM
chanNo 01
hmusb_MSGCNT 225
hmusb_RAWMSG E4F936E,0000,1D7B9540,FF,FFE3,E184104F936E1EA24B06019F00
hmusb_RSSI -29
hmusb_TIME 2020-06-11 12:21:14
lastMsg No:E1 - t:10 s:4F936E d:1EA24B 06019F00
myHM.UARTLGW1_MSGCNT 195
myHM.UARTLGW1_RAWMSG 05000043E184104F936E1EA24B06019F00
myHM.UARTLGW1_RSSI -67
myHM.UARTLGW1_TIME 2020-06-11 12:21:14
peerList hm.switch_Terrasse.Licht,
protCmdDel 12
protLastRcv 2020-06-11 12:21:14
protNack 4 last_at:2020-06-11 12:01:12
protRcv 200 last_at:2020-06-11 12:21:14
protResnd 1 last_at:2020-06-11 11:51:38
protSnd 78 last_at:2020-06-11 12:08:59
protState CMDs_done
rssi_at_HMLAN1 cnt:202 min:-68 max:-43 avg:-62 lst:-53
rssi_at_hmusb cnt:225 min:-69 max:-23 avg:-52.75 lst:-29
rssi_at_myHM.UARTLGW1 cnt:195 min:-79 max:-57 avg:-60.57 lst:-67
READINGS:
2020-06-11 12:08:57 Activity alive
2020-06-11 12:08:11 CommandAccepted yes
2020-06-11 12:08:57 D-firmware 1.6
2020-06-11 12:08:57 D-serialNr NEQ1295814
2020-06-11 12:08:58 PairedTo 0x1EA24B
2018-03-25 18:47:32 R-brightFilter 7
2018-03-25 18:47:32 R-captInInterval off
2018-03-25 18:47:32 R-evtFltrNum 1
2018-03-25 18:47:32 R-evtFltrPeriod 1 s
2020-06-11 12:08:59 R-hm.switch_Terrasse.Licht_chn-01-peerNeedsBurst off
2018-03-25 18:47:32 R-ledOnTime 0 s
2018-03-25 18:47:32 R-minInterval 240
2018-03-25 18:47:32 R-pairCentral 0x1EA24B
2018-03-25 18:47:32 R-sign off
2020-06-11 12:08:58 RegL_00. 00:00 02:01 0A:1E 0B:A2 0C:4B
2020-06-11 12:08:58 RegL_01. 00:00 01:12 02:74 08:00 22:00
2020-06-11 12:08:59 RegL_04.hm.switch_Terrasse.Licht_chn-01 00:00 01:00
2020-06-11 12:21:14 battery ok
2020-06-11 12:21:14 brightness 159
2020-06-11 12:08:59 commState CMDs_done
2020-06-11 12:21:14 cover closed
2020-06-11 12:09:34 motion off
2020-06-11 12:08:09 motionCount 2_next:240s
2020-06-11 12:09:34 motionDuration 85
2020-06-11 12:09:02 peerList hm.switch_Terrasse.Licht,
2020-06-11 11:59:28 powerOn 2020-06-11 11:59:28
2020-06-11 12:21:14 recentStateType info
2020-06-11 12:09:34 state noMotion
2020-06-11 12:08:09 trigger_cnt 2
helper:
HM_CMDNR 225
PONtest 0
cSnd 011EA24B4F936E0103,011EA24B4F936E01045F7D890104
mId 005D
peerFriend peerAct,peerVirt
peerIDsRaw ,5F7D8901,00000000
peerOpt 4:motionDetector
regLst 0,1,4p
rxType 28
supp_Pair_Rep 0
tmplChg 0
ack:
cmds:
TmplKey hm.switch_Terrasse.Licht,:1591827375.299:1591870142.85724
TmplTs 1591870142.85724
cmdKey :1:1:0::005D:01hm.switch_Terrasse.Licht,
TmplCmds:
cmdList:
assignHmKey:
clear:[readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename:newName
fwUpdate:-filename- -bootTime- ...
getConfig:
getDevInfo:
getRegRaw:[List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
peerBulk:-peer1,peer2,...- [set|unset]
peerChan:-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]
peerSmart:[remove_hm.switch_Terrasse.Licht|MP3.Gong_OG|MP3.Gong_WoZi_Led|MP3.Gong_WoZi_Mp3|RM_Team|hm.dim_EG.Kueche1_Sw|hm.dim_EG.Kueche1_Sw1_V_01|hm.dim_EG.Kueche1_Sw1_V_02|hm.dim_EG.WoZi.TV_Sw|hm.dim_EG.WoZi.TV_Sw1_V_01|hm.dim_EG.WoZi.TV_Sw1_V_02|hm.display_switch_Garagentor|hm.heizung_OG_WindowRec|hm.heizung_OG_remote|hm.heizung_Paul_WindowRec|hm.heizung_Paul_remote|hm.switch.mtr_KL.Pool_Sw|hm.switch1_Spuele|hm.switch_DigitalWuffi|hm.switch_KL.FlurLicht|hm.switch_Sirene1|hm.switch_Sirene2|hm.switch_Sirene3_Sw_01|hm.switch_Sirene3_Sw_02|hm.switch_Sirene3_Sw_03|hm.switch_Sirene3_Sw_04|hm.switch_mtr1_Sw|unknown_2A1BBD|unknown_2B56CC|unknown_2C4E90|unknown_2CE2BD|unknown_CE401D|unknown_CE8F5D|vLEDRemote_Btn1|vLEDRemote_Btn2|vMP3Remote_Btn1|vMP3Remote_Btn10|vMP3Remote_Btn11|vMP3Remote_Btn12|vMP3Remote_Btn13|vMP3Remote_Btn14|vMP3Remote_Btn15|vMP3Remote_Btn16|vMP3Remote_Btn17|vMP3Remote_Btn18|vMP3Remote_Btn19|vMP3Remote_Btn2|vMP3Remote_Btn20|vMP3Remote_Btn21|vMP3Remote_Btn22|vMP3Remote_Btn23|vMP3Remote_Btn24|vMP3Remote_Btn25|vMP3Remote_Btn26|vMP3Remote_Btn27|vMP3Remote_Btn28|vMP3Remote_Btn29|vMP3Remote_Btn3|vMP3Remote_Btn30|vMP3Remote_Btn31|vMP3Remote_Btn32|vMP3Remote_Btn33|vMP3Remote_Btn34|vMP3Remote_Btn35|vMP3Remote_Btn36|vMP3Remote_Btn37|vMP3Remote_Btn38|vMP3Remote_Btn39|vMP3Remote_Btn4|vMP3Remote_Btn40|vMP3Remote_Btn5|vMP3Remote_Btn6|vMP3Remote_Btn7|vMP3Remote_Btn8|vMP3Remote_Btn9|vccu_Btn1|vccu_Btn2|vccu_Btn3|vccu_Btn4|vccu_Btn5]
raw:data ...
regBulk:-list-.-peer- -addr1:data1- -addr2:data2- ...
regSet:[prep|exec] -regName- -value- ... [-peerChannel-]
reset:
sign:[on|off]
tplDel:tmplt
trgEventL:[-peer-] -condition-
trgEventS:[-peer-] -condition-
trgPressL:[-peer-]
trgPressS:[-peer-]
unpair:
expert:
def 1
det 1
raw 1
tpl 0
io:
newChn +4F936E,00,01,00
nextSend 1591870874.28819
prefIO
rxt 2
vccu vccu
p:
4F936E
00
01
00
mRssi:
mNo E1
io:
HMLAN1:
-53
-53
hmusb:
-21
-21
myHM.UARTLGW1:
-67
-67
prt:
bErr 0
sProc 0
sleeping 1
try 1
rspWait:
q:
qReqConf
qReqStat
regCollect:
role:
chn 1
dev 1
rssi:
at_HMLAN1:
avg -62.0049504950495
cnt 202
lst -53
max -43
min -68
at_hmusb:
avg -52.76
cnt 225
lst -29
max -23
min -69
at_myHM.UARTLGW1:
avg -60.5794871794872
cnt 195
lst -67
max -57
min -79
shadowReg:
tmpl:
Attributes:
IODev myHM.UARTLGW1
IOgrp vccu
actCycle 000:10
actStatus alive
autoReadReg 5_readMissing
event-on-change-reading .*
event-on-update-reading battery
expert 3_allReg+raw
firmware 1.6
icon people_sensor
model HM-SEN-MDIR-O
peerIDs 00000000,5F7D8901,
room AU.Garten,Alarm,CUL_HM,Surveillance
serialNr NEQ1295814
showtime 0
stateFormat state | brightness
subType motionDetector
Bei einer anderen BM (Selbstbau HM-SEC-MDIR)-Schalter (HM-LC-SW1-DR) Kombi funktioniert das Template. Ich bin etwas ratlos.
(Obwohl das vom Anfangsthema abweicht, habe ich jetzt mal keinen neuen Beitrag deswegen aufgemacht.)
Update:
Im Wiki finde ich zum Bewegungsmelder gerade das hier:
Peeren per peerSmart und setzen der Register per Template ist derzeit (August 2019) nicht funktional.
Ist das noch der Fall? Würde zumindest das Problem mit meinem modifizierten Template erklären. Wiederum geht das Standard-Template beim Setzen der Register. Dann habe ich gerade noch das laufende Thema "Fehlende cmds tplSet_<peer> beim peering aktor mit fensterkontakt" entdeckt.
ZitatDas vorhandene motionOnSw-Template ist vom Typ peer-Long, muß aber für den BW auf den short-Trigger angewendet werden.
du solltest 2 templates sehen, short und long, da es ein "generisches" template vom typ "short or long" ist.
long ist allerdings "sinnlos", daher wäre ein typ=both hier besser.
in deinem list sollten eigentlich readings existieren, wenn du ein template assigned hast.
der template missmatch fehler ist noch ein fehler in hminfo. den habe ich auch.
zum template handling gibt es auch ein webui, siehe meine sig. da ist allerdings noch keine edit funktion vorhanden.
Frank, ich verwende schon Dein webui-Tool. Danke dafür. - Die Meldung kann ich dann also erstmal ignorieren.
Das setzen der Parameter bei meinem modifizierten Template hat nun bei einem erneuten Versuch auch funktioniert. Ich weiß aber nicht, warum es vorher nicht ging.
ZitatDas vorhandene motionOnSw-Template ist vom Typ peer-Long, muß aber ...
unmöglich. Es gibt
- kein Peer (zentrale Register
- peer short/long. Das Template ist universell und kann auf short oder long angewendet werden. Das wird bei der Zuweisung gemacht.
- peer both: Das template beihalten short und long - welche sich unterschieden können.
=> Ich empfehle "HMtemplate" anzulegen. Das ist ein kleiner "editor". Er soll das Anwende der Templates erleichtern - und kann jederzeit gelöscht werden. Das hat keinen Einfluss auf die vorhanden/angewendeten templates. Also komplett ungefährlich, keine Nachwirkungen
Die Anwendugn wäre
define ht HMtemplate # angelegt
set ht select motionOnSw # eine pull-down liste erlaubt dir die selektion aller vorhandenen templates
# nun die Hinweise in "internals" beachten und am besten in dieser Reihenfolge bearbeiten
# die Eingabe erfolgt über die Attribute!!!
attr ht tpl_entity garTor # ich will meinen Garagentor öffner ein Template gönnen
attr ht tpl_entity garTor # ich will meinen Garagentor öffner ein Template gönnen
attr ht tpl_ePeer self01 # entity-Peer soll der interne Peer sein
attr ht tpl_eType short # Es soll auf "short" Trigger des Peers reagieren
# 2 parameter sind in der Attribut-Liste zu finden - bitte füllen
attr ht tpl_param_brightness 30 # brightness-level soll 30 sein
attr ht tpl_param_ontime 2 # on-time 2 sec
# alles parametriert - nun anwenden
set ht assign # das template wird zugewiesen
Zitatexpert 3_allReg+raw
ungünstig.
attr hm.motion_AU.Terrasse expert 11 # nun sind auch die tempaltes in den Readings
attr hm.motion_AU.Terrasse expert 12 # nur templates. alle register off - mein favorit. Übersichtlich, wenn man templates nutzt
Die Parameter des Templates, also die dir wichtigen wert sind im Template sichtbar und über kommando zu setzen.
Stehen in der Commandlist zu verfügung
set hm.motion_AU.Terrasse tplParaxxx_self01_short_brightness <value>
set hm.motion_AU.Terrasse tplParaxxx_self01_short_ontime <value>
Ein anderer Weg, templates zuzuweisen - ohne HT (HT hat gute Vorteile beim Template erstellen oder ändern - zuweisen geht auch anders)
set hm.motion_AU.Terrasse tlpSet_self01 motionOnSw # template ist zugewiesen - aber die Parameter sind nicht gesetzt. Muss also noch folgen
set hm.motion_AU.Terrasse tplParaxxx_self01_short_brightness <value>
set hm.motion_AU.Terrasse tplParaxxx_self01_short_ontime <value>
... aber Frank hat es ja auch schon erzählt - sehe ich
Zitat von: martinp876 am 12 Juni 2020, 14:29:19
unmöglich.
Nichts ist unmöglich. :) Es steht so im tmpl_type, zumindest bei mir:
Internals:
FUUID 5c4dfdef-f33f-b124-a6b2-5ec041efb2f4951f
NAME ht
NR 613
NTFY_ORDER 50-ht
STATE edit
TYPE HMtemplate
tpl_Info0 change attr Reg_ as desired
tpl_Info1 change attr tpl_params ':' separated
tpl_Info2 save if finished
tpl_Info3 saveAs to create a copy
tpl_Info4 dismiss will reset HMtemplate
tpl_Name motionOnSw
tpl_Param ontime brightness
tpl_type peer-Long
READINGS:
2020-06-12 17:06:28 state edit
2020-06-12 17:06:28 usage_1 hm.switch_KL.FlurLicht|hm.motion_KL.Flur:short|ontime:130 brightness:20
helper:
attrList tpl_params tpl_description event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading
cSt s1
Attributes:
Reg_ActionType jmpToTarget
Reg_CtDlyOff ltLo
Reg_CtDlyOn ltLo
Reg_CtOff ltLo
Reg_CtOn ltLo
Reg_CtValLo brightness
Reg_OffTime unused
Reg_OnTime ontime
Reg_SwJtDlyOff dlyOn
Reg_SwJtDlyOn on
Reg_SwJtOff dlyOn
Reg_SwJtOn on
room System
tpl_description Switch: on for time if MDIR-brightness below level
tpl_params ontime brightness
Wie gesagt, es ist nur verwirrend, hat ansonsten aber nach einiger Probiererei funktioniert. HMtemplate hatte ich schon in Verwendung, sonst wäre ich nicht darauf gestossen.