FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: papa am 12 Dezember 2018, 22:16:48

Titel: Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 12 Dezember 2018, 22:16:48
Um das Ändern von Registern zu vereinfachen, habe ich eine kleine Javascript-Erweiterung schrieben. Wenn diese installiert ist, wird oberhalb der Internals eine zusätzliche Leiste mit Schaltern eingeblendet. Der erste Schalter (Device) öffnet ein Popup mit den Registern des Gerätes. Wenn gepeerte Geräte vorhanden sind, folgt für jeden Peer ein weiterer Schalter. Im Popup werden alle Register mit den aktuellen Werten angezeigt. Die Werte können einfach geändert werden. Mit "Apply" werden dann die neuen Werte an das Gerät übertragen.
Zur Installation muss die Datei hm.js in den Ordner fhem/www/pgm2 kopiert werden. In der WEB Instanz, muß folgendes Attribute angelegt werden bzw. erweitert werden(siehe auch Screenshot unten):

Javascripts : pgm2/hm.js

Ich würde mich freuen, wenn jemand mit mehr Talent in der Webprogrammierung die Entwicklung fertigstellen und in FHEM integrieren würde. Es muss auf jeden Fall an der Darstellung/Styling, Useability und der Unterstützung der CSRF-Token gearbeitet werden.
Edit: FHEM muss aktuell sein. Das letzte Update darf nicht älter als vom 14. Dezember sein.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 13 Dezember 2018, 00:01:42
Javascripts könnte ich anbieten  ;)

Läuft anscheinend erst mal bei mir, allerdings ist im "darkstyle" die Darstellung fast unleserlich (mittelgraue Schrift auch hellgrauem Grund). Hier müsste die Hintergrundfarbe des Fensters passend zum Style werden. In f18 ist's ok.

Funktion teste ich morgen abend. Erst mal sieht es GROSSARTIG aus.
Endlich ein Schritt in die richtige Richtung!!
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 13 Dezember 2018, 08:14:22
Die Hintergrundfarbe von der Seite zu übernehmen, hat irgendwie nicht geklappt. Da habe ich es erst mal grau gemacht.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 13 Dezember 2018, 21:12:41
Ich habe mal noch ein wenig an den Styles geschraubt. Jetzt geht es auch mit den Dark-Style.
Das Script ist im ersten Beitrag aktualisiert.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 13 Dezember 2018, 21:36:17
Und jetzt geht auch der csrf Token. Javascript ist vorne aktualisiert.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 13 Dezember 2018, 22:29:51
Blöderweise ist ja bei mir alles perfekt durchkonfiguriert ... aber aussehen tut es jetzt gut.
Denkst Du vorn bitte noch an "Javascripts" (mit s)?

Eine Sache funktioniert noch nicht: Mein Bewegungsmelder ist mit einem RGB-Controller gepeert. Aber dessen Peer-Benamung weicht von der üblichen Schreibweise ab - der Peer "BewMelder2" heißt in den Readings plötzlich "BewMelder2_chn-01-" ...
War mir noch nie aufgefallen. Deswegen ist das Fenster dann jedenfalls leer.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: rvideobaer am 14 Dezember 2018, 00:56:06
Hallo,

ich habe es getestet und bei mir sind alle peers leer. Nur beim Device selbst werden Register angezeigt.

Gruß Rolf
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 07:19:57
Zitat von: Pfriemler am 13 Dezember 2018, 22:29:51
Denkst Du vorn bitte noch an "Javascripts" (mit s)?
Was meinst Du damit ?
Zitat von: Pfriemler am 13 Dezember 2018, 22:29:51
Eine Sache funktioniert noch nicht: Mein Bewegungsmelder ist mit einem RGB-Controller gepeert. Aber dessen Peer-Benamung weicht von der üblichen Schreibweise ab - der Peer "BewMelder2" heißt in den Readings plötzlich "BewMelder2_chn-01-" ...
War mir noch nie aufgefallen. Deswegen ist das Fenster dann jedenfalls leer.
Kannst Du bitte mal die Ausgaben der beiden folgenden Kommandos zeigen

list DEVICE
get DEVICE reg all
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 07:20:17
Zitat von: rvideobaer am 14 Dezember 2018, 00:56:06
ich habe es getestet und bei mir sind alle peers leer. Nur beim Device selbst werden Register angezeigt.
Kannst Du bitte mal die Ausgaben der beiden folgenden Kommandos zeigen

list DEVICE
get DEVICE reg all
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: rvideobaer am 14 Dezember 2018, 08:03:21
Hallo,

list HB_ZwStecker_02

Internals:
   DEF        7C82A0
   IODev      myHmUART
   LASTInputDev myHmUARTLGW
   MSGCNT     119
   NAME       HB_ZwStecker_02
   NOTIFYDEV  global
   NR         220
   NTFY_ORDER 50-HB_ZwStecker_02
   OSMC_HmUART_MSGCNT 39
   OSMC_HmUART_RAWMSG 0500003BD080107C82A01904650287FF880089FF8A018B148C630000
   OSMC_HmUART_RSSI -59
   OSMC_HmUART_TIME 2018-12-14 07:54:01
   STATE      Nack
   STILLDONETIME 0
   TYPE       CUL_HM
   lastMsg    No:D0 - t:10 s:7C82A0 d:190465 0287FF880089FF8A018B148C630000
   myHmUARTLGW_MSGCNT 41
   myHmUARTLGW_RAWMSG 0500003DD080107C82A01904650287FF880089FF8A018B148C630000
   myHmUARTLGW_RSSI -61
   myHmUARTLGW_TIME 2018-12-14 07:54:01
   myHmUART_MSGCNT 39
   myHmUART_RAWMSG 0501003FD080107C82A01904650287FF880089FF8A018B148C630000
   myHmUART_RSSI -63
   myHmUART_TIME 2018-12-14 07:54:01
   peerList   HM_Bewegung_Motion,HM_Displ_Remote_Btn_14,self01,
   protCmdDel 0
   protLastRcv 2018-12-14 07:54:01
   protNack   17 last_at:2018-12-14 07:53:04
   protRcv    41 last_at:2018-12-14 07:54:01
   protSnd    15 last_at:2018-12-14 07:54:01
   protState  CMDs_done
   rssi_HM_Bewegung cnt:9 min:-99 max:-90 avg:-94.11 lst:-98
   rssi_at_OSMC_HmUART cnt:39 min:-72 max:-56 avg:-61.61 lst:-59
   rssi_at_myHmUART cnt:39 min:-73 max:-50 avg:-59.23 lst:-63
   rssi_at_myHmUARTLGW cnt:41 min:-66 max:-60 avg:-61.9 lst:-61
   rssi_myHmUART cnt:3 min:-86 max:-79 avg:-83.33 lst:-79
   READINGS:
     2018-12-14 07:53:04   CommandAccepted no
     2018-12-13 12:19:44   D-firmware      1.6
     2018-12-13 12:19:44   D-serialNr      HEQ6475941
     2018-12-14 07:53:59   PairedTo        0x190465
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgActionType jmpToTarget
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgCtDlyOff geLo
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgCtDlyOn geLo
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgCtOff geLo
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgCtOn geLo
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgCtValHi 100
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgCtValLo 50
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgMultiExec off
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgOffDly 0 s
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgOffTime unused
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgOffTimeMode absolut
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgOnDly 0 s
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgOnTime unused
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgOnTimeMode absolut
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgSwJtDlyOff off
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgSwJtDlyOn on
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgSwJtOff dlyOn
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-lgSwJtOn dlyOff
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shActionType jmpToTarget
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shCtDlyOff geLo
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shCtDlyOn geLo
     2018-12-11 10:45:11   R-HM_Bewegung_Motion-shCtOff ltHi
     2018-12-11 10:45:11   R-HM_Bewegung_Motion-shCtOn ltHi
     2018-12-12 09:27:13   R-HM_Bewegung_Motion-shCtValHi 4
     2018-12-11 21:01:49   R-HM_Bewegung_Motion-shCtValLo 2
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shMultiExec off
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shOffDly 0 s
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shOffTime unused
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shOffTimeMode absolut
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shOnDly 0 s
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shOnTime 180 s
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shOnTimeMode absolut
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shSwJtDlyOff off
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shSwJtDlyOn on
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shSwJtOff dlyOn
     2018-12-11 01:59:56   R-HM_Bewegung_Motion-shSwJtOn on
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgActionType jmpToTarget
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgCtDlyOff geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgCtDlyOn geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgCtOff geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgCtOn geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgCtValHi 100
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgCtValLo 50
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgMultiExec off
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgOffDly 0 s
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgOffTime unused
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgOffTimeMode absolut
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgOnDly 0 s
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgOnTime unused
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgOnTimeMode absolut
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgSwJtDlyOff off
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgSwJtDlyOn on
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgSwJtOff dlyOn
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-lgSwJtOn dlyOff
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shActionType jmpToTarget
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shCtDlyOff geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shCtDlyOn geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shCtOff geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shCtOn geLo
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shCtValHi 100
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shCtValLo 50
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shMultiExec off
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shOffDly 0 s
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shOffTime unused
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shOffTimeMode absolut
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shOnDly 0 s
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shOnTime unused
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shOnTimeMode absolut
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shSwJtDlyOff off
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shSwJtDlyOn on
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shSwJtOff dlyOn
     2018-12-11 01:59:57   R-HM_Displ_Remote_Btn_14-shSwJtOn dlyOff
     2018-12-11 01:59:55   R-intKeyVisib   visib
     2018-12-11 01:59:55   R-pairCentral   0x190465
     2018-12-11 01:59:55   R-powerUpAction off
     2018-12-11 01:59:57   R-self01-lgActionType jmpToTarget
     2018-12-11 01:59:57   R-self01-lgCtDlyOff geLo
     2018-12-11 01:59:57   R-self01-lgCtDlyOn geLo
     2018-12-11 01:59:57   R-self01-lgCtOff geLo
     2018-12-11 01:59:57   R-self01-lgCtOn geLo
     2018-12-11 01:59:57   R-self01-lgCtValHi 100
     2018-12-11 01:59:57   R-self01-lgCtValLo 50
     2018-12-11 01:59:57   R-self01-lgMultiExec off
     2018-12-11 01:59:57   R-self01-lgOffDly 0 s
     2018-12-11 01:59:57   R-self01-lgOffTime unused
     2018-12-11 01:59:57   R-self01-lgOffTimeMode absolut
     2018-12-11 01:59:57   R-self01-lgOnDly 0 s
     2018-12-11 01:59:57   R-self01-lgOnTime unused
     2018-12-11 01:59:57   R-self01-lgOnTimeMode absolut
     2018-12-11 01:59:57   R-self01-lgSwJtDlyOff off
     2018-12-11 01:59:57   R-self01-lgSwJtDlyOn on
     2018-12-11 01:59:57   R-self01-lgSwJtOff dlyOn
     2018-12-11 01:59:57   R-self01-lgSwJtOn dlyOff
     2018-12-11 01:59:57   R-self01-shActionType jmpToTarget
     2018-12-11 01:59:57   R-self01-shCtDlyOff geLo
     2018-12-11 01:59:57   R-self01-shCtDlyOn geLo
     2018-12-11 01:59:57   R-self01-shCtOff geLo
     2018-12-11 01:59:57   R-self01-shCtOn geLo
     2018-12-11 01:59:57   R-self01-shCtValHi 100
     2018-12-11 01:59:57   R-self01-shCtValLo 50
     2018-12-11 01:59:57   R-self01-shMultiExec off
     2018-12-11 01:59:57   R-self01-shOffDly 0 s
     2018-12-11 01:59:57   R-self01-shOffTime unused
     2018-12-11 01:59:57   R-self01-shOffTimeMode absolut
     2018-12-11 01:59:57   R-self01-shOnDly 0 s
     2018-12-11 01:59:57   R-self01-shOnTime unused
     2018-12-11 01:59:57   R-self01-shOnTimeMode absolut
     2018-12-11 01:59:57   R-self01-shSwJtDlyOff off
     2018-12-11 01:59:57   R-self01-shSwJtDlyOn on
     2018-12-11 01:59:57   R-self01-shSwJtOff dlyOn
     2018-12-11 01:59:57   R-self01-shSwJtOn dlyOff
     2018-12-11 01:59:55   R-sign          off
     2018-12-11 01:59:55   R-statusInfoMinDly 2 s
     2018-12-11 01:59:55   R-statusInfoRandom 1 s
     2018-12-11 01:59:55   R-transmitTryMax 6
     2018-12-14 07:40:09   deviceMsg       on (to vccu)
     2018-12-14 04:05:00   inhibit         set_on
     2018-12-14 07:40:09   level           100
     2018-12-14 07:40:09   pct             100
     2018-12-14 07:53:59   peerList        HM_Bewegung_Motion,HM_Displ_Remote_Btn_14,self01,
     2018-12-12 00:14:29   powerOn         2018-12-12 00:14:29
     2018-12-14 07:40:09   recentStateType info
     2018-12-14 07:53:04   state           Nack
     2018-12-14 07:40:09   timedOn         off
     2018-12-14 07:53:04   trigLast        HM_Bewegung_Motion:88
     2018-12-14 07:53:04   trig_HM_Bewegung_Motion 88_251
   helper:
     HM_CMDNR   208
     cSnd       011904657C82A0010463352B0E03,011904657C82A001047C82A00103
     mId        0002
     peerIDsRaw ,7C82A001,63352B0E,57CE6F03,00000000
     regLst     ,0,1,3p
     rxType     1
     supp_Pair_Rep 0
     ack:
     expert:
       def        1
       det        1
       raw        0
       tpl        0
     io:
       newChn     +7C82A0,00,00,00
       nextSend   1544770441.8557
       prefIO     
       rxt        0
       vccu       vccu
       p:
         7C82A0
         00
         00
         00
     mRssi:
       mNo        D0
       io:
         OSMC_HmUART:
           -59
           -59
         myHmUART:
           -59
           -59
         myHmUARTLGW:
           -61
           -61
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rssi:
       HM_Bewegung:
         avg        -94.1111111111111
         cnt        9
         lst        -98
         max        -90
         min        -99
       at_OSMC_HmUART:
         avg        -61.6153846153846
         cnt        39
         lst        -59
         max        -56
         min        -72
       at_myHmUART:
         avg        -59.2307692307692
         cnt        39
         lst        -63
         max        -50
         min        -73
       at_myHmUARTLGW:
         avg        -61.9024390243902
         cnt        41
         lst        -61
         max        -60
         min        -66
       myHmUART:
         avg        -83.3333333333333
         cnt        3
         lst        -79
         max        -79
         min        -86
     shadowReg:
     tmpl:
Attributes:
   IOgrp      vccu
   autoReadReg 0_off
   expert     1_allReg
   firmware   1.6
   model      HM-LC-SW1-SM
   peerIDs    00000000,57CE6F03,63352B0E,7C82A001,
   room       CUL_HM
   serialNr   HEQ6475941
   subType    switch
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
   webCmd     statusRequest:toggle:on:off


get HB_ZwStecker_02 reg all

