FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: dreizweieins am 27 Dezember 2017, 17:40:56

Titel: [gelöst] Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 27 Dezember 2017, 17:40:56
Hallo!

Ich habe einen 2-Kanal Taster, der ist so konfiguriert, dass auf Toggle short oben Aktor eins angeht, unten short der Aktor zwei.
Kann ich nun Aktor drei mit Toggle long an- und ausschalten?  :)

Grüße
Stefan

Internals:
   CFGFN      /opt/fhem/OG_Schlafzimmer.cfg
   CUL_0_MSGCNT 80
   CUL_0_RAWMSG A0B94A44059CBE75C5FEF01EC::-72:CUL_0
   CUL_0_RSSI -72
   CUL_0_TIME 2017-12-27 17:26:50
   DEF        59CBE7
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     80
   NAME       OG.Sz.Lichtschalter
   NOTIFYDEV  global
   NR         58
   NTFY_ORDER 50-OG.Sz.Lichtschalter
   STATE      OG.Sz.Lichtschalter_unten Short
   TYPE       CUL_HM
   channel_01 OG.Sz.Lichtschalter_unten
   channel_02 OG.Sz.Lichtschalter_oben
   lastMsg    No:94 - t:40 s:59CBE7 d:5C5FEF 01EC
   protLastRcv 2017-12-27 17:26:50
   protSnd    38 last_at:2017-12-27 16:48:40
   protState  CMDs_done
   rssi_at_CUL_0 max:-63 lst:-72 min:-77.5 avg:-66.56 cnt:80
   READINGS:
     2017-12-10 12:51:23   CommandAccepted yes
     2017-12-09 15:45:08   D-firmware      1.1
     2017-12-09 15:45:08   D-serialNr      OEQ0437949
     2017-12-27 16:46:10   PairedTo        0xA434F0
     2017-12-09 15:45:13   R-pairCentral   0xA434F0
     2017-12-27 16:46:10   RegL_00.          02:01 05:00 0A:A4 0B:34 0C:F0 14:03 18:00 00:00
     2017-12-09 16:29:09   alive           yes
     2017-12-27 17:26:50   battery         ok
     2017-12-09 16:29:09   powerOn         2017-12-09 16:29:09
     2017-12-09 16:29:09   recentStateType info
     2017-12-27 17:26:50   state           OG.Sz.Lichtschalter_unten Short
   helper:
     HM_CMDNR   148
     cSnd       01A434F059CBE70103,01A434F059CBE701045C5FEF0104
     mId        00E0
     regLst     ,0,1,4p
     rxType     1
     supp_Pair_Rep 0
     ack:
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +59CBE7,00,00,00
       nextSend   1514392010.15962
       prefIO     
       rxt        0
       vccu       
       p:
         59CBE7
         00
         00
         00
     mRssi:
       mNo        94
       io:
         CUL_0      -70
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       dev        1
     rssi:
       at_CUL_0:
         avg        -66.5625
         cnt        80
         lst        -72
         max        -63
         min        -77.5
     shadowReg:
     tmpl:
Attributes:
   IODev      CUL_0
   autoReadReg 5_readMissing
   expert     2_raw
   firmware   1.1
   icon       taster
   model      HM-RC-2-PBU-FM
   room       Schlafzimmer
   serialNr   OEQ0437949
   subType    remote
   webCmd     getConfig:clear msgEvents
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: martinp876 am 27 Dezember 2017, 17:59:41
klar. Behalten die Übersicht.
wieder einmal: nutze templates.
define hm HMinfo
define ht HMtemplate

peere alles was gepeert sein soll.
Option 1: je ein Template für short und long nutzen
Define templates:

set hm templateDef SwIgnore  "ignore event" ActionType:off
set hm templateDef SwToggle  "Switch: toggle on trigger" SwJtDlyOn:on OnTime:unused SwJtDlyOff:off ActionType:jmpToTarget OffTime:unused SwJtOn:dlyOff SwJtOff:dlyOn


