2 direkt gepeerte Rolladenaktoren laufen manchmal gegenläufig

Begonnen von dadoc, 05 September 2018, 16:34:56

Vorheriges Thema - Nächstes Thema

dadoc

Hallo,
um mir die Wände nicht mit Schaltern vollzupflastern, habe ich begonnen, Aktoren von der 2- auf die 1-Kanal-Bedienung umzustellen. So habe ich etwa zwei HM-LC-BL1-FM (für zwei nebeneinander liegende Rollläden) mit einem Kanal eines HM-PB-6-WM55 gepeered. Das klappt so weit auch. Nur manchmal verhaspelt sich das Ganze, dann laufen die beiden Rollläden gegenläufig. Das ist dann immer etwas mühsam, sie wieder in Gleichschritt zu bringen.
Hier die Lists:
Schalterkanal:
Internals:
   DEF        652E9A01
   NAME       HM_652E9A_Btn_01
   NOTIFYDEV  global
   NR         1344
   NTFY_ORDER 50-HM_652E9A_Btn_01
   STATE      Short 2_129 (to HM_40BB9C)
   TYPE       CUL_HM
   chanNo     01
   device     HM_652E9A
   peerList   HM_40BB46,HM_40BB9C,
   READINGS:
     2018-08-23 23:09:49   R-HM_40BB46_chn-01-expectAES off
     2018-08-23 23:09:49   R-HM_40BB46_chn-01-peerNeedsBurst off
     2018-08-23 23:09:50   R-HM_40BB9C_chn-01-expectAES off
     2018-08-23 23:09:50   R-HM_40BB9C_chn-01-peerNeedsBurst off
     2018-08-07 19:07:54   R-sign          off
     2018-08-23 23:09:42   RegL_01.        04:10 08:00 09:00 00:00
     2018-08-23 23:09:49   RegL_04.HM_40BB46_chn-01 01:00 00:00
     2018-08-23 23:09:50   RegL_04.HM_40BB9C_chn-01 01:00 00:00
     2018-08-31 22:25:59   peerList        HM_40BB46,HM_40BB9C,
     2018-09-05 09:44:23   state           Short 2_129 (to HM_40BB9C)
     2018-09-05 09:44:23   trigger         Short_129
     2018-09-05 09:44:22   triggerTo_HM_40BB46 Short_129_ack
     2018-09-05 09:44:23   triggerTo_HM_40BB9C Short_129_ack
     2018-09-05 09:44:23   trigger_cnt     129
   helper:
     BNO        129
     BNOCNT     2
     regLst     ,1,4p
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     tmpl:
Attributes:
   alias      6fachSchalterBad01
   model      HM-PB-6-WM55
   peerIDs    00000000,40BB4601,40BB9C01,
   room       Bad

Aktor 1:


Internals:
   DEF        40BB46
   IODev      hmusb
   LASTInputDev hmusb
   MSGCNT     139
   NAME       HM_40BB46
   NOTIFYDEV  global
   NR         639
   NTFY_ORDER 50-HM_40BB46
   STATE      21
   TYPE       CUL_HM
   hmusb_MSGCNT 139
   hmusb_RAWMSG RA8F12B53,0001,3CC44BA0,FF,FFB3,2A800240BB4642424201012A005E
   hmusb_RSSI -77
   hmusb_TIME 2018-09-05 10:55:02
   lastMsg    No:2A - t:02 s:40BB46 d:424242 01012A005E
   peerList   HM_652E9A_Btn_01,
   protLastRcv 2018-09-05 10:55:02
   protRcv    139 last_at:2018-09-05 10:55:02
   protResnd  1 last_at:2018-09-02 18:58:55
   protSnd    96 last_at:2018-09-05 10:55:01
   protState  CMDs_done
   rssi_HM_652E9A cnt:43 min:-75 max:-55 avg:-63.95 lst:-70
   rssi_at_hmusb cnt:139 min:-81 max:-68 avg:-74.34 lst:-77
   rssi_hmusb cnt:45 min:-100 max:-73 avg:-80.68 lst:-94
   READINGS:
     2018-09-05 10:55:02   CommandAccepted yes
     2018-05-02 10:08:47   D-firmware      2.8
     2018-05-02 10:08:47   D-serialNr      MEQ1313197
     2018-08-09 18:25:22   PairedTo        0x424242
     2018-08-07 22:51:38   R-HM_652E9A_Btn_01-lgActionType jmpToTarget
     2018-08-07 22:51:38   R-HM_652E9A_Btn_01-lgOnLevel 100 %
     2018-08-07 22:51:38   R-HM_652E9A_Btn_01-shActionType jmpToTarget
     2018-08-07 22:51:38   R-HM_652E9A_Btn_01-shOnLevel 100 %
     2018-05-02 16:45:43   R-driveDown     13 s
     2018-05-02 16:45:43   R-driveTurn     0.5 s
     2018-08-09 18:25:23   R-driveUp       14 s
     2018-05-02 16:45:42   R-pairCentral   0x424242
     2018-05-02 16:45:43   R-sign          off
     2018-08-09 18:25:22   RegL_00.        02:01 0A:42 0B:42 0C:42 15:FF 18:00 00:00
     2018-08-09 18:25:23   RegL_01.        08:00 09:00 0A:00 0B:00 0C:82 0D:00 0E:8C 0F:05 10:00  30:06 57:24 56:00 00:00
     2018-08-09 18:25:25   RegL_03.HM_652E9A_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:52 0D:63 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:63 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:52 8D:63 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:05 9E:63 9F:00 00:00
     2018-09-05 10:55:02   deviceMsg       21 (to vccu)
     2018-09-05 10:55:02   level           21
     2018-09-05 10:55:02   motor           stop:21
     2018-09-05 10:55:02   pct             21
     2018-08-31 22:25:59   peerList        HM_652E9A_Btn_01,
     2018-09-05 10:55:02   recentStateType ack
     2018-09-05 10:55:02   state           21
     2018-09-05 10:55:02   timedOn         off
     2018-09-05 09:44:22   trigLast        HM_652E9A_Btn_01:short
     2018-09-05 09:44:22   trig_HM_652E9A_Btn_01 Short_129
   helper:
     HM_CMDNR   42
     cSnd       1142424240BB460201000000,1142424240BB460301
     dlvlCmd    ++A01142424240BB460201000000
     mId        0005
     regLst     ,0,1,3p
     rxType     1
     supp_Pair_Rep 0
     dir:
       cur        stop
       rct        down
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +40BB46,00,01,00
       nextSend   1536137702.33832
       prefIO     
       rxt        0
       vccu       vccu
       p:
         40BB46
         00
         01
         00
     mRssi:
       mNo        2A
       io:
         hmusb:
           -75
           -75
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rssi:
       HM_652E9A:
         avg        -63.953488372093
         cnt        43
         lst        -70
         max        -55
         min        -75
       at_hmusb:
         avg        -74.3453237410072
         cnt        139
         lst        -77
         max        -68
         min        -81
       hmusb:
         avg        -80.6888888888889
         cnt        45
         lst        -94
         max        -73
         min        -100
     tmpl:
Attributes:
   IODev      hmusb
   IOgrp      vccu
   alias      Bad links
   autoReadReg 0_off
   expert     2_raw
   firmware   2.8
   group      Shutter_group_bad
   model      HM-LC-BL1-FM
   peerIDs    00000000,652E9A01,
   roll       rollaeden_bad_structure
   room       Bad,CUL_HM
   serialNr   MEQ1313197
   subType    blindActuator
   userattr   roll roll_map structexclude
   webCmd     statusRequest:toggleDir:on:off:up:down:stop


Aktor 2:


Internals:
   DEF        40BB9C
   IODev      hmusb
   LASTInputDev hmusb
   MSGCNT     139
   NAME       HM_40BB9C
   NOTIFYDEV  global
   NR         643
   NTFY_ORDER 50-HM_40BB9C
   STATE      15
   TYPE       CUL_HM
   hmusb_MSGCNT 139
   hmusb_RAWMSG RA8F12CD1,0001,3CC44C56,FF,FFB8,2B800240BB9C42424201011E0053
   hmusb_RSSI -72
   hmusb_TIME 2018-09-05 10:55:02
   lastMsg    No:2B - t:02 s:40BB9C d:424242 01011E0053
   peerList   HM_652E9A_Btn_01,
   protLastRcv 2018-09-05 10:55:02
   protRcv    137 last_at:2018-09-05 10:55:02
   protSnd    98 last_at:2018-09-05 10:55:02
   protState  CMDs_done
   rssi_HM_652E9A cnt:40 min:-71 max:-47 avg:-56.49 lst:-61
   rssi_at_hmusb cnt:139 min:-89 max:-68 avg:-73.92 lst:-72
   rssi_hmusb cnt:45 min:-95 max:-74 avg:-79.66 lst:-83
   READINGS:
     2018-09-05 10:55:02   CommandAccepted yes
     2018-05-02 10:08:47   D-firmware      2.8
     2018-05-02 10:08:47   D-serialNr      MEQ1313283
     2018-08-09 18:26:23   PairedTo        0x424242
     2018-08-08 12:44:44   R-HM_652E9A_Btn_01-lgActionType jmpToTarget
     2018-08-08 12:44:44   R-HM_652E9A_Btn_01-lgOnLevel 100 %
     2018-08-08 12:44:44   R-HM_652E9A_Btn_01-shActionType jmpToTarget
     2018-08-08 12:44:44   R-HM_652E9A_Btn_01-shOnLevel 100 %
     2018-08-09 18:26:24   R-driveDown     12 s
     2018-05-02 16:45:47   R-driveTurn     0.5 s
     2018-05-02 16:45:47   R-driveUp       13 s
     2018-05-02 16:45:46   R-pairCentral   0x424242
     2018-05-02 16:45:47   R-sign          off
     2018-08-09 18:26:23   RegL_00.        02:01 0A:42 0B:42 0C:42 15:FF 18:00 00:00
     2018-08-09 18:26:24   RegL_01.        08:00 09:00 0A:00 0B:00 0C:78 0D:00 0E:82 0F:05 10:00  30:06 57:24 56:00 00:00
     2018-08-09 18:26:26   RegL_03.HM_652E9A_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:52 0D:63 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:63 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:52 8D:63 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:05 9E:63 9F:00 00:00
     2018-09-05 10:55:02   deviceMsg       15 (to vccu)
     2018-09-05 10:55:02   level           15
     2018-09-05 10:55:02   motor           stop:15
     2018-09-05 10:55:02   pct             15
     2018-08-31 22:25:59   peerList        HM_652E9A_Btn_01,
     2018-09-05 10:55:02   recentStateType ack
     2018-09-05 10:55:02   state           15
     2018-09-05 10:55:02   timedOn         off
     2018-09-05 09:44:23   trigLast        HM_652E9A_Btn_01:short
     2018-09-05 09:44:23   trig_HM_652E9A_Btn_01 Short_129
   helper:
     HM_CMDNR   43
     cSnd       1142424240BB9C0201000000,1142424240BB9C0301
     dlvlCmd    ++A01142424240BB9C0201000000
     mId        0005
     regLst     ,0,1,3p
     rxType     1
     supp_Pair_Rep 0
     dir:
       cur        stop
       rct        down
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +40BB9C,00,01,00
       nextSend   1536137702.52037
       prefIO     
       rxt        0
       vccu       vccu
       p:
         40BB9C
         00
         01
         00
     mRssi:
       mNo        2B
       io:
         hmusb:
           -70
           -70
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rssi:
       HM_652E9A:
         avg        -56.5
         cnt        40
         lst        -61
         max        -47
         min        -71
       at_hmusb:
         avg        -73.9280575539568
         cnt        139
         lst        -72
         max        -68
         min        -89
       hmusb:
         avg        -79.6666666666667
         cnt        45
         lst        -83
         max        -74
         min        -95
     tmpl:
Attributes:
   IODev      hmusb
   IOgrp      vccu
   alias      Bad rechts
   autoReadReg 0_off
   expert     2_raw
   firmware   2.8
   group      Shutter_group_bad
   model      HM-LC-BL1-FM
   peerIDs    00000000,652E9A01,
   roll       rollaeden_bad_structure
   room       Bad,CUL_HM
   serialNr   MEQ1313283
   subType    blindActuator
   userattr   roll roll_map structexclude
   webCmd     statusRequest:toggleDir:on:off:up:down:stop


Mache ich da etwas falsch oder ist das Verhalten ein Hinweis darauf, dass man Auf/Ab, An/Aus usw. nicht mit single, sondern mit dual peeren sollte?
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

loetmeister

Hi Martin,

zum Verständnis. Du hast einen Taster, der zwei Rollos, parallel rauf- oder runterfahren lässt? (Im Wechsel)
Dazu gibt es doch die peering option TOGGLE... TO_COUNTER (kenne den namen nicht genau) der sollte dann synchron auf den on oder off level schalten. Was beim betätigen während der Fahrt passiert muss du mal probieren... ob er stoppt oder die Richtung umkehrt (letzeres wäre für eine ein-Taster Betätigung nicht so gut... )