HB_ZwStecker_02 type:switch -
list:peer register         :value
   0:      intKeyVisib      :visib
   0:      pairCentral      :0x190465
   1:      powerUpAction    :off
   1:      sign             :off
   1:      statusInfoMinDly :2 s
   1:      statusInfoRandom :1 s
   1:      transmitTryMax   :6


Gruß Rolf
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 14 Dezember 2018, 08:21:15
1. Du schreibst oben, dass man in "Javascript" pgm2/hm.js ergänzen soll. Das Attribut heißt aber JavaScripts - wie auch in Deinem Screenshot.
Nix als n Typo.

2. Das Anhängsel _chn-01 erscheint ausschließlich beim "BewMelder2" - alle anderen Peers werden korrekt dargestellt. Mir ist nicht klar, woher das stammt, aber erst mal wäre es Martins Baustelle das zu fixen - und sicher geht es dann auch mit Deiner Erweiterung. Ohne den Code untersucht zu haben, vermute ich, dass Du nach der Liste der peers gehst und die Register danach filterst, was wegen des unerwarteten Anhängsels eben nicht klappt.

Trotzdem, bitte, ich will nicht unkooperativ erscheinen  :)

Internals:
   .eventMapCmd an:noArg heller:noArg dunkler:noArg aus:noArg
   .triggerUsed 1
   DEF        47718D01
   NAME       HM_RGB1_Dim
   NOTIFYDEV  global
   NR         485
   NTFY_ORDER 50-HM_RGB1_Dim
   STATE      aus
   TYPE       CUL_HM
   chanNo     01
   device     HM_RGB1
   peerList   FB12_Btn_01,FB12_Btn_02,Wz6TasterRightDown,Wz6TasterRightUp,BewMelder2,HM_PB4Dis1_Btn_13,HM_PB4Dis1_Btn_14,DispFB_Btn_01,
   .attraggr:
   .attrminint:
   READINGS:
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtDlyOff geLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtDlyOn geLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtOff geLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtOn geLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtRampOff geLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtRampOn geLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtValHi 100
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgCtValLo 50
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimJtDlyOff off
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimJtDlyOn on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimJtOff dlyOn
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimJtOn dlyOff
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimJtRampOff off
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimJtRampOn on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimMaxLvl 100 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimMinLvl 0 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgDimStep 5 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgMultiExec on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffDly 0 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffDlyBlink on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffDlyNewTime 0.4 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffDlyOldTime 0.4 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffDlyStep 5 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffLevel 0 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffTime unused
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOffTimeMode absolut
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOnDly 0 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOnDlyMode setToOff
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOnLvlPrio high
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOnMinLevel 10 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOnTime unused
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgOnTimeMode absolut
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgRampOffTime 0.5 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgRampOnTime 0.5 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-lgRampSstep 5 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtDlyOff ltLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtDlyOn ltLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtOff ltLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtOn ltLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtRampOff ltLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtRampOn ltLo
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtValHi 100
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shCtValLo 20
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimJtDlyOff dlyOn
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimJtDlyOn on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimJtOff dlyOn
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimJtOn on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimJtRampOff off
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimJtRampOn on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimMaxLvl 100 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimMinLvl 0 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shDimStep 5 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shMultiExec off
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffDly 0 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffDlyBlink on
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffDlyNewTime 0.4 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffDlyOldTime 0.4 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffDlyStep 5 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffLevel 0 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffTime unused
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOffTimeMode absolut
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOnDly 0 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOnDlyMode setToOff
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOnLvlPrio low
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOnMinLevel 10 %
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOnTime 300 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shOnTimeMode minimal
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shRampOffTime 10 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shRampOnTime 2 s
     2017-12-06 00:12:54   .R-BewMelder2_chn-01-shRampSstep 5 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtDlyOff geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtDlyOn geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtOff geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtOn geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtRampOff geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtRampOn geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtValHi 100
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgCtValLo 50
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimJtDlyOff off
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimJtDlyOn on
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimJtOff dlyOn
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimJtOn dlyOff
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimJtRampOff off
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimJtRampOn on
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimMaxLvl 100 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimMinLvl 0 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgDimStep 5 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgMultiExec on
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffDly 0 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffDlyBlink on
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffDlyNewTime 0.4 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffDlyOldTime 0.4 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffDlyStep 5 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffLevel 0 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffTime unused
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOffTimeMode absolut
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOnDly 0 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOnDlyMode setToOff
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOnLvlPrio high
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOnMinLevel 10 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOnTime unused
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgOnTimeMode absolut
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgRampOffTime 0.5 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgRampOnTime 0.5 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-lgRampSstep 5 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtDlyOff geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtDlyOn geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtOff geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtOn geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtRampOff geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtRampOn geLo
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtValHi 100
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shCtValLo 50
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimJtDlyOff off
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimJtDlyOn on
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimJtOff dlyOn
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimJtOn dlyOff
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimJtRampOff off
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimJtRampOn on
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimMaxLvl 100 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimMinLvl 0 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shDimStep 5 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shMultiExec off
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffDly 0 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffDlyBlink on
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffDlyNewTime 0.4 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffDlyOldTime 0.4 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffDlyStep 5 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffLevel 0 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffTime unused
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOffTimeMode absolut
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOnDly 0 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOnDlyMode setToOff
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOnLvlPrio high
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOnMinLevel 10 %
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOnTime unused
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shOnTimeMode absolut
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shRampOffTime 0.5 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shRampOnTime 0.5 s
     2017-12-06 00:13:06   .R-DispFB_Btn_01-shRampSstep 5 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtDlyOff geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtDlyOn geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtOff geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtOn geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtRampOff geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtRampOn geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtValHi 100
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgCtValLo 50
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimJtDlyOff rampOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimJtDlyOn dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimJtOff dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimJtOn dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimJtRampOff off
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimJtRampOn dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimMaxLvl 100 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimMinLvl 0 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgDimStep 5 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgMultiExec on
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffDly 0 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffDlyBlink on
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffDlyNewTime 0.4 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffDlyOldTime 0.4 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffDlyStep 5 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffLevel 0 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffTime unused
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOffTimeMode absolut
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOnDly 0 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOnDlyMode setToOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOnLvlPrio high
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOnMinLevel 10 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOnTime 1 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgOnTimeMode minimal
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgRampOffTime 0.5 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgRampOnTime 0.5 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-lgRampSstep 20 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtDlyOff geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtDlyOn geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtOff geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtOn geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtRampOff geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtRampOn geLo
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtValHi 100
     2017-12-06 00:12:39   .R-FB12_Btn_01-shCtValLo 50
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimJtDlyOff rampOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimJtDlyOn dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimJtOff dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimJtOn dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimJtRampOff off
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimJtRampOn dlyOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimMaxLvl 100 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimMinLvl 0 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-shDimStep 5 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-shMultiExec off
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffDly 0 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffDlyBlink on
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffDlyNewTime 0.4 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffDlyOldTime 0.4 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffDlyStep 5 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffLevel 0 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffTime unused
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOffTimeMode absolut
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOnDly 0 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOnDlyMode setToOff
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOnLvlPrio high
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOnMinLevel 10 %
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOnTime unused
     2017-12-06 00:12:39   .R-FB12_Btn_01-shOnTimeMode absolut
     2017-12-06 00:12:39   .R-FB12_Btn_01-shRampOffTime 5 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-shRampOnTime 0.5 s
     2017-12-06 00:12:39   .R-FB12_Btn_01-shRampSstep 5 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtDlyOff geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtDlyOn geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtOff geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtOn geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtRampOff geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtRampOn geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtValHi 100
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgCtValLo 50
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimJtDlyOff rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimJtDlyOn rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimJtOff dlyOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimJtOn rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimJtRampOff rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimJtRampOn on
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimMaxLvl 100 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimMinLvl 0 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgDimStep 5 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgMultiExec on
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffDly 0 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffDlyBlink on
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffDlyNewTime 0.4 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffDlyOldTime 0.4 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffDlyStep 5 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffLevel 0 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffTime unused
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOffTimeMode absolut
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOnDly 0 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOnDlyMode setToOff
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOnLvlPrio high
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOnMinLevel 10 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOnTime unused
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgOnTimeMode absolut
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgRampOffTime 0.5 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgRampOnTime 0.5 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-lgRampSstep 5 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtDlyOff geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtDlyOn geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtOff geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtOn geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtRampOff geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtRampOn geLo
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtValHi 100
     2017-12-06 00:12:43   .R-FB12_Btn_02-shCtValLo 50
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimJtDlyOff rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimJtDlyOn rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimJtOff dlyOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimJtOn rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimJtRampOff rampOn
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimJtRampOn on
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimMaxLvl 100 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimMinLvl 0 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-shDimStep 5 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-shMultiExec off
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffDly 0 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffDlyBlink on
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffDlyNewTime 0.4 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffDlyOldTime 0.4 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffDlyStep 5 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffLevel 0 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffTime unused
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOffTimeMode absolut
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOnDly 0 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOnDlyMode setToOff
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOnLvlPrio high
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOnMinLevel 10 %
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOnTime unused
     2017-12-06 00:12:43   .R-FB12_Btn_02-shOnTimeMode absolut
     2017-12-06 00:12:43   .R-FB12_Btn_02-shRampOffTime 0.5 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-shRampOnTime 5 s
     2017-12-06 00:12:43   .R-FB12_Btn_02-shRampSstep 5 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtDlyOff geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtDlyOn geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtOff geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtOn geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtRampOff geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtRampOn geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtValHi 100
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgCtValLo 50
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimJtDlyOff rampOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimJtDlyOn dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimJtOff dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimJtOn dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimJtRampOff off
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimJtRampOn dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimMaxLvl 100 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimMinLvl 0 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgDimStep 5 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgMultiExec on
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffDly 0 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffDlyBlink on
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffDlyNewTime 0.4 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffDlyOldTime 0.4 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffDlyStep 5 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffLevel 0 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffTime unused
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOffTimeMode absolut
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOnDly 0 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOnDlyMode setToOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOnLvlPrio high
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOnMinLevel 10 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOnTime 1 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgOnTimeMode minimal
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgRampOffTime 0.5 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgRampOnTime 0.5 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-lgRampSstep 5 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtDlyOff geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtDlyOn geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtOff geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtOn geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtRampOff geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtRampOn geLo
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtValHi 100
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shCtValLo 50
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimJtDlyOff rampOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimJtDlyOn dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimJtOff dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimJtOn dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimJtRampOff off
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimJtRampOn dlyOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimMaxLvl 100 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimMinLvl 0 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shDimStep 5 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shMultiExec off
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffDly 0 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffDlyBlink on
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffDlyNewTime 0.4 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffDlyOldTime 0.4 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffDlyStep 5 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffLevel 0 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffTime unused
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOffTimeMode absolut
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOnDly 0 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOnDlyMode setToOff
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOnLvlPrio high
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOnMinLevel 10 %
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOnTime unused
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shOnTimeMode absolut
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shRampOffTime 0.5 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shRampOnTime 0.5 s
     2017-12-06 00:12:58   .R-HM_PB4Dis1_Btn_13-shRampSstep 5 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtDlyOff geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtDlyOn geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtOff geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtOn geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtRampOff geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtRampOn geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtValHi 100
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgCtValLo 50
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimJtDlyOff rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimJtDlyOn rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimJtOff dlyOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimJtOn rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimJtRampOff rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimJtRampOn on
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimMaxLvl 100 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimMinLvl 0 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgDimStep 5 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgMultiExec on
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffDly 0 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffDlyBlink on
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffDlyNewTime 0.4 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffDlyOldTime 0.4 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffDlyStep 5 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffLevel 0 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffTime unused
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOffTimeMode absolut
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOnDly 0 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOnDlyMode setToOff
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOnLvlPrio high
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOnMinLevel 10 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOnTime unused
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgOnTimeMode absolut
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgRampOffTime 0.5 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgRampOnTime 0.5 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-lgRampSstep 5 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtDlyOff geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtDlyOn geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtOff geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtOn geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtRampOff geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtRampOn geLo
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtValHi 100
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shCtValLo 50
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimJtDlyOff rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimJtDlyOn rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimJtOff dlyOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimJtOn rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimJtRampOff rampOn
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimJtRampOn on
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimMaxLvl 100 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimMinLvl 0 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shDimStep 5 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shMultiExec off
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffDly 0 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffDlyBlink on
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffDlyNewTime 0.4 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffDlyOldTime 0.4 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffDlyStep 5 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffLevel 0 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffTime unused
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOffTimeMode absolut
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOnDly 0 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOnDlyMode setToOff
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOnLvlPrio high
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOnMinLevel 10 %
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOnTime unused
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shOnTimeMode absolut
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shRampOffTime 0.5 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shRampOnTime 0.5 s
     2017-12-06 00:13:02   .R-HM_PB4Dis1_Btn_14-shRampSstep 5 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtDlyOff geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtDlyOn geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtOff geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtOn geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtRampOff geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtRampOn geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtValHi 100
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgCtValLo 50
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimJtDlyOff rampOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimJtDlyOn dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimJtOff dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimJtOn dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimJtRampOff off
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimJtRampOn dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimMaxLvl 100 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimMinLvl 0 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgDimStep 5 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgMultiExec on
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffDly 0 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffDlyBlink on
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffDlyNewTime 0.4 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffDlyOldTime 0.4 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffDlyStep 5 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffLevel 0 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffTime unused
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOffTimeMode absolut
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOnDly 0 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOnDlyMode setToOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOnLvlPrio high
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOnMinLevel 10 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOnTime 1 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgOnTimeMode minimal
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgRampOffTime 0.5 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgRampOnTime 0.5 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-lgRampSstep 5 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtDlyOff geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtDlyOn geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtOff geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtOn geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtRampOff geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtRampOn geLo
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtValHi 100
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shCtValLo 50
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimJtDlyOff rampOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimJtDlyOn dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimJtOff dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimJtOn dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimJtRampOff off
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimJtRampOn dlyOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimMaxLvl 100 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimMinLvl 0 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shDimStep 5 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shMultiExec off
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffDly 0 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffDlyBlink on
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffDlyNewTime 0.4 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffDlyOldTime 0.4 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffDlyStep 5 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffLevel 0 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffTime unused
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOffTimeMode absolut
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOnDly 0 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOnDlyMode setToOff
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOnLvlPrio high
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOnMinLevel 10 %
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOnTime unused
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shOnTimeMode absolut
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shRampOffTime 5 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shRampOnTime 0.5 s
     2017-12-06 00:12:47   .R-Wz6TasterRightDown-shRampSstep 5 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtDlyOff geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtDlyOn geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtOff geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtOn geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtRampOff geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtRampOn geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtValHi 100
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgCtValLo 50
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimJtDlyOff rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimJtDlyOn rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimJtOff dlyOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimJtOn rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimJtRampOff rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimJtRampOn on
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimMaxLvl 100 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimMinLvl 0 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgDimStep 5 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgMultiExec on
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffDly 0 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffDlyBlink on
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffDlyNewTime 0.4 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffDlyOldTime 0.4 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffDlyStep 5 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffLevel 0 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffTime unused
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOffTimeMode absolut
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOnDly 0 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOnDlyMode setToOff
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOnLvlPrio high
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOnMinLevel 10 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOnTime unused
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgOnTimeMode absolut
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgRampOffTime 0.5 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgRampOnTime 0.5 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-lgRampSstep 5 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtDlyOff geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtDlyOn geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtOff geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtOn geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtRampOff geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtRampOn geLo
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtValHi 100
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shCtValLo 50
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimJtDlyOff rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimJtDlyOn rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimJtOff dlyOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimJtOn rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimJtRampOff rampOn
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimJtRampOn on
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimMaxLvl 100 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimMinLvl 0 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shDimStep 5 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shMultiExec off
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffDly 0 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffDlyBlink on
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffDlyNewTime 0.4 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffDlyOldTime 0.4 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffDlyStep 5 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffLevel 0 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffTime unused
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOffTimeMode absolut
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOnDly 0 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOnDlyMode setToOff
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOnLvlPrio high
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOnMinLevel 10 %
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOnTime unused
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shOnTimeMode absolut
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shRampOffTime 0.5 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shRampOnTime 5 s
     2017-12-06 00:12:51   .R-Wz6TasterRightUp-shRampSstep 5 %
     2018-11-24 01:46:27   .peerListRDate  2018-11-24 01:46:27
     2018-12-14 07:28:13   CommandAccepted yes
     2018-11-24 01:46:52   R-BewMelder2_chn-01-lgActionTypeDim toggelDim
     2018-11-24 01:46:52   R-BewMelder2_chn-01-lgOnLevel 100 %
     2018-11-24 01:46:52   R-BewMelder2_chn-01-shActionTypeDim jmpToTarget
     2018-11-24 01:46:52   R-BewMelder2_chn-01-shOnLevel 20 %
     2017-12-06 00:13:06   R-DispFB_Btn_01-lgActionTypeDim toggelDim
     2017-12-06 00:13:06   R-DispFB_Btn_01-lgOnLevel 100 %
     2017-12-06 00:13:06   R-DispFB_Btn_01-shActionTypeDim jmpToTarget
     2017-12-06 00:13:06   R-DispFB_Btn_01-shOnLevel 100 %
     2017-12-06 00:12:39   R-FB12_Btn_01-lgActionTypeDim downDim
     2017-12-06 00:12:39   R-FB12_Btn_01-lgOnLevel 100 %
     2017-12-06 00:12:39   R-FB12_Btn_01-shActionTypeDim jmpToTarget
     2017-12-06 00:12:39   R-FB12_Btn_01-shOnLevel 100 %
     2017-12-06 00:12:43   R-FB12_Btn_02-lgActionTypeDim upDim
     2017-12-06 00:12:43   R-FB12_Btn_02-lgOnLevel 100 %
     2017-12-06 00:12:43   R-FB12_Btn_02-shActionTypeDim jmpToTarget
     2017-12-06 00:12:43   R-FB12_Btn_02-shOnLevel 100 %
     2017-12-06 00:12:58   R-HM_PB4Dis1_Btn_13-lgActionTypeDim downDim
     2017-12-06 00:12:58   R-HM_PB4Dis1_Btn_13-lgOnLevel 100 %
     2017-12-06 00:12:58   R-HM_PB4Dis1_Btn_13-shActionTypeDim jmpToTarget
     2017-12-06 00:12:58   R-HM_PB4Dis1_Btn_13-shOnLevel 100 %
     2017-12-06 00:13:02   R-HM_PB4Dis1_Btn_14-lgActionTypeDim upDim
     2017-12-06 00:13:02   R-HM_PB4Dis1_Btn_14-lgOnLevel 100 %
     2017-12-06 00:13:02   R-HM_PB4Dis1_Btn_14-shActionTypeDim jmpToTarget
     2017-12-06 00:13:02   R-HM_PB4Dis1_Btn_14-shOnLevel 100 %
     2017-12-06 00:12:47   R-Wz6TasterRightDown-lgActionTypeDim downDim
     2017-12-06 00:12:47   R-Wz6TasterRightDown-lgOnLevel 100 %
     2017-12-06 00:12:47   R-Wz6TasterRightDown-shActionTypeDim jmpToTarget
     2017-12-06 00:12:47   R-Wz6TasterRightDown-shOnLevel 100 %
     2017-12-06 00:12:51   R-Wz6TasterRightUp-lgActionTypeDim upDim
     2017-12-06 00:12:51   R-Wz6TasterRightUp-lgOnLevel 100 %
     2017-12-06 00:12:51   R-Wz6TasterRightUp-shActionTypeDim jmpToTarget
     2017-12-06 00:12:51   R-Wz6TasterRightUp-shOnLevel 100 %
     2017-12-06 00:12:28   R-sign          off
     2018-11-24 01:46:25   RegL_01.        08:00  00:00
     2018-11-24 01:46:52   RegL_03.BewMelder2_chn-01 01:22 02:22 03:22 04:14 05:64 06:00 07:7E 08:00 09:FF 0A:81 0B:13 0C:13 0D:63 0E:60 0F:00 10:14 11:28 12:0A 13:14 14:2A 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:26 8B:14 8C:63 8D:63 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-11-24 01:47:11   RegL_03.DispFB_Btn_01 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 0D:63 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:26 8B:14 8C:63 8D:63 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-11-24 01:46:36   RegL_03.FB12_Btn_01 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:64 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:25 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:0A 88:00 89:FF 8A:A5 8B:44 8C:54 8D:64 8E:20 8F:00 90:14 91:C8 92:28 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-11-24 01:46:40   RegL_03.FB12_Btn_02 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:12 0C:22 0D:23 0E:20 0F:00 10:14 11:C8 12:0A 13:25 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:24 8B:12 8C:22 8D:23 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-11-24 01:46:57   RegL_03.HM_PB4Dis1_Btn_13 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:64 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:0A 88:00 89:FF 8A:A5 8B:44 8C:54 8D:64 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-11-24 01:47:02   RegL_03.HM_PB4Dis1_Btn_14 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:12 0C:22 0D:23 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:24 8B:12 8C:22 8D:23 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-11-24 01:46:44   RegL_03.Wz6TasterRightDown 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:64 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:25 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:0A 88:00 89:FF 8A:A5 8B:44 8C:54 8D:64 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-11-24 01:46:48   RegL_03.Wz6TasterRightUp 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:12 0C:22 0D:23 0E:20 0F:00 10:14 11:C8 12:0A 13:25 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 2F:00 30:00 31:FF 32:FF 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:24 8B:12 8C:22 8D:23 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 AF:00 B0:00 B1:FF B2:FF 00:00
     2018-12-14 07:28:13   deviceMsg       off (to vccu)
     2018-12-14 07:28:13   dim             stop:off
     2018-12-14 07:28:13   level           0
     2018-12-14 07:28:13   pct             0
     2018-12-13 00:08:39   peerList        FB12_Btn_01,FB12_Btn_02,Wz6TasterRightDown,Wz6TasterRightUp,BewMelder2,HM_PB4Dis1_Btn_13,HM_PB4Dis1_Btn_14,DispFB_Btn_01,
     2018-12-14 07:28:13   recentStateType ack
     2018-12-14 07:28:13   state           off
     2018-12-14 07:28:13   timedOn         off
     2018-12-14 07:28:13   trigLast        fhem:02
     2018-12-14 06:35:13   trig_BewMelder2 109_117
     2018-12-10 00:12:35   trig_DispFB_Btn_01 Short_75
     2018-12-07 22:21:44   trig_FB12_Btn_01 Long_9
     2018-11-30 20:28:26   trig_FB12_Btn_02 Long_5
     2018-01-21 16:02:47   trig_HM_PB4Dis1_Btn_13 Short_12
     2018-03-07 20:02:09   trig_HM_PB4Dis1_Btn_14 Long_12
     2018-12-14 00:20:30   trig_Wz6TasterRightDown Short_22
     2018-12-14 00:12:47   trig_Wz6TasterRightUp Short_101
   helper:
     dlvlCmd    ++A0111411AB47718D0201000000
     regLst     ,1,3p
     dir:
       cur        stop
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     tmpl:
Attributes:
   alexaName  Deckenlicht-Sitzgruppe
   alias      Deckenlicht Sitzgruppe
   cmdIcon    an:light_ceiling aus:light_ceiling_off up:control_plus down:control_minus
   devStateIcon aus:light_light_dim_00@darkgrey an:light_light_dim_100 9\d.*:light_light_dim_90 8\d.*:light_light_dim_80 7\d.*:light_light_dim_70 6\d.*:light_light_dim_60 5\d.*:light_light_dim_50 4\d.*:light_light_dim_40 3\d.*:light_light_dim_30 2\d.*:light_light_dim_20 1\d.*:light_light_dim_10 .*:control_home@darkred
   eventMap   on:an up:heller down:dunkler off:aus
   group      Licht
   model      HM-LC-RGBW-WM
   peerIDs    00000000,24214401,24214402,24BC4105,24BC4106,2D858801,3043A40D,3043A40E,36150001,
   room       Erdgeschoss,alexa
   struct_AlleLichter Alle_Lichter
   uiDeviceIcon ios-bulb;ios-bulb-outline
   uiDeviceType RANGE
   uiDeviceTypeParameter 0;100;1
   uiDisplayName Deckenbeleuchtung Sofa
   uiDisplayOrder 530
   uiDisplayRoom Licht
   uiGet      [[DEVICE:%D%:pct]]
   uiOption   optionHeaderHide
   uiSet      set %D% pct %VALUE%
   uiShow     2
   userattr   struct_AlleLichter struct_AlleLichter_map structexclude
   webCmd     aus:pct:an