nun anwenden (per Kommando):

set hm templateSet  switch1 SwIgnore RC1:long
set hm templateSet  switch2 SwIgnore RC2:long
set hm templateSet  switch3 SwIgnore RC1:short
set hm templateSet  switch1 SwToggle RC1:short
set hm templateSet  switch2 SwToggle RC2:short
set hm templateSet  switch3 SwToggle RC1:long


oder anwenden Nutzergeführt - offne "ht" im Browser (dauert länger, kann man aber clicken):
set ht select SwIgnore
refresh
attr ht tpl_entitiy switch1
refresh
attr ht tpl_ePeer RC1
refresh
attr ht tpl_eType short
set ht apply
attr ht tpl_entitiy switch2
refresh
attr ht tpl_ePeer RC2
refresh
attr ht tpl_eType short
set ht apply
.....


save
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 27 Dezember 2017, 18:25:55
Hi Martin,

sehr schön, Danke für den Hinweis!
Eine Nachfrage noch:
Das war mein vorheriges Peering für Taster oben.
set OG.Sz.Lichtschalter_oben peerChan 0 OG.Sz.Deckenlampe single set
Wenn ich nun folgendes ausführe, überschreibe ich mir den bisherigen Peer, weil der peerchan gleich ist?
set OG.Sz.Lichtschalter_oben peerChan 0 OG.Sz.Schranklicht_Dim_V_02 single set
Gebe zu, das habe ich noch nicht geblickt.
"get reg all"
OG.Sz.Lichtschalter_oben type:remote -
list:peer register         :value
   1:      longPress        :0.4 s
   1:      sign             :off
   4:OG.Sz.Deckenlampe_chn-01 expectAES        :off
   4:OG.Sz.Deckenlampe_chn-01 peerNeedsBurst   :off


Grüße und die Macht sei mit dir!
Stefan
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: Otto123 am 27 Dezember 2017, 19:46:40
Hallo Stefan,

Zitat von: dreizweieins am 27 Dezember 2017, 18:25:55
Das war mein vorheriges Peering für Taster oben.
set OG.Sz.Lichtschalter_oben peerChan 0 OG.Sz.Deckenlampe single set
Wenn ich nun folgendes ausführe, überschreibe ich mir den bisherigen Peer, weil der peerchan gleich ist?
set OG.Sz.Lichtschalter_oben peerChan 0 OG.Sz.Schranklicht_Dim_V_02 single set
Gebe zu, das habe ich noch nicht geblickt.
Ich sage mal nein, damit schaltets Du zusätzlich zum OG.Sz.Deckenlampe auch noch OG.Sz.Schranklicht_Dim_V_02.

Wenn Du das nicht willst musst du den alten Peer vorher selbst löschen.

Gruß Otto
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 27 Dezember 2017, 20:15:21
Hallo Otto!

Ah, ok, dann kann ich peerchan 1 definieren, und es wird ein zweiter Kanal angelegt?

Gruß
Stefan
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: martinp876 am 27 Dezember 2017, 23:15:50
Peerchan Set addiert Peers. Unset subtrahiert.
Der Kanal kann nur eine bestimmte Menge Peers. Wenn alles besetzt ist wird das Kommando nicht ausgeführt.

Peerst du einen Kanal ein 2. Mal werden die zugehörigen Register auf Default gesetzt.
Es wird kein neuer Kanal angelegt, aber ein neuer Satz Register für diesen peer. Sicher das was du meinst.... Aber auf der Begriffe achten.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 27 Dezember 2017, 23:57:10
Vielen Dank, das werde ich morgen alles durchtesten.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 29 Dezember 2017, 18:42:46
Guten Abend!

