FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Gernott am 06 Juni 2020, 13:47:12

Titel: Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 06 Juni 2020, 13:47:12
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: frank am 06 Juni 2020, 14:22:18
übertragungsfehler?
passiert es immer?
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 06 Juni 2020, 14:38:28
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? ;)
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: frank am 06 Juni 2020, 14:56:28
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 06 Juni 2020, 15:06:46
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: frank am 06 Juni 2020, 15:34:31
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 06 Juni 2020, 16:19:22
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: frank am 06 Juni 2020, 17:04:31
mach mal geconfig bis cmds_done und poste ein list.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 06 Juni 2020, 17:14:23
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
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag 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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 06 Juni 2020, 20:21:47
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
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: frank am 06 Juni 2020, 22:55:53
fhem update?
was ist mit sniffen?
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 07 Juni 2020, 13:00:52
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
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: martinp876 am 09 Juni 2020, 19:33:43
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.



Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 10 Juni 2020, 00:08:07
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: martinp876 am 10 Juni 2020, 22:32:19
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 11 Juni 2020, 12:40:16
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: frank am 11 Juni 2020, 13:48:03
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 11 Juni 2020, 14:44:41
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.
Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: martinp876 am 12 Juni 2020, 14:29:19
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





Titel: Antw:Problem mit falschem Zurückschreiben der Register
Beitrag von: Gernott am 12 Juni 2020, 17:12:37
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.