Und da der Webeditor beide Lists nicht zusammen darstellen will, das reg all im nächsten Post ...
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 14 Dezember 2018, 08:26:07
HM_RGB1_Dim type:rgb -
list:peer register         :value
   1:      sign             :off
   3:BewMelder2_chn-01 lgActionTypeDim  :toggelDim
   3:BewMelder2_chn-01 lgCtDlyOff       :geLo
   3:BewMelder2_chn-01 lgCtDlyOn        :geLo
   3:BewMelder2_chn-01 lgCtOff          :geLo
   3:BewMelder2_chn-01 lgCtOn           :geLo
   3:BewMelder2_chn-01 lgCtRampOff      :geLo
   3:BewMelder2_chn-01 lgCtRampOn       :geLo
   3:BewMelder2_chn-01 lgCtValHi        :100
   3:BewMelder2_chn-01 lgCtValLo        :50
   3:BewMelder2_chn-01 lgDimJtDlyOff    :off
   3:BewMelder2_chn-01 lgDimJtDlyOn     :on
   3:BewMelder2_chn-01 lgDimJtOff       :dlyOn
   3:BewMelder2_chn-01 lgDimJtOn        :dlyOff
   3:BewMelder2_chn-01 lgDimJtRampOff   :off
   3:BewMelder2_chn-01 lgDimJtRampOn    :on
   3:BewMelder2_chn-01 lgDimMaxLvl      :100 %
   3:BewMelder2_chn-01 lgDimMinLvl      :0 %
   3:BewMelder2_chn-01 lgDimStep        :5 %
   3:BewMelder2_chn-01 lgMultiExec      :on
   3:BewMelder2_chn-01 lgOffDly         :0 s
   3:BewMelder2_chn-01 lgOffDlyBlink    :on
   3:BewMelder2_chn-01 lgOffDlyNewTime  :0.4 s
   3:BewMelder2_chn-01 lgOffDlyOldTime  :0.4 s
   3:BewMelder2_chn-01 lgOffDlyStep     :5 %
   3:BewMelder2_chn-01 lgOffLevel       :0 %
   3:BewMelder2_chn-01 lgOffTime        :unused
   3:BewMelder2_chn-01 lgOffTimeMode    :absolut
   3:BewMelder2_chn-01 lgOnDly          :0 s
   3:BewMelder2_chn-01 lgOnDlyMode      :setToOff
   3:BewMelder2_chn-01 lgOnLevel        :100 %
   3:BewMelder2_chn-01 lgOnLvlPrio      :high
   3:BewMelder2_chn-01 lgOnMinLevel     :10 %
   3:BewMelder2_chn-01 lgOnTime         :unused
   3:BewMelder2_chn-01 lgOnTimeMode     :absolut
   3:BewMelder2_chn-01 lgRampOffTime    :0.5 s
   3:BewMelder2_chn-01 lgRampOnTime     :0.5 s
   3:BewMelder2_chn-01 lgRampSstep      :5 %
   3:BewMelder2_chn-01 shActionTypeDim  :jmpToTarget
   3:BewMelder2_chn-01 shCtDlyOff       :ltLo
   3:BewMelder2_chn-01 shCtDlyOn        :ltLo
   3:BewMelder2_chn-01 shCtOff          :ltLo
   3:BewMelder2_chn-01 shCtOn           :ltLo
   3:BewMelder2_chn-01 shCtRampOff      :ltLo
   3:BewMelder2_chn-01 shCtRampOn       :ltLo
   3:BewMelder2_chn-01 shCtValHi        :100
   3:BewMelder2_chn-01 shCtValLo        :20
   3:BewMelder2_chn-01 shDimJtDlyOff    :dlyOn
   3:BewMelder2_chn-01 shDimJtDlyOn     :on
   3:BewMelder2_chn-01 shDimJtOff       :dlyOn
   3:BewMelder2_chn-01 shDimJtOn        :on
   3:BewMelder2_chn-01 shDimJtRampOff   :off
   3:BewMelder2_chn-01 shDimJtRampOn    :on
   3:BewMelder2_chn-01 shDimMaxLvl      :100 %
   3:BewMelder2_chn-01 shDimMinLvl      :0 %
   3:BewMelder2_chn-01 shDimStep        :5 %
   3:BewMelder2_chn-01 shMultiExec      :off
   3:BewMelder2_chn-01 shOffDly         :0 s
   3:BewMelder2_chn-01 shOffDlyBlink    :on
   3:BewMelder2_chn-01 shOffDlyNewTime  :0.4 s
   3:BewMelder2_chn-01 shOffDlyOldTime  :0.4 s
   3:BewMelder2_chn-01 shOffDlyStep     :5 %
   3:BewMelder2_chn-01 shOffLevel       :0 %
   3:BewMelder2_chn-01 shOffTime        :unused
   3:BewMelder2_chn-01 shOffTimeMode    :absolut
   3:BewMelder2_chn-01 shOnDly          :0 s
   3:BewMelder2_chn-01 shOnDlyMode      :setToOff
   3:BewMelder2_chn-01 shOnLevel        :20 %
   3:BewMelder2_chn-01 shOnLvlPrio      :low
   3:BewMelder2_chn-01 shOnMinLevel     :10 %
   3:BewMelder2_chn-01 shOnTime         :300 s
   3:BewMelder2_chn-01 shOnTimeMode     :minimal
   3:BewMelder2_chn-01 shRampOffTime    :10 s
   3:BewMelder2_chn-01 shRampOnTime     :2 s
   3:BewMelder2_chn-01 shRampSstep      :5 %
   3:DispFB_Btn_01 lgActionTypeDim  :toggelDim
   3:DispFB_Btn_01 lgCtDlyOff       :geLo
   3:DispFB_Btn_01 lgCtDlyOn        :geLo
   3:DispFB_Btn_01 lgCtOff          :geLo
   3:DispFB_Btn_01 lgCtOn           :geLo
   3:DispFB_Btn_01 lgCtRampOff      :geLo
   3:DispFB_Btn_01 lgCtRampOn       :geLo
   3:DispFB_Btn_01 lgCtValHi        :100
   3:DispFB_Btn_01 lgCtValLo        :50
   3:DispFB_Btn_01 lgDimJtDlyOff    :off
   3:DispFB_Btn_01 lgDimJtDlyOn     :on
   3:DispFB_Btn_01 lgDimJtOff       :dlyOn
   3:DispFB_Btn_01 lgDimJtOn        :dlyOff
   3:DispFB_Btn_01 lgDimJtRampOff   :off
   3:DispFB_Btn_01 lgDimJtRampOn    :on
   3:DispFB_Btn_01 lgDimMaxLvl      :100 %
   3:DispFB_Btn_01 lgDimMinLvl      :0 %
   3:DispFB_Btn_01 lgDimStep        :5 %
   3:DispFB_Btn_01 lgMultiExec      :on
   3:DispFB_Btn_01 lgOffDly         :0 s
   3:DispFB_Btn_01 lgOffDlyBlink    :on
   3:DispFB_Btn_01 lgOffDlyNewTime  :0.4 s
   3:DispFB_Btn_01 lgOffDlyOldTime  :0.4 s
   3:DispFB_Btn_01 lgOffDlyStep     :5 %
   3:DispFB_Btn_01 lgOffLevel       :0 %
   3:DispFB_Btn_01 lgOffTime        :unused
   3:DispFB_Btn_01 lgOffTimeMode    :absolut
   3:DispFB_Btn_01 lgOnDly          :0 s
   3:DispFB_Btn_01 lgOnDlyMode      :setToOff
   3:DispFB_Btn_01 lgOnLevel        :100 %
   3:DispFB_Btn_01 lgOnLvlPrio      :high
   3:DispFB_Btn_01 lgOnMinLevel     :10 %
   3:DispFB_Btn_01 lgOnTime         :unused
   3:DispFB_Btn_01 lgOnTimeMode     :absolut
   3:DispFB_Btn_01 lgRampOffTime    :0.5 s
   3:DispFB_Btn_01 lgRampOnTime     :0.5 s
   3:DispFB_Btn_01 lgRampSstep      :5 %
   3:DispFB_Btn_01 shActionTypeDim  :jmpToTarget
   3:DispFB_Btn_01 shCtDlyOff       :geLo
   3:DispFB_Btn_01 shCtDlyOn        :geLo
   3:DispFB_Btn_01 shCtOff          :geLo
   3:DispFB_Btn_01 shCtOn           :geLo
   3:DispFB_Btn_01 shCtRampOff      :geLo
   3:DispFB_Btn_01 shCtRampOn       :geLo
   3:DispFB_Btn_01 shCtValHi        :100
   3:DispFB_Btn_01 shCtValLo        :50
   3:DispFB_Btn_01 shDimJtDlyOff    :off
   3:DispFB_Btn_01 shDimJtDlyOn     :on
   3:DispFB_Btn_01 shDimJtOff       :dlyOn
   3:DispFB_Btn_01 shDimJtOn        :dlyOff
   3:DispFB_Btn_01 shDimJtRampOff   :off
   3:DispFB_Btn_01 shDimJtRampOn    :on
   3:DispFB_Btn_01 shDimMaxLvl      :100 %
   3:DispFB_Btn_01 shDimMinLvl      :0 %
   3:DispFB_Btn_01 shDimStep        :5 %
   3:DispFB_Btn_01 shMultiExec      :off
   3:DispFB_Btn_01 shOffDly         :0 s
   3:DispFB_Btn_01 shOffDlyBlink    :on
   3:DispFB_Btn_01 shOffDlyNewTime  :0.4 s
   3:DispFB_Btn_01 shOffDlyOldTime  :0.4 s
   3:DispFB_Btn_01 shOffDlyStep     :5 %
   3:DispFB_Btn_01 shOffLevel       :0 %
   3:DispFB_Btn_01 shOffTime        :unused
   3:DispFB_Btn_01 shOffTimeMode    :absolut
   3:DispFB_Btn_01 shOnDly          :0 s
   3:DispFB_Btn_01 shOnDlyMode      :setToOff
   3:DispFB_Btn_01 shOnLevel        :100 %
   3:DispFB_Btn_01 shOnLvlPrio      :high
   3:DispFB_Btn_01 shOnMinLevel     :10 %
   3:DispFB_Btn_01 shOnTime         :unused
   3:DispFB_Btn_01 shOnTimeMode     :absolut
   3:DispFB_Btn_01 shRampOffTime    :0.5 s
   3:DispFB_Btn_01 shRampOnTime     :0.5 s
   3:DispFB_Btn_01 shRampSstep      :5 %
   3:FB12_Btn_01 lgActionTypeDim  :downDim
   3:FB12_Btn_01 lgCtDlyOff       :geLo
   3:FB12_Btn_01 lgCtDlyOn        :geLo
   3:FB12_Btn_01 lgCtOff          :geLo
   3:FB12_Btn_01 lgCtOn           :geLo
   3:FB12_Btn_01 lgCtRampOff      :geLo
   3:FB12_Btn_01 lgCtRampOn       :geLo
   3:FB12_Btn_01 lgCtValHi        :100
   3:FB12_Btn_01 lgCtValLo        :50
   3:FB12_Btn_01 lgDimJtDlyOff    :rampOff
   3:FB12_Btn_01 lgDimJtDlyOn     :dlyOff
   3:FB12_Btn_01 lgDimJtOff       :dlyOff
   3:FB12_Btn_01 lgDimJtOn        :dlyOff
   3:FB12_Btn_01 lgDimJtRampOff   :off
   3:FB12_Btn_01 lgDimJtRampOn    :dlyOff
   3:FB12_Btn_01 lgDimMaxLvl      :100 %
   3:FB12_Btn_01 lgDimMinLvl      :0 %
   3:FB12_Btn_01 lgDimStep        :5 %
   3:FB12_Btn_01 lgMultiExec      :on
   3:FB12_Btn_01 lgOffDly         :0 s
   3:FB12_Btn_01 lgOffDlyBlink    :on
   3:FB12_Btn_01 lgOffDlyNewTime  :0.4 s
   3:FB12_Btn_01 lgOffDlyOldTime  :0.4 s
   3:FB12_Btn_01 lgOffDlyStep     :5 %
   3:FB12_Btn_01 lgOffLevel       :0 %
   3:FB12_Btn_01 lgOffTime        :unused
   3:FB12_Btn_01 lgOffTimeMode    :absolut
   3:FB12_Btn_01 lgOnDly          :0 s
   3:FB12_Btn_01 lgOnDlyMode      :setToOff
   3:FB12_Btn_01 lgOnLevel        :100 %
   3:FB12_Btn_01 lgOnLvlPrio      :high
   3:FB12_Btn_01 lgOnMinLevel     :10 %
   3:FB12_Btn_01 lgOnTime         :1 s
   3:FB12_Btn_01 lgOnTimeMode     :minimal
   3:FB12_Btn_01 lgRampOffTime    :0.5 s
   3:FB12_Btn_01 lgRampOnTime     :0.5 s
   3:FB12_Btn_01 lgRampSstep      :20 %
   3:FB12_Btn_01 shActionTypeDim  :jmpToTarget
   3:FB12_Btn_01 shCtDlyOff       :geLo
   3:FB12_Btn_01 shCtDlyOn        :geLo
   3:FB12_Btn_01 shCtOff          :geLo
   3:FB12_Btn_01 shCtOn           :geLo
   3:FB12_Btn_01 shCtRampOff      :geLo
   3:FB12_Btn_01 shCtRampOn       :geLo
   3:FB12_Btn_01 shCtValHi        :100
   3:FB12_Btn_01 shCtValLo        :50
   3:FB12_Btn_01 shDimJtDlyOff    :rampOff
   3:FB12_Btn_01 shDimJtDlyOn     :dlyOff
   3:FB12_Btn_01 shDimJtOff       :dlyOff
   3:FB12_Btn_01 shDimJtOn        :dlyOff
   3:FB12_Btn_01 shDimJtRampOff   :off
   3:FB12_Btn_01 shDimJtRampOn    :dlyOff
   3:FB12_Btn_01 shDimMaxLvl      :100 %
   3:FB12_Btn_01 shDimMinLvl      :0 %
   3:FB12_Btn_01 shDimStep        :5 %
   3:FB12_Btn_01 shMultiExec      :off
   3:FB12_Btn_01 shOffDly         :0 s
   3:FB12_Btn_01 shOffDlyBlink    :on
   3:FB12_Btn_01 shOffDlyNewTime  :0.4 s
   3:FB12_Btn_01 shOffDlyOldTime  :0.4 s
   3:FB12_Btn_01 shOffDlyStep     :5 %
   3:FB12_Btn_01 shOffLevel       :0 %
   3:FB12_Btn_01 shOffTime        :unused
   3:FB12_Btn_01 shOffTimeMode    :absolut
   3:FB12_Btn_01 shOnDly          :0 s
   3:FB12_Btn_01 shOnDlyMode      :setToOff
   3:FB12_Btn_01 shOnLevel        :100 %
   3:FB12_Btn_01 shOnLvlPrio      :high
   3:FB12_Btn_01 shOnMinLevel     :10 %
   3:FB12_Btn_01 shOnTime         :unused
   3:FB12_Btn_01 shOnTimeMode     :absolut
   3:FB12_Btn_01 shRampOffTime    :5 s
   3:FB12_Btn_01 shRampOnTime     :0.5 s
   3:FB12_Btn_01 shRampSstep      :5 %
   3:FB12_Btn_02 lgActionTypeDim  :upDim
   3:FB12_Btn_02 lgCtDlyOff       :geLo
   3:FB12_Btn_02 lgCtDlyOn        :geLo
   3:FB12_Btn_02 lgCtOff          :geLo
   3:FB12_Btn_02 lgCtOn           :geLo
   3:FB12_Btn_02 lgCtRampOff      :geLo
   3:FB12_Btn_02 lgCtRampOn       :geLo
   3:FB12_Btn_02 lgCtValHi        :100
   3:FB12_Btn_02 lgCtValLo        :50
   3:FB12_Btn_02 lgDimJtDlyOff    :rampOn
   3:FB12_Btn_02 lgDimJtDlyOn     :rampOn
   3:FB12_Btn_02 lgDimJtOff       :dlyOn
   3:FB12_Btn_02 lgDimJtOn        :rampOn
   3:FB12_Btn_02 lgDimJtRampOff   :rampOn
   3:FB12_Btn_02 lgDimJtRampOn    :on
   3:FB12_Btn_02 lgDimMaxLvl      :100 %
   3:FB12_Btn_02 lgDimMinLvl      :0 %
   3:FB12_Btn_02 lgDimStep        :5 %
   3:FB12_Btn_02 lgMultiExec      :on
   3:FB12_Btn_02 lgOffDly         :0 s
   3:FB12_Btn_02 lgOffDlyBlink    :on
   3:FB12_Btn_02 lgOffDlyNewTime  :0.4 s
   3:FB12_Btn_02 lgOffDlyOldTime  :0.4 s
   3:FB12_Btn_02 lgOffDlyStep     :5 %
   3:FB12_Btn_02 lgOffLevel       :0 %
   3:FB12_Btn_02 lgOffTime        :unused
   3:FB12_Btn_02 lgOffTimeMode    :absolut
   3:FB12_Btn_02 lgOnDly          :0 s
   3:FB12_Btn_02 lgOnDlyMode      :setToOff
   3:FB12_Btn_02 lgOnLevel        :100 %
   3:FB12_Btn_02 lgOnLvlPrio      :high
   3:FB12_Btn_02 lgOnMinLevel     :10 %
   3:FB12_Btn_02 lgOnTime         :unused
   3:FB12_Btn_02 lgOnTimeMode     :absolut
   3:FB12_Btn_02 lgRampOffTime    :0.5 s
   3:FB12_Btn_02 lgRampOnTime     :0.5 s
   3:FB12_Btn_02 lgRampSstep      :5 %
   3:FB12_Btn_02 shActionTypeDim  :jmpToTarget
   3:FB12_Btn_02 shCtDlyOff       :geLo
   3:FB12_Btn_02 shCtDlyOn        :geLo
   3:FB12_Btn_02 shCtOff          :geLo
   3:FB12_Btn_02 shCtOn           :geLo
   3:FB12_Btn_02 shCtRampOff      :geLo
   3:FB12_Btn_02 shCtRampOn       :geLo
   3:FB12_Btn_02 shCtValHi        :100
   3:FB12_Btn_02 shCtValLo        :50
   3:FB12_Btn_02 shDimJtDlyOff    :rampOn
   3:FB12_Btn_02 shDimJtDlyOn     :rampOn
   3:FB12_Btn_02 shDimJtOff       :dlyOn
   3:FB12_Btn_02 shDimJtOn        :rampOn
   3:FB12_Btn_02 shDimJtRampOff   :rampOn
   3:FB12_Btn_02 shDimJtRampOn    :on
   3:FB12_Btn_02 shDimMaxLvl      :100 %
   3:FB12_Btn_02 shDimMinLvl      :0 %
   3:FB12_Btn_02 shDimStep        :5 %
   3:FB12_Btn_02 shMultiExec      :off
   3:FB12_Btn_02 shOffDly         :0 s
   3:FB12_Btn_02 shOffDlyBlink    :on
   3:FB12_Btn_02 shOffDlyNewTime  :0.4 s
   3:FB12_Btn_02 shOffDlyOldTime  :0.4 s
   3:FB12_Btn_02 shOffDlyStep     :5 %
   3:FB12_Btn_02 shOffLevel       :0 %
   3:FB12_Btn_02 shOffTime        :unused
   3:FB12_Btn_02 shOffTimeMode    :absolut
   3:FB12_Btn_02 shOnDly          :0 s
   3:FB12_Btn_02 shOnDlyMode      :setToOff
   3:FB12_Btn_02 shOnLevel        :100 %
   3:FB12_Btn_02 shOnLvlPrio      :high
   3:FB12_Btn_02 shOnMinLevel     :10 %
   3:FB12_Btn_02 shOnTime         :unused
   3:FB12_Btn_02 shOnTimeMode     :absolut
   3:FB12_Btn_02 shRampOffTime    :0.5 s
   3:FB12_Btn_02 shRampOnTime     :5 s
   3:FB12_Btn_02 shRampSstep      :5 %
   3:HM_PB4Dis1_Btn_13 lgActionTypeDim  :downDim
   3:HM_PB4Dis1_Btn_13 lgCtDlyOff       :geLo
   3:HM_PB4Dis1_Btn_13 lgCtDlyOn        :geLo
   3:HM_PB4Dis1_Btn_13 lgCtOff          :geLo
   3:HM_PB4Dis1_Btn_13 lgCtOn           :geLo
   3:HM_PB4Dis1_Btn_13 lgCtRampOff      :geLo
   3:HM_PB4Dis1_Btn_13 lgCtRampOn       :geLo
   3:HM_PB4Dis1_Btn_13 lgCtValHi        :100
   3:HM_PB4Dis1_Btn_13 lgCtValLo        :50
   3:HM_PB4Dis1_Btn_13 lgDimJtDlyOff    :rampOff
   3:HM_PB4Dis1_Btn_13 lgDimJtDlyOn     :dlyOff
   3:HM_PB4Dis1_Btn_13 lgDimJtOff       :dlyOff
   3:HM_PB4Dis1_Btn_13 lgDimJtOn        :dlyOff
   3:HM_PB4Dis1_Btn_13 lgDimJtRampOff   :off
   3:HM_PB4Dis1_Btn_13 lgDimJtRampOn    :dlyOff
   3:HM_PB4Dis1_Btn_13 lgDimMaxLvl      :100 %
   3:HM_PB4Dis1_Btn_13 lgDimMinLvl      :0 %
   3:HM_PB4Dis1_Btn_13 lgDimStep        :5 %
   3:HM_PB4Dis1_Btn_13 lgMultiExec      :on
   3:HM_PB4Dis1_Btn_13 lgOffDly         :0 s
   3:HM_PB4Dis1_Btn_13 lgOffDlyBlink    :on
   3:HM_PB4Dis1_Btn_13 lgOffDlyNewTime  :0.4 s
   3:HM_PB4Dis1_Btn_13 lgOffDlyOldTime  :0.4 s
   3:HM_PB4Dis1_Btn_13 lgOffDlyStep     :5 %
   3:HM_PB4Dis1_Btn_13 lgOffLevel       :0 %
   3:HM_PB4Dis1_Btn_13 lgOffTime        :unused
   3:HM_PB4Dis1_Btn_13 lgOffTimeMode    :absolut
   3:HM_PB4Dis1_Btn_13 lgOnDly          :0 s
   3:HM_PB4Dis1_Btn_13 lgOnDlyMode      :setToOff
   3:HM_PB4Dis1_Btn_13 lgOnLevel        :100 %
   3:HM_PB4Dis1_Btn_13 lgOnLvlPrio      :high
   3:HM_PB4Dis1_Btn_13 lgOnMinLevel     :10 %
   3:HM_PB4Dis1_Btn_13 lgOnTime         :1 s
   3:HM_PB4Dis1_Btn_13 lgOnTimeMode     :minimal
   3:HM_PB4Dis1_Btn_13 lgRampOffTime    :0.5 s
   3:HM_PB4Dis1_Btn_13 lgRampOnTime     :0.5 s
   3:HM_PB4Dis1_Btn_13 lgRampSstep      :5 %
   3:HM_PB4Dis1_Btn_13 shActionTypeDim  :jmpToTarget
   3:HM_PB4Dis1_Btn_13 shCtDlyOff       :geLo
   3:HM_PB4Dis1_Btn_13 shCtDlyOn        :geLo
   3:HM_PB4Dis1_Btn_13 shCtOff          :geLo
   3:HM_PB4Dis1_Btn_13 shCtOn           :geLo
   3:HM_PB4Dis1_Btn_13 shCtRampOff      :geLo
   3:HM_PB4Dis1_Btn_13 shCtRampOn       :geLo
   3:HM_PB4Dis1_Btn_13 shCtValHi        :100
   3:HM_PB4Dis1_Btn_13 shCtValLo        :50
   3:HM_PB4Dis1_Btn_13 shDimJtDlyOff    :rampOff
   3:HM_PB4Dis1_Btn_13 shDimJtDlyOn     :dlyOff
   3:HM_PB4Dis1_Btn_13 shDimJtOff       :dlyOff
   3:HM_PB4Dis1_Btn_13 shDimJtOn        :dlyOff
   3:HM_PB4Dis1_Btn_13 shDimJtRampOff   :off
   3:HM_PB4Dis1_Btn_13 shDimJtRampOn    :dlyOff
   3:HM_PB4Dis1_Btn_13 shDimMaxLvl      :100 %
   3:HM_PB4Dis1_Btn_13 shDimMinLvl      :0 %
   3:HM_PB4Dis1_Btn_13 shDimStep        :5 %
   3:HM_PB4Dis1_Btn_13 shMultiExec      :off
   3:HM_PB4Dis1_Btn_13 shOffDly         :0 s
   3:HM_PB4Dis1_Btn_13 shOffDlyBlink    :on
   3:HM_PB4Dis1_Btn_13 shOffDlyNewTime  :0.4 s
   3:HM_PB4Dis1_Btn_13 shOffDlyOldTime  :0.4 s
   3:HM_PB4Dis1_Btn_13 shOffDlyStep     :5 %
   3:HM_PB4Dis1_Btn_13 shOffLevel       :0 %
   3:HM_PB4Dis1_Btn_13 shOffTime        :unused
   3:HM_PB4Dis1_Btn_13 shOffTimeMode    :absolut
   3:HM_PB4Dis1_Btn_13 shOnDly          :0 s
   3:HM_PB4Dis1_Btn_13 shOnDlyMode      :setToOff
   3:HM_PB4Dis1_Btn_13 shOnLevel        :100 %
   3:HM_PB4Dis1_Btn_13 shOnLvlPrio      :high
   3:HM_PB4Dis1_Btn_13 shOnMinLevel     :10 %
   3:HM_PB4Dis1_Btn_13 shOnTime         :unused
   3:HM_PB4Dis1_Btn_13 shOnTimeMode     :absolut
   3:HM_PB4Dis1_Btn_13 shRampOffTime    :0.5 s
   3:HM_PB4Dis1_Btn_13 shRampOnTime     :0.5 s
   3:HM_PB4Dis1_Btn_13 shRampSstep      :5 %
   3:HM_PB4Dis1_Btn_14 lgActionTypeDim  :upDim
   3:HM_PB4Dis1_Btn_14 lgCtDlyOff       :geLo
   3:HM_PB4Dis1_Btn_14 lgCtDlyOn        :geLo
   3:HM_PB4Dis1_Btn_14 lgCtOff          :geLo
   3:HM_PB4Dis1_Btn_14 lgCtOn           :geLo
   3:HM_PB4Dis1_Btn_14 lgCtRampOff      :geLo
   3:HM_PB4Dis1_Btn_14 lgCtRampOn       :geLo
   3:HM_PB4Dis1_Btn_14 lgCtValHi        :100
   3:HM_PB4Dis1_Btn_14 lgCtValLo        :50
   3:HM_PB4Dis1_Btn_14 lgDimJtDlyOff    :rampOn
   3:HM_PB4Dis1_Btn_14 lgDimJtDlyOn     :rampOn
   3:HM_PB4Dis1_Btn_14 lgDimJtOff       :dlyOn
   3:HM_PB4Dis1_Btn_14 lgDimJtOn        :rampOn
   3:HM_PB4Dis1_Btn_14 lgDimJtRampOff   :rampOn
   3:HM_PB4Dis1_Btn_14 lgDimJtRampOn    :on
   3:HM_PB4Dis1_Btn_14 lgDimMaxLvl      :100 %
   3:HM_PB4Dis1_Btn_14 lgDimMinLvl      :0 %
   3:HM_PB4Dis1_Btn_14 lgDimStep        :5 %
   3:HM_PB4Dis1_Btn_14 lgMultiExec      :on
   3:HM_PB4Dis1_Btn_14 lgOffDly         :0 s
   3:HM_PB4Dis1_Btn_14 lgOffDlyBlink    :on
   3:HM_PB4Dis1_Btn_14 lgOffDlyNewTime  :0.4 s
   3:HM_PB4Dis1_Btn_14 lgOffDlyOldTime  :0.4 s
   3:HM_PB4Dis1_Btn_14 lgOffDlyStep     :5 %
   3:HM_PB4Dis1_Btn_14 lgOffLevel       :0 %
   3:HM_PB4Dis1_Btn_14 lgOffTime        :unused
   3:HM_PB4Dis1_Btn_14 lgOffTimeMode    :absolut
   3:HM_PB4Dis1_Btn_14 lgOnDly          :0 s
   3:HM_PB4Dis1_Btn_14 lgOnDlyMode      :setToOff
   3:HM_PB4Dis1_Btn_14 lgOnLevel        :100 %
   3:HM_PB4Dis1_Btn_14 lgOnLvlPrio      :high
   3:HM_PB4Dis1_Btn_14 lgOnMinLevel     :10 %
   3:HM_PB4Dis1_Btn_14 lgOnTime         :unused
   3:HM_PB4Dis1_Btn_14 lgOnTimeMode     :absolut
   3:HM_PB4Dis1_Btn_14 lgRampOffTime    :0.5 s
   3:HM_PB4Dis1_Btn_14 lgRampOnTime     :0.5 s
   3:HM_PB4Dis1_Btn_14 lgRampSstep      :5 %
   3:HM_PB4Dis1_Btn_14 shActionTypeDim  :jmpToTarget
   3:HM_PB4Dis1_Btn_14 shCtDlyOff       :geLo
   3:HM_PB4Dis1_Btn_14 shCtDlyOn        :geLo
   3:HM_PB4Dis1_Btn_14 shCtOff          :geLo
   3:HM_PB4Dis1_Btn_14 shCtOn           :geLo
   3:HM_PB4Dis1_Btn_14 shCtRampOff      :geLo
   3:HM_PB4Dis1_Btn_14 shCtRampOn       :geLo
   3:HM_PB4Dis1_Btn_14 shCtValHi        :100
   3:HM_PB4Dis1_Btn_14 shCtValLo        :50
   3:HM_PB4Dis1_Btn_14 shDimJtDlyOff    :rampOn
   3:HM_PB4Dis1_Btn_14 shDimJtDlyOn     :rampOn
   3:HM_PB4Dis1_Btn_14 shDimJtOff       :dlyOn
   3:HM_PB4Dis1_Btn_14 shDimJtOn        :rampOn
   3:HM_PB4Dis1_Btn_14 shDimJtRampOff   :rampOn
   3:HM_PB4Dis1_Btn_14 shDimJtRampOn    :on
   3:HM_PB4Dis1_Btn_14 shDimMaxLvl      :100 %
   3:HM_PB4Dis1_Btn_14 shDimMinLvl      :0 %
   3:HM_PB4Dis1_Btn_14 shDimStep        :5 %
   3:HM_PB4Dis1_Btn_14 shMultiExec      :off
   3:HM_PB4Dis1_Btn_14 shOffDly         :0 s
   3:HM_PB4Dis1_Btn_14 shOffDlyBlink    :on
   3:HM_PB4Dis1_Btn_14 shOffDlyNewTime  :0.4 s
   3:HM_PB4Dis1_Btn_14 shOffDlyOldTime  :0.4 s
   3:HM_PB4Dis1_Btn_14 shOffDlyStep     :5 %
   3:HM_PB4Dis1_Btn_14 shOffLevel       :0 %
   3:HM_PB4Dis1_Btn_14 shOffTime        :unused
   3:HM_PB4Dis1_Btn_14 shOffTimeMode    :absolut
   3:HM_PB4Dis1_Btn_14 shOnDly          :0 s
   3:HM_PB4Dis1_Btn_14 shOnDlyMode      :setToOff
   3:HM_PB4Dis1_Btn_14 shOnLevel        :100 %
   3:HM_PB4Dis1_Btn_14 shOnLvlPrio      :high
   3:HM_PB4Dis1_Btn_14 shOnMinLevel     :10 %
   3:HM_PB4Dis1_Btn_14 shOnTime         :unused
   3:HM_PB4Dis1_Btn_14 shOnTimeMode     :absolut
   3:HM_PB4Dis1_Btn_14 shRampOffTime    :0.5 s
   3:HM_PB4Dis1_Btn_14 shRampOnTime     :0.5 s
   3:HM_PB4Dis1_Btn_14 shRampSstep      :5 %
   3:Wz6TasterRightDown lgActionTypeDim  :downDim
   3:Wz6TasterRightDown lgCtDlyOff       :geLo
   3:Wz6TasterRightDown lgCtDlyOn        :geLo
   3:Wz6TasterRightDown lgCtOff          :geLo
   3:Wz6TasterRightDown lgCtOn           :geLo
   3:Wz6TasterRightDown lgCtRampOff      :geLo
   3:Wz6TasterRightDown lgCtRampOn       :geLo
   3:Wz6TasterRightDown lgCtValHi        :100
   3:Wz6TasterRightDown lgCtValLo        :50
   3:Wz6TasterRightDown lgDimJtDlyOff    :rampOff
   3:Wz6TasterRightDown lgDimJtDlyOn     :dlyOff
   3:Wz6TasterRightDown lgDimJtOff       :dlyOff
   3:Wz6TasterRightDown lgDimJtOn        :dlyOff
   3:Wz6TasterRightDown lgDimJtRampOff   :off
   3:Wz6TasterRightDown lgDimJtRampOn    :dlyOff
   3:Wz6TasterRightDown lgDimMaxLvl      :100 %
   3:Wz6TasterRightDown lgDimMinLvl      :0 %
   3:Wz6TasterRightDown lgDimStep        :5 %
   3:Wz6TasterRightDown lgMultiExec      :on
   3:Wz6TasterRightDown lgOffDly         :0 s
   3:Wz6TasterRightDown lgOffDlyBlink    :on
   3:Wz6TasterRightDown lgOffDlyNewTime  :0.4 s
   3:Wz6TasterRightDown lgOffDlyOldTime  :0.4 s
   3:Wz6TasterRightDown lgOffDlyStep     :5 %
   3:Wz6TasterRightDown lgOffLevel       :0 %
   3:Wz6TasterRightDown lgOffTime        :unused
   3:Wz6TasterRightDown lgOffTimeMode    :absolut
   3:Wz6TasterRightDown lgOnDly          :0 s
   3:Wz6TasterRightDown lgOnDlyMode      :setToOff
   3:Wz6TasterRightDown lgOnLevel        :100 %
   3:Wz6TasterRightDown lgOnLvlPrio      :high
   3:Wz6TasterRightDown lgOnMinLevel     :10 %
   3:Wz6TasterRightDown lgOnTime         :1 s
   3:Wz6TasterRightDown lgOnTimeMode     :minimal
   3:Wz6TasterRightDown lgRampOffTime    :0.5 s
   3:Wz6TasterRightDown lgRampOnTime     :0.5 s
   3:Wz6TasterRightDown lgRampSstep      :5 %
   3:Wz6TasterRightDown shActionTypeDim  :jmpToTarget
   3:Wz6TasterRightDown shCtDlyOff       :geLo
   3:Wz6TasterRightDown shCtDlyOn        :geLo
   3:Wz6TasterRightDown shCtOff          :geLo
   3:Wz6TasterRightDown shCtOn           :geLo
   3:Wz6TasterRightDown shCtRampOff      :geLo
   3:Wz6TasterRightDown shCtRampOn       :geLo
   3:Wz6TasterRightDown shCtValHi        :100
   3:Wz6TasterRightDown shCtValLo        :50
   3:Wz6TasterRightDown shDimJtDlyOff    :rampOff
   3:Wz6TasterRightDown shDimJtDlyOn     :dlyOff
   3:Wz6TasterRightDown shDimJtOff       :dlyOff
   3:Wz6TasterRightDown shDimJtOn        :dlyOff
   3:Wz6TasterRightDown shDimJtRampOff   :off
   3:Wz6TasterRightDown shDimJtRampOn    :dlyOff
   3:Wz6TasterRightDown shDimMaxLvl      :100 %
   3:Wz6TasterRightDown shDimMinLvl      :0 %
   3:Wz6TasterRightDown shDimStep        :5 %
   3:Wz6TasterRightDown shMultiExec      :off
   3:Wz6TasterRightDown shOffDly         :0 s
   3:Wz6TasterRightDown shOffDlyBlink    :on
   3:Wz6TasterRightDown shOffDlyNewTime  :0.4 s
   3:Wz6TasterRightDown shOffDlyOldTime  :0.4 s
   3:Wz6TasterRightDown shOffDlyStep     :5 %
   3:Wz6TasterRightDown shOffLevel       :0 %
   3:Wz6TasterRightDown shOffTime        :unused
   3:Wz6TasterRightDown shOffTimeMode    :absolut
   3:Wz6TasterRightDown shOnDly          :0 s
   3:Wz6TasterRightDown shOnDlyMode      :setToOff
   3:Wz6TasterRightDown shOnLevel        :100 %
   3:Wz6TasterRightDown shOnLvlPrio      :high
   3:Wz6TasterRightDown shOnMinLevel     :10 %
   3:Wz6TasterRightDown shOnTime         :unused
   3:Wz6TasterRightDown shOnTimeMode     :absolut
   3:Wz6TasterRightDown shRampOffTime    :5 s
   3:Wz6TasterRightDown shRampOnTime     :0.5 s
   3:Wz6TasterRightDown shRampSstep      :5 %
   3:Wz6TasterRightUp lgActionTypeDim  :upDim
   3:Wz6TasterRightUp lgCtDlyOff       :geLo
   3:Wz6TasterRightUp lgCtDlyOn        :geLo
   3:Wz6TasterRightUp lgCtOff          :geLo
   3:Wz6TasterRightUp lgCtOn           :geLo
   3:Wz6TasterRightUp lgCtRampOff      :geLo
   3:Wz6TasterRightUp lgCtRampOn       :geLo
   3:Wz6TasterRightUp lgCtValHi        :100
   3:Wz6TasterRightUp lgCtValLo        :50
   3:Wz6TasterRightUp lgDimJtDlyOff    :rampOn
   3:Wz6TasterRightUp lgDimJtDlyOn     :rampOn
   3:Wz6TasterRightUp lgDimJtOff       :dlyOn
   3:Wz6TasterRightUp lgDimJtOn        :rampOn
   3:Wz6TasterRightUp lgDimJtRampOff   :rampOn
   3:Wz6TasterRightUp lgDimJtRampOn    :on
   3:Wz6TasterRightUp lgDimMaxLvl      :100 %
   3:Wz6TasterRightUp lgDimMinLvl      :0 %
   3:Wz6TasterRightUp lgDimStep        :5 %
   3:Wz6TasterRightUp lgMultiExec      :on
   3:Wz6TasterRightUp lgOffDly         :0 s
   3:Wz6TasterRightUp lgOffDlyBlink    :on
   3:Wz6TasterRightUp lgOffDlyNewTime  :0.4 s
   3:Wz6TasterRightUp lgOffDlyOldTime  :0.4 s
   3:Wz6TasterRightUp lgOffDlyStep     :5 %
   3:Wz6TasterRightUp lgOffLevel       :0 %
   3:Wz6TasterRightUp lgOffTime        :unused
   3:Wz6TasterRightUp lgOffTimeMode    :absolut
   3:Wz6TasterRightUp lgOnDly          :0 s
   3:Wz6TasterRightUp lgOnDlyMode      :setToOff
   3:Wz6TasterRightUp lgOnLevel        :100 %
   3:Wz6TasterRightUp lgOnLvlPrio      :high
   3:Wz6TasterRightUp lgOnMinLevel     :10 %
   3:Wz6TasterRightUp lgOnTime         :unused
   3:Wz6TasterRightUp lgOnTimeMode     :absolut
   3:Wz6TasterRightUp lgRampOffTime    :0.5 s
   3:Wz6TasterRightUp lgRampOnTime     :0.5 s
   3:Wz6TasterRightUp lgRampSstep      :5 %
   3:Wz6TasterRightUp shActionTypeDim  :jmpToTarget
   3:Wz6TasterRightUp shCtDlyOff       :geLo
   3:Wz6TasterRightUp shCtDlyOn        :geLo
   3:Wz6TasterRightUp shCtOff          :geLo
   3:Wz6TasterRightUp shCtOn           :geLo
   3:Wz6TasterRightUp shCtRampOff      :geLo
   3:Wz6TasterRightUp shCtRampOn       :geLo
   3:Wz6TasterRightUp shCtValHi        :100
   3:Wz6TasterRightUp shCtValLo        :50
   3:Wz6TasterRightUp shDimJtDlyOff    :rampOn
   3:Wz6TasterRightUp shDimJtDlyOn     :rampOn
   3:Wz6TasterRightUp shDimJtOff       :dlyOn
   3:Wz6TasterRightUp shDimJtOn        :rampOn
   3:Wz6TasterRightUp shDimJtRampOff   :rampOn
   3:Wz6TasterRightUp shDimJtRampOn    :on
   3:Wz6TasterRightUp shDimMaxLvl      :100 %
   3:Wz6TasterRightUp shDimMinLvl      :0 %
   3:Wz6TasterRightUp shDimStep        :5 %
   3:Wz6TasterRightUp shMultiExec      :off
   3:Wz6TasterRightUp shOffDly         :0 s
   3:Wz6TasterRightUp shOffDlyBlink    :on
   3:Wz6TasterRightUp shOffDlyNewTime  :0.4 s
   3:Wz6TasterRightUp shOffDlyOldTime  :0.4 s
   3:Wz6TasterRightUp shOffDlyStep     :5 %
   3:Wz6TasterRightUp shOffLevel       :0 %
   3:Wz6TasterRightUp shOffTime        :unused
   3:Wz6TasterRightUp shOffTimeMode    :absolut
   3:Wz6TasterRightUp shOnDly          :0 s
   3:Wz6TasterRightUp shOnDlyMode      :setToOff
   3:Wz6TasterRightUp shOnLevel        :100 %
   3:Wz6TasterRightUp shOnLvlPrio      :high
   3:Wz6TasterRightUp shOnMinLevel     :10 %
   3:Wz6TasterRightUp shOnTime         :unused
   3:Wz6TasterRightUp shOnTimeMode     :absolut
   3:Wz6TasterRightUp shRampOffTime    :0.5 s
   3:Wz6TasterRightUp shRampOnTime     :5 s
   3:Wz6TasterRightUp shRampSstep      :5 %

Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 08:50:03
Zitat von: rvideobaer am 14 Dezember 2018, 08:03:21
get HB_ZwStecker_02 reg all

HB_ZwStecker_02 type:switch -
list:peer register         :value
   0:      intKeyVisib      :visib
   0:      pairCentral      :0x190465
   1:      powerUpAction    :off
   1:      sign             :off
......

Ist Dein FHEM aktuell ? Das "get HB_ZwStecker_02 reg all" liefert leider keine Register der Peers. Das hatte ich auch bei einer Instanz. Nach einem Update ging es dann.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 08:57:59
Zitat von: Pfriemler am 14 Dezember 2018, 08:21:15
1. Du schreibst oben, dass man in "Javascript" pgm2/hm.js ergänzen soll. Das Attribut heißt aber JavaScripts - wie auch in Deinem Screenshot.
Nix als n Typo.
Ach so - angepasst
Zitat von: Pfriemler am 14 Dezember 2018, 08:21:15
2. Das Anhängsel _chn-01 erscheint ausschließlich beim "BewMelder2" - alle anderen Peers werden korrekt dargestellt. Mir ist nicht klar, woher das stammt, aber erst mal wäre es Martins Baustelle das zu fixen - und sicher geht es dann auch mit Deiner Erweiterung. Ohne den Code untersucht zu haben, vermute ich, dass Du nach der Liste der peers gehst und die Register danach filterst, was wegen des unerwarteten Anhängsels eben nicht klappt.
Ja genau - die Namen passen nicht. Ich nehme die Namen aus Internals-peerList. Und damit filtere ich dann die Ausgabe von "get DEV reg all". Hm - wie heisst denn das Gerät wirklich?
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: rvideobaer am 14 Dezember 2018, 09:28:39
Hallo,

habe noch mal ein Update gemacht,

get HB_ZwStecker_02 reg all

HB_ZwStecker_02 type:switch -
list:peer register         :value
   0:      intKeyVisib      :visib
   0:      pairCentral      :0x190465
   1:      powerUpAction    :off
   1:      sign             :off
   1:      statusInfoMinDly :2 s
   1:      statusInfoRandom :1 s
   1:      transmitTryMax   :6
   3:HM_Bewegung_Motion lgActionType     :jmpToTarget
   3:HM_Bewegung_Motion lgCtDlyOff       :geLo
   3:HM_Bewegung_Motion lgCtDlyOn        :geLo
   3:HM_Bewegung_Motion lgCtOff          :geLo
   3:HM_Bewegung_Motion lgCtOn           :geLo
   3:HM_Bewegung_Motion lgCtValHi        :100
   3:HM_Bewegung_Motion lgCtValLo        :50
   3:HM_Bewegung_Motion lgMultiExec      :off
   3:HM_Bewegung_Motion lgOffDly         :0 s
   3:HM_Bewegung_Motion lgOffTime        :unused
   3:HM_Bewegung_Motion lgOffTimeMode    :absolut
   3:HM_Bewegung_Motion lgOnDly          :0 s
   3:HM_Bewegung_Motion lgOnTime         :unused
   3:HM_Bewegung_Motion lgOnTimeMode     :absolut
   3:HM_Bewegung_Motion lgSwJtDlyOff     :off
   3:HM_Bewegung_Motion lgSwJtDlyOn      :on
   3:HM_Bewegung_Motion lgSwJtOff        :dlyOn
   3:HM_Bewegung_Motion lgSwJtOn         :dlyOff
   3:HM_Bewegung_Motion shActionType     :jmpToTarget
   3:HM_Bewegung_Motion shCtDlyOff       :geLo
   3:HM_Bewegung_Motion shCtDlyOn        :geLo
   3:HM_Bewegung_Motion shCtOff          :ltHi
   3:HM_Bewegung_Motion shCtOn           :ltHi
   3:HM_Bewegung_Motion shCtValHi        :4
   3:HM_Bewegung_Motion shCtValLo        :2
   3:HM_Bewegung_Motion shMultiExec      :off
   3:HM_Bewegung_Motion shOffDly         :0 s
   3:HM_Bewegung_Motion shOffTime        :unused
   3:HM_Bewegung_Motion shOffTimeMode    :absolut
   3:HM_Bewegung_Motion shOnDly          :0 s
   3:HM_Bewegung_Motion shOnTime         :180 s
   3:HM_Bewegung_Motion shOnTimeMode     :absolut
   3:HM_Bewegung_Motion shSwJtDlyOff     :off
   3:HM_Bewegung_Motion shSwJtDlyOn      :on
   3:HM_Bewegung_Motion shSwJtOff        :dlyOn
   3:HM_Bewegung_Motion shSwJtOn         :on
   3:HM_Displ_Remote_Btn_14 lgActionType     :jmpToTarget
   3:HM_Displ_Remote_Btn_14 lgCtDlyOff       :geLo
   3:HM_Displ_Remote_Btn_14 lgCtDlyOn        :geLo
   3:HM_Displ_Remote_Btn_14 lgCtOff          :geLo
   3:HM_Displ_Remote_Btn_14 lgCtOn           :geLo
   3:HM_Displ_Remote_Btn_14 lgCtValHi        :100
   3:HM_Displ_Remote_Btn_14 lgCtValLo        :50
   3:HM_Displ_Remote_Btn_14 lgMultiExec      :off
   3:HM_Displ_Remote_Btn_14 lgOffDly         :0 s
   3:HM_Displ_Remote_Btn_14 lgOffTime        :unused
   3:HM_Displ_Remote_Btn_14 lgOffTimeMode    :absolut
   3:HM_Displ_Remote_Btn_14 lgOnDly          :0 s
   3:HM_Displ_Remote_Btn_14 lgOnTime         :unused
   3:HM_Displ_Remote_Btn_14 lgOnTimeMode     :absolut
   3:HM_Displ_Remote_Btn_14 lgSwJtDlyOff     :off
   3:HM_Displ_Remote_Btn_14 lgSwJtDlyOn      :on
   3:HM_Displ_Remote_Btn_14 lgSwJtOff        :dlyOn
   3:HM_Displ_Remote_Btn_14 lgSwJtOn         :dlyOff
   3:HM_Displ_Remote_Btn_14 shActionType     :jmpToTarget
   3:HM_Displ_Remote_Btn_14 shCtDlyOff       :geLo
   3:HM_Displ_Remote_Btn_14 shCtDlyOn        :geLo
   3:HM_Displ_Remote_Btn_14 shCtOff          :geLo
   3:HM_Displ_Remote_Btn_14 shCtOn           :geLo
   3:HM_Displ_Remote_Btn_14 shCtValHi        :100
   3:HM_Displ_Remote_Btn_14 shCtValLo        :50
   3:HM_Displ_Remote_Btn_14 shMultiExec      :off
   3:HM_Displ_Remote_Btn_14 shOffDly         :0 s
   3:HM_Displ_Remote_Btn_14 shOffTime        :unused
   3:HM_Displ_Remote_Btn_14 shOffTimeMode    :absolut
   3:HM_Displ_Remote_Btn_14 shOnDly          :0 s
   3:HM_Displ_Remote_Btn_14 shOnTime         :unused
   3:HM_Displ_Remote_Btn_14 shOnTimeMode     :absolut
   3:HM_Displ_Remote_Btn_14 shSwJtDlyOff     :off
   3:HM_Displ_Remote_Btn_14 shSwJtDlyOn      :on
   3:HM_Displ_Remote_Btn_14 shSwJtOff        :dlyOn
   3:HM_Displ_Remote_Btn_14 shSwJtOn         :dlyOff
   3:self01 lgActionType     :jmpToTarget
   3:self01 lgCtDlyOff       :geLo
   3:self01 lgCtDlyOn        :geLo
   3:self01 lgCtOff          :geLo
   3:self01 lgCtOn           :geLo
   3:self01 lgCtValHi        :100
   3:self01 lgCtValLo        :50
   3:self01 lgMultiExec      :off
   3:self01 lgOffDly         :0 s
   3:self01 lgOffTime        :unused
   3:self01 lgOffTimeMode    :absolut
   3:self01 lgOnDly          :0 s
   3:self01 lgOnTime         :unused
   3:self01 lgOnTimeMode     :absolut
   3:self01 lgSwJtDlyOff     :off
   3:self01 lgSwJtDlyOn      :on
   3:self01 lgSwJtOff        :dlyOn
   3:self01 lgSwJtOn         :dlyOff
   3:self01 shActionType     :jmpToTarget
   3:self01 shCtDlyOff       :geLo
   3:self01 shCtDlyOn        :geLo
   3:self01 shCtOff          :geLo
   3:self01 shCtOn           :geLo
   3:self01 shCtValHi        :100
   3:self01 shCtValLo        :50
   3:self01 shMultiExec      :off
   3:self01 shOffDly         :0 s
   3:self01 shOffTime        :unused
   3:self01 shOffTimeMode    :absolut
   3:self01 shOnDly          :0 s
   3:self01 shOnTime         :unused
   3:self01 shOnTimeMode     :absolut
   3:self01 shSwJtDlyOff     :off
   3:self01 shSwJtDlyOn      :on
   3:self01 shSwJtOff        :dlyOn
   3:self01 shSwJtOn         :dlyOff