Gruß,
Thomas

dadoc

Zitat von: loetmeister am 05 September 2018, 21:49:31
zum Verständnis. Du hast einen Taster, der zwei Rollos, parallel rauf- oder runterfahren lässt? (Im Wechsel)
Ja. 1. Druck -> hoch, 2. Druck -> Stop, 3.Druck -> runter, 4. Druck -> Stop, usw.

ZitatDazu gibt es doch die peering option TOGGLE... TO_COUNTER (kenne den namen nicht genau)
Von dieser Peering-Option höre ich zum ersten Mal, konnte auch nichts dazu in den Dokus finden. Was genau ist das?
Geüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

loetmeister

Hi,

hab grad mal in der Gerätedatei geschaut... bei SHORT_ACTION_TYPE sollte es "TOGGLE_TO_COUNTER" geben.
Wenn du die peerings mit FHWM bearbeitest solltest du das ändern können.

"radio-controlled blind actuator 1-channel (surface-mount)" id="HM-LC-Bl1-SM"
...
<parameter id="SHORT_ACTION_TYPE">
<logical type="option">
<option id="INACTIVE"/>
<option id="JUMP_TO_TARGET" default="true"/>
<option id="TOGGLE_TO_COUNTER"/>
<option id="TOGGLE_INV_TO_COUNTER"/>
...


Gruß,
Thomas

dadoc

Hallo Thomas,
Ich muss gestehen, dass ich nicht genau weiß, wovon Du sprichst. Was meinst Du mit ,,peerings mit FHWM bearbeiten", und was ist mit ,,Gerätedatei" gemeint?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

loetmeister

Hi Martin,

sorry, war wohl etwas zu technisch... ich wühle mich grad durch die Eingeweide eines Dimmers und hänge da gedanklich etwas tiefer drin. :)

Wenn du in FHEM (Web Oberfläche) dir den Schalter (oder Rollo) Kanal anzeigen lässt, dann sollte da unter
Sensors peered to HM_652E9A_Btn_01
eine "Configure Peering" Schaltfläche sein. Da sollte dann wiederum eine Ähnliche Konfig, wie im Anhang, zu finden sein... mit der Auswahlliste wie unten und der Option "TOGGLE_TO_COUNTER"...?

Gruß,
Thomas

dadoc

Moin Thomas,
Kann es sein, dass das nur bei Wired-Komponenten existiert? Bei mir finde ich jedenfalls nichts dergleichen im Device Overview...
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

frank

trotzdem solltest du das register finden können (wie immer zb über "get regList") und mit "set regSet" entsprechend ändern.

ausserdem ist die anzeige der register readings wie immer abhängig von den einstellungen bei "attr expert" und dem register R-intKeyVisib.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

dadoc

Öha, wieder etwas gelernt. Und ich dachte noch, mich durchs Leben schummeln zu können, ohne in die Wissenschaft der Register einzutauchen.
Ihr meint vermutlich das:
3: shActionType     |     literal        | required |  options:toggleToCntInv,off,jmpToTarget,toggleToCnt
?
set HM_40BB46 regSet shActionType toggleToCnt
ergibt allerdings
Peer not specified
Muss ich da noch self01 dahinter setzen (für Kanal 1)? Will ja nichts zerschießen...
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

frank

#9
genau, self01ans ende vom cmd regSet.

edit: zerschiessen kannst du nichts, es ändert sich nur das verhalten.
entweder den alten wert wieder setzen (also merken oder register speichern) oder im notfall werkreset.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

dadoc

cannot calculate value. Please issue set HM_40BB46 getConfig first - invalid auch nach getConfig (oder muss da eine Taste gedrückt werden? Kanns gerade nicht ausprobieren, da remote über vpn)
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Pfriemler

wieso "self01"? Die lokale Bedienung wird ja nicht synchronisiert - wenn, dann ist doch der Wandtaster gemeint  ...?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Pfriemler

... und da die Änderungen in den Aktoren gemacht werden: keine Knöpfchen nötig.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

dadoc