Ich hatte nun etwas Zeit, den Versuch zu machen.
Mein Vorgehen war:
1.
set OG.Sz.Lichtschalter_oben peerChan 0 OG.Sz.Schranklicht_Dim_V_02 single set
2.
define hm HMinfo
define ht HMtemplate
set hm templateDef SwIgnore  "ignore event" ActionType:off
set hm templateDef SwToggle  "Switch: toggle on trigger" SwJtDlyOn:on OnTime:unused SwJtDlyOff:off ActionType:jmpToTarget OffTime:unused SwJtOn:dlyOff SwJtOff:dlyOn

3.
set hm templateSet  OG.Sz.Schranklicht_Dim_V_02 SwIgnore OG.Sz.Lichtschalter_oben:long
Fehlerausgabe:
"Device doesn't support lgActionType - template SwIgnore not applicable"
4.
set hm templateSet  OG.Sz.Schranklicht_Dim_V_02 SwToggle OG.Sz.Lichtschalter_oben:long
Fehlerausgabe:
"Device doesn't support lgSwJtOff - template SwToggle not applicable"

Ergebnis von "list OG.Sz.Lichtschalter_oben". Neuer Satz Register durch peering wurde erstellt. Peerliste wurde erweitert.
Internals:
   CFGFN      /opt/fhem/OG_Schlafzimmer.cfg
   DEF        59CBE702
   NAME       OG.Sz.Lichtschalter_oben
   NOTIFYDEV  global
   NR         70
   NTFY_ORDER 50-OG.Sz.Lichtschalter_oben
   STATE      Short 3_147 (to OG.Sz.Deckenlampe)
   TYPE       CUL_HM
   chanNo     02
   device     OG.Sz.Lichtschalter
   peerList   OG.Sz.Schranklicht_Dim_V_02,OG.Sz.Deckenlampe,
   READINGS:
     2017-12-29 18:26:28   R-OG.Sz.Deckenlampe_chn-01-expectAES off
     2017-12-29 18:26:28   R-OG.Sz.Deckenlampe_chn-01-peerNeedsBurst off
     2017-12-29 18:19:43   R-OG.Sz.Schranklicht_Dim_V_02-expectAES off
     2017-12-29 18:19:43   R-OG.Sz.Schranklicht_Dim_V_02-peerNeedsBurst off
     2017-12-09 15:43:41   R-sign          off
     2017-12-29 18:26:27   RegL_01.          04:10 08:00 30:03 00:00
     2017-12-29 18:26:28   RegL_04.OG.Sz.Deckenlampe_chn-01   01:00 00:00
     2017-12-29 18:26:28   RegL_04.OG.Sz.Schranklicht_Dim_V_02   01:00 00:00
     2017-12-29 18:26:28   peerList        OG.Sz.Schranklicht_Dim_V_02,OG.Sz.Deckenlampe,
     2017-12-29 18:24:38   state           Short 3_147 (to OG.Sz.Deckenlampe)
     2017-12-10 10:11:18   trigDst_A434F0  noConfig
     2017-12-29 18:24:38   trigger         Short_147
     2017-12-29 18:24:38   triggerTo_OG.Sz.Deckenlampe Short_147_ack
     2017-12-29 18:24:38   triggerTo_OG.Sz.Schranklicht Short_147_ack
     2017-12-29 18:24:38   trigger_cnt     147
   helper:
     BNO        147
     BNOCNT     3
     peerIDsRaw ,58E62001,5634D803,00000000
     regLst     ,1,4p
     tmplChg    0
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     shadowReg:
     tmpl:
Attributes:
   expert     2_defReg+raw
   group      Kanäle
   model      HM-RC-2-PBU-FM
   peerIDs    00000000,5634D803,58E62001,
   room       Schlafzimmer


Aber das Long-Kommando wird wohl nicht unterstützt. Aber "longpress" wir angeboten.
"get OG.Sz.Lichtschalter_oben reg all"
OG.Sz.Lichtschalter_oben type:remote -
list:peer register         :value
   1:      longPress        :0.4 s
   1:      sign             :off
   4:OG.Sz.Deckenlampe_chn-01 expectAES        :off
   4:OG.Sz.Deckenlampe_chn-01 peerNeedsBurst   :off
   4:OG.Sz.Schranklicht_Dim_V_02 expectAES        :off
   4:OG.Sz.Schranklicht_Dim_V_02 peerNeedsBurst   :off


Sieht jemand, was ich falsch gemacht habe?

Vielleicht paßt das hmtemplate nicht zu dem Dimmaktor?
OG.Sz.Schranklicht_Dim_V_02 type:dimmer -
list:peer register         :value
   1:      characteristic   :square
   1:      logicCombination :or
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      statusInfoMinDly :2 s
   1:      statusInfoRandom :1 s
   1:      transmitTryMax   :6
   3:OG.Sz.Lichtschalter_oben lgActionTypeDim  :toggelDim
   3:OG.Sz.Lichtschalter_oben lgCtDlyOff       :geLo
   3:OG.Sz.Lichtschalter_oben lgCtDlyOn        :geLo
   3:OG.Sz.Lichtschalter_oben lgCtOff          :geLo
   3:OG.Sz.Lichtschalter_oben lgCtOn           :geLo
   3:OG.Sz.Lichtschalter_oben lgCtRampOff      :geLo
   3:OG.Sz.Lichtschalter_oben lgCtRampOn       :geLo
   3:OG.Sz.Lichtschalter_oben lgCtValHi        :100
   3:OG.Sz.Lichtschalter_oben lgCtValLo        :50
   3:OG.Sz.Lichtschalter_oben lgDimElsActionType :off
   3:OG.Sz.Lichtschalter_oben lgDimElsJtDlyOff :rampOff
   3:OG.Sz.Lichtschalter_oben lgDimElsJtDlyOn  :rampOn
   3:OG.Sz.Lichtschalter_oben lgDimElsJtOff    :dlyOn
   3:OG.Sz.Lichtschalter_oben lgDimElsJtOn     :dlyOff
   3:OG.Sz.Lichtschalter_oben lgDimElsJtRampOff :off
   3:OG.Sz.Lichtschalter_oben lgDimElsJtRampOn :on
   3:OG.Sz.Lichtschalter_oben lgDimElsOffTimeMd :absolut
   3:OG.Sz.Lichtschalter_oben lgDimElsOnTimeMd :absolut
   3:OG.Sz.Lichtschalter_oben lgDimJtDlyOff    :rampOff
   3:OG.Sz.Lichtschalter_oben lgDimJtDlyOn     :rampOn
   3:OG.Sz.Lichtschalter_oben lgDimJtOff       :dlyOn
   3:OG.Sz.Lichtschalter_oben lgDimJtOn        :dlyOff
   3:OG.Sz.Lichtschalter_oben lgDimJtRampOff   :off
   3:OG.Sz.Lichtschalter_oben lgDimJtRampOn    :on
   3:OG.Sz.Lichtschalter_oben lgDimMaxLvl      :100 %
   3:OG.Sz.Lichtschalter_oben lgDimMinLvl      :0 %
   3:OG.Sz.Lichtschalter_oben lgDimStep        :5 %
   3:OG.Sz.Lichtschalter_oben lgMultiExec      :on
   3:OG.Sz.Lichtschalter_oben lgOffDly         :0 s
   3:OG.Sz.Lichtschalter_oben lgOffDlyBlink    :on
   3:OG.Sz.Lichtschalter_oben lgOffDlyNewTime  :0.4 s
   3:OG.Sz.Lichtschalter_oben lgOffDlyOldTime  :0.4 s
   3:OG.Sz.Lichtschalter_oben lgOffDlyStep     :5 %
   3:OG.Sz.Lichtschalter_oben lgOffLevel       :0 %
   3:OG.Sz.Lichtschalter_oben lgOffTime        :unused
   3:OG.Sz.Lichtschalter_oben lgOffTimeMode    :absolut
   3:OG.Sz.Lichtschalter_oben lgOnDly          :0 s
   3:OG.Sz.Lichtschalter_oben lgOnDlyMode      :setToOff
   3:OG.Sz.Lichtschalter_oben lgOnLevel        :100 %
   3:OG.Sz.Lichtschalter_oben lgOnLvlPrio      :high
   3:OG.Sz.Lichtschalter_oben lgOnMinLevel     :10 %
   3:OG.Sz.Lichtschalter_oben lgOnTime         :unused
   3:OG.Sz.Lichtschalter_oben lgOnTimeMode     :absolut
   3:OG.Sz.Lichtschalter_oben lgRampOffTime    :0.5 s
   3:OG.Sz.Lichtschalter_oben lgRampOnTime     :0.5 s
   3:OG.Sz.Lichtschalter_oben lgRampSstep      :5 %
   3:OG.Sz.Lichtschalter_oben shActionTypeDim  :jmpToTarget
   3:OG.Sz.Lichtschalter_oben shCtDlyOff       :geLo
   3:OG.Sz.Lichtschalter_oben shCtDlyOn        :geLo
   3:OG.Sz.Lichtschalter_oben shCtOff          :geLo
   3:OG.Sz.Lichtschalter_oben shCtOn           :geLo
   3:OG.Sz.Lichtschalter_oben shCtRampOff      :geLo
   3:OG.Sz.Lichtschalter_oben shCtRampOn       :geLo
   3:OG.Sz.Lichtschalter_oben shCtValHi        :100
   3:OG.Sz.Lichtschalter_oben shCtValLo        :50
   3:OG.Sz.Lichtschalter_oben shDimElsActionType :off
   3:OG.Sz.Lichtschalter_oben shDimElsJtDlyOff :rampOff
   3:OG.Sz.Lichtschalter_oben shDimElsJtDlyOn  :rampOn
   3:OG.Sz.Lichtschalter_oben shDimElsJtOff    :dlyOn
   3:OG.Sz.Lichtschalter_oben shDimElsJtOn     :dlyOff
   3:OG.Sz.Lichtschalter_oben shDimElsJtRampOff :off
   3:OG.Sz.Lichtschalter_oben shDimElsJtRampOn :on
   3:OG.Sz.Lichtschalter_oben shDimElsOffTimeMd :absolut
   3:OG.Sz.Lichtschalter_oben shDimElsOnTimeMd :absolut
   3:OG.Sz.Lichtschalter_oben shDimJtDlyOff    :rampOff
   3:OG.Sz.Lichtschalter_oben shDimJtDlyOn     :rampOn
   3:OG.Sz.Lichtschalter_oben shDimJtOff       :dlyOn
   3:OG.Sz.Lichtschalter_oben shDimJtOn        :dlyOff
   3:OG.Sz.Lichtschalter_oben shDimJtRampOff   :off
   3:OG.Sz.Lichtschalter_oben shDimJtRampOn    :on
   3:OG.Sz.Lichtschalter_oben shDimMaxLvl      :100 %
   3:OG.Sz.Lichtschalter_oben shDimMinLvl      :0 %
   3:OG.Sz.Lichtschalter_oben shDimStep        :5 %
   3:OG.Sz.Lichtschalter_oben shMultiExec      :off
   3:OG.Sz.Lichtschalter_oben shOffDly         :0 s
   3:OG.Sz.Lichtschalter_oben shOffDlyBlink    :on
   3:OG.Sz.Lichtschalter_oben shOffDlyNewTime  :0.4 s
   3:OG.Sz.Lichtschalter_oben shOffDlyOldTime  :0.4 s
   3:OG.Sz.Lichtschalter_oben shOffDlyStep     :5 %
   3:OG.Sz.Lichtschalter_oben shOffLevel       :0 %
   3:OG.Sz.Lichtschalter_oben shOffTime        :unused
   3:OG.Sz.Lichtschalter_oben shOffTimeMode    :absolut
   3:OG.Sz.Lichtschalter_oben shOnDly          :0 s
   3:OG.Sz.Lichtschalter_oben shOnDlyMode      :setToOff
   3:OG.Sz.Lichtschalter_oben shOnLevel        :100 %
   3:OG.Sz.Lichtschalter_oben shOnLvlPrio      :high
   3:OG.Sz.Lichtschalter_oben shOnMinLevel     :10 %
   3:OG.Sz.Lichtschalter_oben shOnTime         :unused
   3:OG.Sz.Lichtschalter_oben shOnTimeMode     :absolut
   3:OG.Sz.Lichtschalter_oben shRampOffTime    :0.5 s
   3:OG.Sz.Lichtschalter_oben shRampOnTime     :0.5 s
   3:OG.Sz.Lichtschalter_oben shRampSstep      :5 %

Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 29 Dezember 2017, 18:49:37
Kleine Korrektur:
Auf "OG.Sz.Lichtschalter_oben:short" schaltet jetzt OG.Sz.Schranklicht_Dim_V_02 und OG.Sz.Deckenlampe.
Long geht nicht.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: Pfriemler am 29 Dezember 2017, 19:43:29
Erstens: Warum peerst Du mit dem ersten virtuellen Kanal des Dimmers und nicht direkt mit dem ersten Kanal? Der virtuelle Dimmerkanal muss zudem logisch verknüpft und aktiviert sein, bevor überhaupt irgendwas passiert.

Zweitens: Ja, das Template passt nicht. Die zu manipulierenden Register haben alle Sw für Switch im Namen, für den Dimmer braucht es aber Dim. ActionType heißt da glaube ich auch leicht anders. Ein "get OG.Sz.Schranklicht_Dim regList" verrät Dir die genaue Schreibweise.
Ich bin vor kurzem selbst daran gescheitert, ein Switch-Template "mal eben schnell" für Dimmer umzuschreiben mit dem Templateeditor. Mit ein bisschen Handarbeit habe ich es dann doch geschafft. Mit einer Neudefinition geht es leichter.

Long geht jedenfalls definitiv, d.h. eine getrennte Steuerung von OG.Sz.Deckenlampe und OG.Sz.Schranklicht_Dim dergestalt, dass short die Decke schaltet und long das Schranklicht dimmt (abwechselnd hoch oder runter) ist machbar. Wenn das Dimmen für diesen Peer nicht benötigt wird, lässt sich durch Vergrößern der Dimmstufen am einfachsten ein quasi-Schaltverhalten erreichen (praktisch wäre es durch Verstellen der jumpTable komplett abschaltbar, aber as ist komplizierter).

Es wird Zeit für einen vernünftigen Satz globaler Templates.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 29 Dezember 2017, 20:23:04
Jawoll!
Ist schon korrekt, eigentlich sollte ich OG.Sz.Schranklicht_Dim nehmen, werde ich nun auch umstellen.
Ich hatte OG.Sz.Schranklicht_Dim_V_02 genommen, da ich die OG.Sz.Schranklicht_Dim_V_01 für ein Peering mit dem Bewegungsmelder benutzt habe. Das ist abgekupfert von meinem Flurlicht-Dimmer mit Bewegungsmelder, da ist _Dim für den Taster belegt. Daher die gleiche Mache.... ich weiß, nicht so sauber aufgebaut. Aber ich bin auch ein Anfäger.
Okay, dann sollte ich ein Template dafür bauen! Was ist bitte der Template-Editor?
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: Pfriemler am 29 Dezember 2017, 21:53:08
Der Template-Editor wird hier (https://wiki.fhem.de/wiki/HomeMatic_Templates#Template_editieren_2) kurz beschrieben.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: martinp876 am 29 Dezember 2017, 22:46:11
Ich bin gerade am schreiben...
Es sind noch ein paar mehr Funktionen enthalten.,.. wenn man etwas spielt sollte es, hoffe ich, einleuchten.

ActionTypeDim wäre das korrekte Register. Muss bei dimmern anders benannt werden, da es andere (mehr) literals unterstützt.
Ich hoffe mit dem Templates Editor wird es einfacher. Hier werden exakt die register des Device eingetragen. Weiter werden die literals in der Auswahlliste angezeigt.

Beim anwenden (select) kann man das Template auf alle entities anwenden, welche alle Register des Templates unterstützen.
Die Benutzerführung ist Recht weitgehend. Nicht ganz komplett. Aber nicht fhem typisch. Es ist der einzige Standartwege, komplexe select Listen zu realisieren, den ich gefunden habe.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 30 Dezember 2017, 14:29:23
Danke für die Anleitung, ich konnte diese recht gut benutzen, dahingehend, daß ich mir ein eigenes Template auf Grundlage eines Dimmers erstellt habe. Das Benutzer des Templates scheiterte dann aber dahingehen, daß der Wert OnTime nicht gesetzt worde.
so sah der Eintrag im Reading aus. Abgeschnittene Werte beim Entity und beim Type long.
OG.Sz.Schranklicht_Di|OG.Sz.Lichtschalter_oben:lon|OnTime:45

geholfen habe ich mir nun damit, daß ich auf OG.Sz.Deckenlampe und OG.Sz.Schranklicht_Dim ein regSet manuell durchgeführt habe.
Damit klappt es, daß bei einem long Toggle die Deckenlampe ausbleibt und die Schranklampe angeht (60 Sekunden).
set OG.Sz.Schranklicht_Dim regSet lgOnTime 60 OG.Sz.Lichtschalter_oben
set OG.Sz.Deckenlampe regSet lgOnTime 0 OG.Sz.Lichtschalter_oben
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: martinp876 am 30 Dezember 2017, 16:00:41
das habe ich nicht verstanden. woher kommt
OG.Sz.Schranklicht_Di|OG.Sz.Lichtschalter_oben:lon|OnTime:45

Ah- das kommt bei
get hm templateUsg
heraus? Dann wird es nur bei der Ausgabe abgeschnitten, meine ich.

Hat das Template definieren funktioniert?
Hat das Template zuweisen funktioniert?
war das Template in der Entity zu sehen?OG.Sz.Schranklicht_Dim?
Das Attribut expert auf template einstellen!
hat das Setzen
set hm templateExe
funktioniert?
Welche Fehler sind im Einzelnen aufgetreten?

Die Doku im Wiki habe ich gerade erweitert.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: Pfriemler am 30 Dezember 2017, 16:36:53
BTW: es mag sein, dass das Deckenlicht auf Long nun aus bleibt, aber es wird mit lgOnTime 0 auch umgehend ausgeschaltet wenn es an war. Hier sollte nur lgActionType für den Taster auf no stehen, damit gar keine long-Trigger verarbeitet werden. Oder sehe ich das falsch?
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 30 Dezember 2017, 19:40:59
richtig! ich habe nachher den lgactiontype auf off gestellt. dann geht das longpress sauber auf das Schranklicht (an/aus).
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 30 Dezember 2017, 19:42:30
@Martin
ich gehe das morgen noch einmal detailliert durch.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: martinp876 am 30 Dezember 2017, 22:59:56
Danke. Sorry, dass mich erst einmal interessiert, dass Template nutzbar ist. Mein Problem ist, dass ich es für einfach halte, nach - wie ich meine - kurzer Einarbeitung.
Cool wenn du es probierst, kommentierst und bewertest.
Inhaltlich halte ich Templates für alternativlos, die Realisierung ist zu diskutieren.
Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 31 Dezember 2017, 16:09:22
Hi und einen guten Rutsch für alle!  ;)

Ich gebe mal Feedback zu der Anleitung von https://wiki.fhem.de/wiki/HomeMatic_Templates#Template_editieren_2 (https://wiki.fhem.de/wiki/HomeMatic_Templates#Template_editieren_2), um ein Template aus einem Device zu erstellen. Fett gedruckt sind die korrekten Kommandos.
1.
define ht HMtemplate
#Ergebnis: OK
2.
set ht define my1stTmpl
#Ergebnis -> Fehler: "Unknown argument define , choose one of defTmpl delete edit select"
#defTmpl statt define:
set ht defTmpl my1stTmpl
#Ergebnis: OK
3.
attr ht tpl_param timeOn # name des Parameters - hier nur einer
##tpl_params statt tpl_param:
attr ht tpl_params timeOn
#Ergebnis: OK
4.
attr ht tpl_description "mein erstes Template"
#Ergebnis: OK
5.
attr ht tpl_type peer-both
#Ergebnis: OK
6.
<refresh browser>    # select liste der attribute wird neu eingelesen
attr ht tpl_source myChan
<refresh browser>    # select liste der attribute wird neu eingelesen
#Ergebnis: OK, Entitys sind per Dropdown-Box auswählbar
7.
attr ht tpl_peer myChanPeer
<refresh browser>    # select liste der attribute wird neu eingelesen
#Ergebnis: OK, Entitys sind per Dropdown-Box auswählbar
8.
attr ht Reg_shOnTime timeOn # setzen des parameters
#Ergebnis: OK
9.
set ht save
#Ergebnis: OK
10.
set ht dismiss
#Ergebnis: OK

#list ht
##Hier ist exemplarisch mein List des Device ht.
Internals:
   CFGFN     
   NAME       ht
   NR         1683
   NTFY_ORDER 50-ht
   STATE      init
   TYPE       HMtemplate
   tpl_Info0  delete to remove a template definition
   tpl_Info1  defTmpl to greate a template
   tpl_Info2  -       use an entity as default
   tpl_Info3  edit to modify a template definition
   tpl_Info4  select to apply a template to a entity
   READINGS:
     2017-12-31 15:54:49   state           init
   helper:
     attrList   tpl_params tpl_description event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading
     cSt        s0
Attributes:


#get ht my1stTmpl
## Versuch des Exports:
## Fehler: Unknown argument my1stTmpl, choose one of
defineCmd:BlStopDnLg,BlStopDnSh,BlStopUpLg,BlStopUpSh,DimDown,DimOff,DimOn,SwCondAbove,SwCondBelow,SwIgnore,SwOff,SwOn,SwOnCond,SwToggle,autoOff,motionOnDim,motionOnSw,my1stTmpl,wmClose,wmClosed,wmLock,wmOpen regInfo:noArg


Titel: Antw:Frage zu drei Aktoren auf einem 2-kanal-Taster
Beitrag von: dreizweieins am 31 Dezember 2017, 16:31:11
Folgend das Anwenden des Templates auf einen Kanal vom EG.Flur.Licht_Dim_V_02 mit EG.Flur.Bewegungsmelder.
1.
set ht select my1stTmpl
#Ergebnis: OK
2.
attr ht entity sw1
##Fehler im Kommando
attr ht tpl_entity sw1
#Ergebnis: OK

<refresh browser>
attr ht ePeer peer1
##Fehler im Kommando
attr ht tpl_ePeer peer1
#Ergebnis: OK

attr ht tpl_param_timeOn 10
#Ergebnis: OK

set ht apply
#Ergebnis: OK

##Prüfung des Devices (bei mir:EG.Flur.Licht_Dim_V_02 type)
set EG.Flur.Licht_Dim_V_02  getConfig
get reg all

#
3:EG.Flur.Bewegungsmelder_chn-01 lgOnTime         :unused
3:EG.Flur.Bewegungsmelder_chn-01 shOnTime         :10 s


Long wird nicht gesetzt, short schon.