jetzt sind auch Register zu sehen.
Eigentlich war mein letztes Update noch garnicht so lange her. :(

Gruß Rolf
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 09:46:37
Na bitte - ich werde das Update mal oben im ersten Beitrag mit aufnehmen.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 14 Dezember 2018, 10:01:16
ZitatHm - wie heisst denn das Gerät wirklich?

Jetzt steh ich aufm Schlauch.
Der Bewegungsmelder heißt wie der Peer im HM-RGB1_Dim "BewMelder2", ein Einkanaler, also ohne Subkanäle.
Oder was meinst Du?
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 10:39:55
Es scheint für alle Einkanaler so zu sein, dass der "_chn-01" angehängt wird. Habe das mit mit in die Abfrage reingenommen.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: noansi am 14 Dezember 2018, 11:05:54
Hallo,

eine schöne und praktische Erweiterung. :)

Beim Füllen der Wertefelder ist der match für regvalue noch nicht offen genug.
In Zeile 102 würde
      var match = line.match(/(\d):(\w*)\s+(\w+)\s+:([\w.:]+)/);
würde auch Fließkomma (z.B. Batteriespannungslimit) und Uhrzeit (z.B. Uhrzeit Entkalkungfahrt) richtig übernehmen.
Vermutlich wird noch was mehr fehlen.

Danke und Gruß, Ansgar.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 11:22:47
Danke für den Hinweis - habe ich angepasst.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 14 Dezember 2018, 15:21:48
Geänderte Register werden jetzt im Dialog farblich markiert.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: synaps-o-dan am 15 Dezember 2018, 14:32:37
Tolle Sache, habe ich gerade eingebaut & funktioniert.
LG,
Daniel
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: martinp876 am 15 Dezember 2018, 15:17:12
_chn-x werden alle kanäle bezeichnet welche nicht explizit angelegt sind. Typisch sind das einkanaler. Ich definiere mit gelegentlich auch bei einkanalern den kanal explizit. Macht die sache einheitlicher und durchgängig. Kann man jederzeit nachholen. Einfach ein define <kanal> CUL_HM <DEVICE_ID>01. Dann die arrtibute vergeben, welche man wünscht
Eigentlich hätte ich sowieso immer device und kanäle getrennt. Das hätte aber bei einigen Anwendern zu unverständniss geführt. Jetztt kan man es einfach nachholen.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: martinp876 am 15 Dezember 2018, 16:23:30
habe es einmal angesehen. Supercool. So muss es sein.
Was fehlt noch: die Min/Max Werte wenn man Zahlen eingibt.
Das get reglist ist nicht für die automatische Verarbeitung gedacht.
Anzeigen kann (muss) man noch im Info-feld
min
max
unit
faktor (bzw steps).

Du kannst das alles aus der regTable parsen - allerdings kann ich auch ein Kommando einbauen weches geanu diese Info ausgibt. Bspw ein get regInfo. Zur maschinellen verarbeitung besser geeignet. was meinst du?
Ich würde auf die Formatierung verzichten und als Trenner bspw ein';' nehmen
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 15 Dezember 2018, 19:19:48
Jetzt hole ich nochmal eine Leiche aus dem Keller und überlege, ob man nicht eine deutsche Übersetzung der Registerbeschreibungen anwenden könnte. Ich habe vor Jahresfrist mal angefangen damit und bei gefühlt 430 Registern schon bei der "Verwaltungssoftware" aufgegeben (sollte mal ein Wiki-Eintrag werden, den ich bei Bedarf per Knopfdruck komplett neu generieren hätte können).

Eine redaktionell bearbeitete Liste der Register wäre viel Fleißarbeit, aber vielleicht machbar.

Im Grunde würde eine menügeführte Registerbearbeitung wie hier die Wikieinträge weitgehend obsolet machen.

Wir hatten das alles ja schon mal in der Diskussion Oberfläche zum Ändern von Registerwerten (https://forum.fhem.de/index.php/topic,78425.0.html), die papa schon damals initiiert hatte.
Und nun stellt er es vor. Erich Kästners "Es gibt nichts Gutes außer man tut es" lässt grüßen ...

Ab morgen habe ich auch wieder ein bisschen Zeit zum Mittesten.

Nochmals: Saucoole Sache das. Ich bin noch immer schwer begeistert.

Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 15 Dezember 2018, 19:59:46
Zitat von: martinp876 am 15 Dezember 2018, 16:23:30
habe es einmal angesehen. Supercool. So muss es sein.
Was fehlt noch: die Min/Max Werte wenn man Zahlen eingibt.
Das get reglist ist nicht für die automatische Verarbeitung gedacht.
Anzeigen kann (muss) man noch im Info-feld
min
max
unit
faktor (bzw steps).
Das kommt im Tooltip der Eingabefelder. Hier könnte auch noch eine Überprüfung erfolgen.
Zitat von: martinp876 am 15 Dezember 2018, 16:23:30
Du kannst das alles aus der regTable parsen - allerdings kann ich auch ein Kommando einbauen weches geanu diese Info ausgibt. Bspw ein get regInfo. Zur maschinellen verarbeitung besser geeignet. was meinst du?
Ich würde auf die Formatierung verzichten und als Trenner bspw ein';' nehmen
Gerne - für Javascript wäre als JSON ganz praktisch.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Wuppi68 am 15 Dezember 2018, 20:00:10
sieht wirklich g**l aus ;-)

aber habe leider noch ein klotze kleines Problem ...

bei diesem Device wird das Menu für den Peer "self01" angezeigt. Alle anderen bleiben leer ... habe auch gerade extra ein FHEM update mit anschliessendem Clear All und getConfig gemacht ....

wegen der Länge vom List als txt im Anhang
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 15 Dezember 2018, 20:20:27
Das sind mit Sicherheit die Punkte in den Peer-Namen. Habe ich eben mit in die RegEx aufgenommen und das Script im ersten Beitrag aktualisiert. Bitte mal testen.
Es wäre wirklich am sichersten, wenn es "get XXX reg all" und "get XXX regInfo" als JSON geben würde.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 15 Dezember 2018, 20:48:20
chn-01-Patch funktioniert - eben mal den Einschaltlevel geändert, wurde sauber übernommen.
Ich suche weiter Fehler, bisher erfolglos ...  :)
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Wuppi68 am 16 Dezember 2018, 00:26:58
Zitat von: papa am 15 Dezember 2018, 20:20:27
Das sind mit Sicherheit die Punkte in den Peer-Namen. Habe ich eben mit in die RegEx aufgenommen und das Script im ersten Beitrag aktualisiert. Bitte mal testen.
Es wäre wirklich am sichersten, wenn es "get XXX reg all" und "get XXX regInfo" als JSON geben würde.

klappt ;-)

Danke - top job
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Christoph Morrison am 19 Dezember 2018, 19:53:34
Unter welcher Lizenz veröffentlichst du dein Skript? Benutzt du GitHub o.ä.?
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Christoph Morrison am 19 Dezember 2018, 20:34:21
Ich hab mir das auch mal installiert und folgendes passierte, als ich die dayTemp eines HM-Wandthermostats auf 20°C anpassen wollte (JavaScript console):

set gf.o.heating.control.climate regSet  ; set gf.o.heating.control.climate regSet  ;
hm.js:282  failed: supported register are boostPeriod btnLock burstRx cyclicInfoMsg cyclicInfoMsgDis dayTemp daylightSaveTime globalBtnLock heatCool localResDis lowBatLimitRT modePrioManu modePrioParty modusBtnLock nightTemp noMinMax4Manu pairCentral sendWeatherData showHumidity showInfo showSetTemp showWeekday sign tempMax tempMin tempOffset weekPrgSel winOpnBoost
failed: supported register are boostPeriod btnLock burstRx cyclicInfoMsg cyclicInfoMsgDis dayTemp daylightSaveTime globalBtnLock heatCool localResDis lowBatLimitRT modePrioManu modePrioParty modusBtnLock nightTemp noMinMax4Manu pairCentral sendWeatherData showHumidity showInfo showSetTemp showWeekday sign tempMax tempMin tempOffset weekPrgSel winOpnBoost


Die dayTemp wurde nicht gesetzt.

Device:
Internals:
   .triggerUsed 1
   CFGFN      ./cfg.d/gf/office.cfg
   DEF        35AC1C02
   NAME       gf.o.heating.control.climate
   NOTIFYDEV  global
   NR         3301
   NTFY_ORDER 50-gf.o.heating.control.climate
   STATE      23.7 °C (20.0 °C gewünscht), 40 % Luftfeuchte
   TYPE       CUL_HM
   chanNo     02
   device     gf.o.heating.control
   .attraggr:
   .attrminint:
   READINGS:
     2018-12-19 20:30:33   .peerListRDate  2018-12-19 20:30:33
     2018-11-04 18:14:48   CommandAccepted yes
     2018-06-27 09:37:20   R-boostPeriod   5 min
     2018-06-27 09:37:20   R-dayTemp       21 C
     2018-06-27 09:37:20   R-daylightSaveTime on
     2018-06-27 09:37:20   R-heatCool      heating
     2018-06-27 09:37:20   R-modePrioManu  all
     2018-06-27 09:37:20   R-modePrioParty all
     2018-06-27 09:37:20   R-nightTemp     17 C
     2018-06-27 09:37:20   R-noMinMax4Manu off
     2018-12-19 20:30:38   R-sendWeatherData on
     2018-12-19 20:30:38   R-showHumidity  temp
     2018-06-27 09:37:20   R-showInfo      time
     2018-12-19 20:30:38   R-showSetTemp   actTemp
     2018-06-27 09:37:20   R-showWeekday   off
     2018-06-27 09:37:16   R-sign          off
     2018-06-27 09:37:20   R-tempMax       30.5 C
     2018-06-27 09:37:20   R-tempMin       4.5 C
     2018-12-19 20:30:38   R-tempOffset    0.5K
     2018-06-27 09:37:20   R-weekPrgSel    prog1
     2018-06-27 09:37:20   R-winOpnBoost   off
     2018-12-19 20:30:48   R_P1_0_tempListSat  06:00 18.0 23:00 20.0 24:00 18.0
     2018-12-19 20:30:48   R_P1_1_tempListSun  06:00 18.0 22:00 20.0 24:00 18.0
     2018-12-19 20:30:48   R_P1_2_tempListMon  06:00 18.0 22:00 20.0 24:00 18.0
     2018-12-19 20:30:48   R_P1_3_tempListTue  06:00 18.0 22:00 20.0 24:00 18.0
     2018-12-19 20:30:48   R_P1_4_tempListWed  06:00 18.0 22:00 20.0 24:00 18.0
     2018-12-19 20:30:48   R_P1_5_tempListThu  06:00 18.0 22:00 20.0 24:00 18.0
     2018-12-19 20:30:48   R_P1_6_tempListFri  06:00 18.0 22:00 20.0 24:00 18.0
     2018-12-19 20:30:48   R_P1_tempList_State verified
     2018-12-19 20:30:48   R_P2_0_tempListSat  24:00 17.0
     2018-12-19 20:30:48   R_P2_1_tempListSun  24:00 17.0
     2018-12-19 20:30:48   R_P2_2_tempListMon  24:00 17.0
     2018-12-19 20:30:48   R_P2_3_tempListTue  24:00 17.0
     2018-12-19 20:30:48   R_P2_4_tempListWed  24:00 17.0
     2018-12-19 20:30:48   R_P2_5_tempListThu  24:00 17.0
     2018-12-19 20:30:48   R_P2_6_tempListFri  24:00 17.0
     2018-12-19 20:30:48   R_P2_tempList_State verified
     2018-12-19 20:30:48   R_P3_0_tempListSat  24:00 17.0
     2018-12-19 20:30:48   R_P3_1_tempListSun  24:00 17.0
     2018-12-19 20:30:48   R_P3_2_tempListMon  24:00 17.0
     2018-12-19 20:30:48   R_P3_3_tempListTue  24:00 17.0
     2018-12-19 20:30:48   R_P3_4_tempListWed  24:00 17.0
     2018-12-19 20:30:48   R_P3_5_tempListThu  24:00 17.0
     2018-12-19 20:30:48   R_P3_6_tempListFri  24:00 17.0
     2018-12-19 20:30:48   R_P3_tempList_State verified
     2018-12-19 20:30:33   RegL_01.         00:00 08:00
     2018-12-19 20:30:38   RegL_07.         00:00 01:2A 02:22 03:09 04:3D 05:00 06:00 07:00 08:00 09:88 0A:30 0B:00 0C:00 0D:00 0E:01 0F:04 10:00 11:00 12:09 13:00 14:48 15:48 16:51 17:14 18:49 19:20 1A:45 1B:20 1C:45 1D:20 1E:45 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:48 2F:48 30:51 31:08 32:49 33:20 34:45 35:20 36:45 37:20 38:45 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:48 49:48 4A:51 4B:08 4C:49 4D:20 4E:55 4F:08 50:45 51:20 52:45 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:48 63:48 64:51 65:08 66:49 67:20 68:55 69:08 6A:45 6B:20 6C:45 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:48 7D:48 7E:51 7F:08 80:49 81:20 82:55 83:08 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:48 97:48 98:51 99:08 9A:49 9B:20 9C:55 9D:08 9E:45 9F:20 A0:45 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:48 B1:48 B2:51 B3:08 B4:49 B5:20 B6:55 B7:08 B8:45 B9:20 BA:45 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:00 CB:00 CC:00 CD:00 CE:00 CF:00
     2018-12-19 20:30:42   RegL_08.         00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:00 0D:00 0E:00 0F:00 10:00 11:00 12:00 13:00 14:45 15:20 16:45 17:20 18:45 19:20 1A:45 1B:20 1C:45 1D:20 1E:45 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:45 2F:20 30:45 31:20 32:45 33:20 34:45 35:20 36:45 37:20 38:45 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:45 49:20 4A:45 4B:20 4C:45 4D:20 4E:45 4F:20 50:45 51:20 52:45 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:45 63:20 64:45 65:20 66:45 67:20 68:45 69:20 6A:45 6B:20 6C:45 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:45 7D:20 7E:45 7F:20 80:45 81:20 82:45 83:20 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:45 97:20 98:45 99:20 9A:45 9B:20 9C:45 9D:20 9E:45 9F:20 A0:45 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:45 B1:20 B2:45 B3:20 B4:45 B5:20 B6:45 B7:20 B8:45 B9:20 BA:45 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:00 CB:00 CC:00 CD:00 CE:00 CF:00
     2018-12-19 20:30:46   RegL_09.         00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:00 0D:00 0E:00 0F:00 10:00 11:00 12:00 13:00 14:45 15:20 16:45 17:20 18:45 19:20 1A:45 1B:20 1C:45 1D:20 1E:45 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:45 2F:20 30:45 31:20 32:45 33:20 34:45 35:20 36:45 37:20 38:45 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:45 49:20 4A:45 4B:20 4C:45 4D:20 4E:45 4F:20 50:45 51:20 52:45 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:45 63:20 64:45 65:20 66:45 67:20 68:45 69:20 6A:45 6B:20 6C:45 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:45 7D:20 7E:45 7F:20 80:45 81:20 82:45 83:20 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:45 97:20 98:45 99:20 9A:45 9B:20 9C:45 9D:20 9E:45 9F:20 A0:45 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:45 B1:20 B2:45 B3:20 B4:45 B5:20 B6:45 B7:20 B8:45 B9:20 BA:45 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:00 CB:00 CC:00 CD:00 CE:00 CF:00
     2018-12-19 20:32:36   boostTime       -
     2018-12-19 20:32:36   commReporting   off
     2018-12-19 20:32:36   controlMode     auto
     2018-12-19 20:32:36   desired-temp    20.0
     2018-12-19 20:32:26   humidity        40
     2018-12-19 20:32:36   measured-temp   23.7
     2018-11-04 18:14:48   partyEnd        18-11-14 12:00
     2018-11-04 18:14:48   partyStart      18-11-4 18:30
     2018-11-04 18:14:48   partyTemp       10
     2018-11-04 18:14:48   recentStateType ack
     2018-12-19 20:32:36   state           T: 23.7 desired: 20.0
     2018-12-19 20:20:10   tempTmplSet     FHEM/temperature_List.cfg:gf.o.templist
     2018-12-19 20:32:36   winOpenReporting off
   helper:
     peerIDsRaw ,00000000
     regLst     ,1,7,8,9
     expert:
       def        1
       det        1
       raw        1
       tpl        1
     regCollect:
     role:
       chn        1
     shRegR:
       07         00
     shadowReg:
     tmpl:
Attributes:
   alias      Wandthermostat
   group      Heizung
   icon       max_wandthermostat@black
   model      HM-TC-IT-WM-W-EU
   peerIDs    00000000,
   room       EG - Büro
   sortby     1
   stateFormat {
            return sprintf(
                "%.1f °C (%.1f °C gewünscht), %d %% Luftfeuchte",
                ReadingsVal("$name", "measured-temp", 0),
                ReadingsVal("$name", "desired-temp", 0),
                ReadingsVal("$name", "humidity", 0),
            )
        }
   tempListTmpl FHEM/temperature_List.cfg:gf.o.templist
   userattr   room_map structexclude
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 19 Dezember 2018, 23:06:33
Zitat von: Christoph Morrison am 19 Dezember 2018, 20:34:21
Ich hab mir das auch mal installiert und folgendes passierte, als ich die dayTemp eines HM-Wandthermostats auf 20°C anpassen wollte (JavaScript console):

set gf.o.heating.control.climate regSet  ; set gf.o.heating.control.climate regSet  ;
hm.js:282  failed: supported register are boostPeriod btnLock burstRx cyclicInfoMsg cyclicInfoMsgDis dayTemp daylightSaveTime globalBtnLock heatCool localResDis lowBatLimitRT modePrioManu modePrioParty modusBtnLock nightTemp noMinMax4Manu pairCentral sendWeatherData showHumidity showInfo showSetTemp showWeekday sign tempMax tempMin tempOffset weekPrgSel winOpnBoost
failed: supported register are boostPeriod btnLock burstRx cyclicInfoMsg cyclicInfoMsgDis dayTemp daylightSaveTime globalBtnLock heatCool localResDis lowBatLimitRT modePrioManu modePrioParty modusBtnLock nightTemp noMinMax4Manu pairCentral sendWeatherData showHumidity showInfo showSetTemp showWeekday sign tempMax tempMin tempOffset weekPrgSel winOpnBoost

Hm - komisch. Es wurde der Name und der Wert des Registern nicht mit in das Commando genommen. Welchen Browser verwendest Du ?
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 19 Dezember 2018, 23:08:39
Zitat von: Christoph Morrison am 19 Dezember 2018, 19:53:34
Unter welcher Lizenz veröffentlichst du dein Skript? Benutzt du GitHub o.ä.?
Ich würde das gern letztendlich direkt in FHEM integrieren als Teil des Homematic-Modules. Somit gilt die gleiche Lizenz wie für FHEM - GPL.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Christoph Morrison am 19 Dezember 2018, 23:10:22
Zitat von: papa am 19 Dezember 2018, 23:06:33
Hm - komisch. Es wurde der Name und der Wert des Registern nicht mit in das Commando genommen. Welchen Browser verwendest Du ?

Einen aktuellen Chrome auf macOS (Sierra, shame on me):


Google Chrome 71.0.3578.98 (Offizieller Build) (64-Bit)
Überarbeitung 15234034d19b85dcd9a03b164ae89d04145d8368-refs/branch-heads/3578@{#897}
Betriebssystem Mac OS X
JavaScript V8 7.1.302.31
Flash 32.0.0.101 /Users/morrisonc/Library/Application Support/Google/Chrome/PepperFlash/32.0.0.101/PepperFlashPlayer.plugin
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Befehlszeile /Applications/Google Chrome.app/Contents/MacOS/Google Chrome -psn_0_45067 --flag-switches-begin --disable-features=UseGoogleLocalNtp --flag-switches-end --restore-last-session
Ausführbarer Pfad /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Profilpfad /Users/morrisonc/Library/Application Support/Google/Chrome/Default
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 20 Dezember 2018, 07:54:20
Ach immer die Unterschieden zwischen den Browsern :-(
Kannst Du die aktualisierte Version aus dem ersten Beitrag nochmal versuchen.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 21 Dezember 2018, 21:20:34
es funktioniert ... und funktioniert ... und funktioniert ...  :)
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: kaihs am 01 Januar 2019, 19:26:23
Hallo,

ich finde auch, dass das einen großen Fortschritt darstellt.

Die Anzeige der Register funktioniert bei mit einwandfrei.
Das Ändern dagegen nicht.
Ich habe es soweit verfolgen können, dass in

// check for changed values and send to device
function applyPopup (device,peer) {
  // find all inputs
  var inputs = $('#hm_reg_table').find(":input");
  var command = "";
  for( var i=0; i<inputs.length; ++i ) {


inputs.length = 0 ist und damit keine Änderung erkannt und durchgeführt wird.
Das tritt sowohl mit Firefox als auch mit Chromium auf.
Ich kann auch nicht erkennen wo der Anker(?) #hm_reg_table überhaupt erzeugt wird, ich kenne mich mit Javascript aber auch nicht aus.

Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: kaihs am 01 Januar 2019, 20:22:35
Ich denke, ich habe die Ursache und Lösung selbst finden können.
Die Zeile

table.setAttribute("id","hm_reg_table");

in changeRegister fehlte:


// open a popup window to change the register values
function changeRegister (device,peer) {
  // first get the register list
  // http://fhem:8083/fhem?cmd=get%20HM_123456_Sw_01%20regList&XHR=1
  var url = makeCommand("get "+device+" regList");
  $.get(url, function(data){
    // parse register definitions into a map
    var regmap = parseRegisterList(data);
    // get the current register values
    // http://fhem:8083/fhem?cmd=get%20HM_123456_Sw_01%20reg%20all&XHR=1
    var url = makeCommand("get "+device+" reg all");
    $.get(url, function(data){
      // console.log(data);
      // create popup window
      var frame = openPopup(device,peer);
      // create a table with all registers
      var table = document.createElement("table");
      table.style["margin"] = "10px";
      table.setAttribute("id","hm_reg_table");
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 01 Januar 2019, 22:02:41
Miat - das war eine Änderung am "alten" Code. Habe das jatzt auch in der Version im ersten Beitrag nachgepflegt.
Danke für die Fehleranalyse. Bitte nochmal testen.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 02 Januar 2019, 11:57:44
So, mein erster Fehler:
Setze ich bei einem Gerät (was in diesem Fall gar nichts mit CUL_HM zu tun hat) über die Weboberfläche das Attribut "ignore" auf 1, erscheint dieses Popup wann immer man das Gerät aufruft:
Zitathm.js line 22:
TypeError: object is undefined
Vermutlich muss man da noch eine Abfrage einbauen ...
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: kaihs am 02 Januar 2019, 15:39:34
Zitat von: papa am 01 Januar 2019, 22:02:41
Bitte nochmal testen.

Funktioniert jetzt.

Noch eine Frage: Aktuell werden die Register ja einzeln per regSet geschrieben und damit auch einzeln per Funk verschickt.
Wäre es nicht besser alle Änderungen bis auf die letzte per regSet prep und das letzte per regSet exec zu ändern?
Dadurch würde die Funklast reduziert.

Hier nochmal der Auszug aus der Commandref:
Zitat
regSet [prep|exec] <regName> <value> <peerChannel>
Für einige Hauptregister gibt es eine lesbarere Version die Registernamen <regName> und Wandlung der Werte enthält. Nur ein Teil der Register wird davon unterstützt.
Der optionale Parameter [prep|exec] erlaubt das Packen von Nachrichten und verbessert damit deutlich die Datenübertragung. Benutzung durch senden der Befehle mit Parameter "prep". Daten werden dann für das Senden gesammelt. Der letzte Befehl muss den Parameter "exec" habe um die Information zu übertragen.
<value> enthält die Daten in menschenlesbarer Form die in das Register geschrieben werden.
<peerChannel> wird benötigt falls das Register 'peerChan' basiert definiert wird. Kann ansonsten auf '0' gesetzt werden. Siehe getRegRaw für komplette Definition.
Unterstützte Register eines Geräts können wie folgt bestimmt werden:

    set regSet ? 0 0

Eine verkürzte Beschreibung der Register wird zurückgegeben mit:

    set regSet <regname> ? 0

Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 02 Januar 2019, 16:29:30
Habe eine zusätzliche Prüfung eingebaut. Außerdem wird jetzt exec & prep benutzt. Bitte mal testen. Wenn es funktioniert, aktualisiere ich den ersten Beitrag.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: Pfriemler am 02 Januar 2019, 18:56:08
Zitathm.js line 22:
TypeError: object is undefined
ist Geschichte. Hat ne Weile gedauert bis es im Browser aus den Caches war  ;), aber jetzt klappt es.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: kaihs am 03 Januar 2019, 20:18:44
Zitat von: papa am 02 Januar 2019, 16:29:30
Habe eine zusätzliche Prüfung eingebaut. Außerdem wird jetzt exec & prep benutzt. Bitte mal testen. Wenn es funktioniert, aktualisiere ich den ersten Beitrag.

Übertragung der Werte funktioniert bei mir.

Bei Devices die keine änderbaren Register haben (z. B. HM-PB-2-WM55-2) erscheint ein leeres Popup was etwas irritierend ist. Vielleicht könnte in so einem Fall dort noch eine entsprechende Meldung ausgegeben werden?
Ein get regList liefert in so einem Fall nur:

list:         register | range              | peer     | description
   0: pairCentral      |   0 to 16777215    |          | pairing to central

Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: frank am 29 Januar 2019, 00:12:09
wie ich gerade sehe ist die version im ersten beitrag noch nicht aktualisiert, oder?

jedenfalls macht die "alte" version auch schon großen spass, danke.
dieses schöne tool könnte eigentlich ins normale update, finde ich. nicht dass es hier in vergessenheit gerät.


zur "alten" version hätte ich noch einen wunsch.
beim HM-ES-PMSw1-Pl in chn2 lässt sich das register txThrPwr fälschlicherweise nicht auf unused setzen. über regset gibt es den fehler:

Zitatvalue:0 out of range 0.01 to 3680 for Reg "txThrPwr"

in der javascript version gibt es leider keine fehlermeldung. nach "apply" geht es normal weiter, als sei alles ok.
könnte man diese fehlermeldungen eventuell "durchreichen"?


gruss frank
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: frank am 29 Januar 2019, 00:29:56
die version aus beitrag #42 scheint genauso zu funktionieren.
ich bin nur unsicher, ob die version bereits aktiv ist. wo und wie kann ich das eigentlich genau feststellen?
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: papa am 29 Januar 2019, 07:13:41
Da hatte ich noch kein Feedback erhalten. Die Weiterentwicklung ist leider wegen akuten Zeitmangel etwas ins Stocken geraten. Martin und ich wollen gerne noch die Unterstützung für Templates einbauen. Wenn das fertig ist, sollte es auf jeden Fall mit ins Update. Ich glaube es kann dann direkt durch das Homematic-Modul ausgeliefert werden.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: frank am 29 Januar 2019, 13:46:16
Zitat von: kaihs am 03 Januar 2019, 20:18:44
Bei Devices die keine änderbaren Register haben (z. B. HM-PB-2-WM55-2) erscheint ein leeres Popup was etwas irritierend ist. Vielleicht könnte in so einem Fall dort noch eine entsprechende Meldung ausgegeben werden?

das gilt auch für alle virtuellen devices / channels und auch deren eventuell vorhandenen peers.

edit:  ausserdem bei virtuellen peers in realen devices/channels.


@martinp876
"get regTable" bei virt devices/channels könnte man auch entfernen. in "get cmdList" wird regTable nicht aufgeführt.
Titel: Antw:Javascript um einfach Register zu bearbeiten
Beitrag von: frank am 05 Januar 2020, 13:12:47
moin,

ich habe angefangen, hm.js mit template funktionalität auszustatten. eine erste version ist hier zu finden: https://forum.fhem.de/index.php/topic,106959.0.html (https://forum.fhem.de/index.php/topic,106959.0.html)