Rollladenaktor:
list:         register | range              | peer     | description
   0: confBtnTime      |   1 to 255min      |          | 255=permanent special:permanent
   0: intKeyVisib      |     literal        |          | visibility of internal channel options:invisib,visib
   0: localResDis      |     literal        |          | local reset disable options:off,on
   0: pairCentral      |   0 to 16777215    |          | pairing to central
   1: driveDown        |   0 to 6000s       |          | drive time up
   1: driveTurn        | 0.5 to 25.5s       |          | engine uncharge - fhem min = 0.5s for protection. HM min= 0s (use regBulk if necessary)
   1: driveUp          |   0 to 6000s       |          | drive time up
   1: refRunCounter    |   0 to 255         |          | start reference run after n non-end drives
   1: sign             |     literal        |          | signature (AES) options:off,on
   1: statusInfoMinDly |   0 to 15.5s       |          | status message min delay special:unused
   1: statusInfoRandom |   0 to 7s          |          | status message random delay
   1: transmitTryMax   |   1 to 10          |          | max message re-transmit
   3: lgActionType     |     literal        | required |  options:toggleToCntInv,off,jmpToTarget,toggleToCnt
   3: lgBlJtDlyOff     |     literal        | required | Jump from delayOff options:refOn,on,off,dlyOn,dlyOff,rampOff,rampOn,refOff,no
   3: lgBlJtDlyOn      |     literal        | required | Jump from delayOn options:rampOn,rampOff,no,refOff,dlyOff,dlyOn,refOn,on,off
   3: lgBlJtOff        |     literal        | required | Jump from off options:refOn,on,off,dlyOff,dlyOn,rampOff,rampOn,refOff,no
   3: lgBlJtOn         |     literal        | required | Jump from on options:refOff,no,rampOff,rampOn,dlyOff,dlyOn,off,refOn,on
   3: lgBlJtRampOff    |     literal        | required | Jump from rampOff options:refOn,on,off,dlyOn,dlyOff,rampOff,rampOn,no,refOff
   3: lgBlJtRampOn     |     literal        | required | Jump from rampOn options:dlyOn,dlyOff,rampOff,rampOn,no,refOff,refOn,on,off
   3: lgBlJtRefOff     |     literal        | required | Jump from refOff options:off,refOn,on,refOff,no,rampOff,rampOn,dlyOff,dlyOn
   3: lgBlJtRefOn      |     literal        | required | Jump from refOn options:off,refOn,on,refOff,no,rampOn,rampOff,dlyOff,dlyOn
   3: lgCtDlyOff       |     literal        | required | Jmp on condition from delayOff options:ltLo,ltHi,between,geLo,geHi,outside
   3: lgCtDlyOn        |     literal        | required | Jmp on condition from delayOn options:ltLo,ltHi,between,geLo,geHi,outside
   3: lgCtOff          |     literal        | required | Jmp on condition from off options:outside,ltLo,between,geLo,geHi,ltHi
   3: lgCtOn           |     literal        | required | Jmp on condition from on options:outside,between,geLo,geHi,ltHi,ltLo
   3: lgCtRampOff      |     literal        | required | Jmp on condition from rampOff options:geHi,between,geLo,ltHi,ltLo,outside
   3: lgCtRampOn       |     literal        | required | Jmp on condition from rampOn options:ltLo,geHi,between,geLo,ltHi,outside
   3: lgCtRefOff       |     literal        | required | Jmp on condition from refOff options:ltHi,geHi,between,geLo,ltLo,outside
   3: lgCtRefOn        |     literal        | required | Jmp on condition from refOn options:outside,ltHi,between,geHi,geLo,ltLo
   3: lgCtValHi        |   0 to 255         | required | Condition value high for CT table
   3: lgCtValLo        |   0 to 255         | required | Condition value low for CT table
   3: lgDriveMode      |     literal        | required |  options:direct,viaUpperEnd,viaLowerEnd,viaNextEnd
   3: lgMaxTimeF       |   0 to 25.5s       | required | max time first direction. special:unused
   3: lgMultiExec      |     literal        | required | execution per repeat message options:on,off
   3: lgOffDly         |   0 to 111600s     | required | off delay
   3: lgOffLevel       |   0 to 100%        | required | PowerLevel off
   3: lgOffTime        |   0 to 111600s     | required | off time special:unused
   3: lgOffTimeMode    |     literal        | required | off time meant absolut or at least options:minimal,absolut
   3: lgOnDly          |   0 to 111600s     | required | on delay
   3: lgOnLevel        |   0 to 100.5%      | required | PowerLevel on special:oldLevel
   3: lgOnTime         |   0 to 111600s     | required | on time special:unused
   3: lgOnTimeMode     |     literal        | required | on time meant absolut or at least options:minimal,absolut
   3: shActionType     |     literal        | required |  options:toggleToCntInv,off,jmpToTarget,toggleToCnt
   3: shBlJtDlyOff     |     literal        | required | Jump from delayOff options:refOn,on,off,dlyOn,dlyOff,rampOff,rampOn,refOff,no
   3: shBlJtDlyOn      |     literal        | required | Jump from delayOn options:rampOn,rampOff,no,refOff,dlyOff,dlyOn,refOn,on,off
   3: shBlJtOff        |     literal        | required | Jump from off options:refOn,on,off,dlyOff,dlyOn,rampOff,rampOn,refOff,no
   3: shBlJtOn         |     literal        | required | Jump from on options:refOff,no,rampOff,rampOn,dlyOff,dlyOn,off,refOn,on
   3: shBlJtRampOff    |     literal        | required | Jump from rampOff options:refOn,on,off,dlyOn,dlyOff,rampOff,rampOn,no,refOff
   3: shBlJtRampOn     |     literal        | required | Jump from rampOn options:dlyOn,dlyOff,rampOff,rampOn,no,refOff,refOn,on,off
   3: shBlJtRefOff     |     literal        | required | Jump from refOff options:off,refOn,on,refOff,no,rampOff,rampOn,dlyOff,dlyOn
   3: shBlJtRefOn      |     literal        | required | Jump from refOn options:off,refOn,on,refOff,no,rampOn,rampOff,dlyOff,dlyOn
   3: shCtDlyOff       |     literal        | required | Jmp on condition from delayOff options:ltLo,ltHi,between,geLo,geHi,outside
   3: shCtDlyOn        |     literal        | required | Jmp on condition from delayOn options:ltLo,ltHi,between,geLo,geHi,outside
   3: shCtOff          |     literal        | required | Jmp on condition from off options:outside,ltLo,between,geLo,geHi,ltHi
   3: shCtOn           |     literal        | required | Jmp on condition from on options:outside,between,geLo,geHi,ltHi,ltLo
   3: shCtRampOff      |     literal        | required | Jmp on condition from rampOff options:geHi,between,geLo,ltHi,ltLo,outside
   3: shCtRampOn       |     literal        | required | Jmp on condition from rampOn options:ltLo,geHi,between,geLo,ltHi,outside
   3: shCtRefOff       |     literal        | required | Jmp on condition from refOff options:ltHi,geHi,between,geLo,ltLo,outside
   3: shCtRefOn        |     literal        | required | Jmp on condition from refOn options:outside,ltHi,between,geHi,geLo,ltLo
   3: shCtValHi        |   0 to 255         | required | Condition value high for CT table
   3: shCtValLo        |   0 to 255         | required | Condition value low for CT table
   3: shDriveMode      |     literal        | required |  options:direct,viaUpperEnd,viaLowerEnd,viaNextEnd
   3: shMaxTimeF       |   0 to 25.5s       | required | max time first direction. special:unused
   3: shMultiExec      |     literal        | required | reg unused, placeholder only options:off,on
   3: shOffDly         |   0 to 111600s     | required | off delay
   3: shOffLevel       |   0 to 100%        | required | PowerLevel off
   3: shOffTime        |   0 to 111600s     | required | off time special:unused
   3: shOffTimeMode    |     literal        | required | off time meant absolut or at least options:minimal,absolut
   3: shOnDly          |   0 to 111600s     | required | on delay
   3: shOnLevel        |   0 to 100.5%      | required | PowerLevel on special:oldLevel
   3: shOnTime         |   0 to 111600s     | required | on time special:unused
   3: shOnTimeMode     |     literal        | required | on time meant absolut or at least options:minimal,absolut


Schalterkanal:
list:         register | range              | peer     | description
   1: dblPress         |   0 to 1.5s        |          | time to detect double press
   1: longPress        | 0.3 to 1.8s        |          | time to detect key long press
   1: sign             |     literal        |          | signature (AES) options:off,on
   4: expectAES        |     literal        | required | expect AES options:off,on
   4: peerNeedsBurst   |     literal        | required | peer expects burst options:off,on
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods