Licht aus, an und dann dimmen

Begonnen von TWART016, 31 März 2020, 00:37:43

Vorheriges Thema - Nächstes Thema

Otto123

Moin,

fangen wir hinten an: Die Homematic Geräte haben alle immer ein Hauptdevice und einen oder mehrere Channel (Devices) der Dimmer hat 3 Channels, zusammen mit dem Hauptdevice sind es 4. Ja Du brauchst sie alle, praktisch betrachten musst Du jetzt nur den Channel _Dim - den Du in Licht_Wohnzimmer_4 umbenannt hast.

Alle jetzigen Werte siehst Du mit
get Licht_Wohnzimmer_4 regTable
alle möglichen Werte, sowie den Wertebereich und die Bedeutung siehst Du mit
get Licht_Wohnzimmer_4 regList
Ja, die Register ist sowas wie die eingebaute config des Dimmers.

Du kannst entweder meine 6 Zeilen absetzen ODER das Template anwenden. Letztlich setzen beide Varianten die Register.
Die Templates vereinfachen die Sache - auch wenn das gerade nicht so aussieht :) - vor allem dann wenn man mehrere Geräte hat und wenn man Geräte austauscht ...

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frank

ZitatIch habe ein hminfo erstellt. Es gibt keine Readings, ist das normal?
hminfo updated alle 10min (einstellbar) per default, oder manuell, siehe set cmds.

hminfo stellt auch befehle für templates bereit. hier kann man sie definieren, wie oben gezeigt. das webui nutzt sie ebenfalls.

ZitatWas ist der Vorteil von dem Template anstatt die command direkt zu setzen?

ein template (vorlage/muster) ist die zusammenstellung mehrere register mit entsprechenden werten, die jeweils zur selben device/peer kombination gehören.

vorteile:
1. man muss sich nicht diverse register/werte merken, um ein bestimmtes verhalten zu konfigurieren.

2. ein template kann beliebig vielen devices zugewiesen werden.

3. "get hminfo configCheck" überprüft auch aktuelle registerwerte mit zugewiesenen (assignten) templates.

4. mit "set hminfo templateExe" kann man systemweit sämtliche abweichungen restaurieren.

5. ausgetauschte, zb defekte devices sind schnell wieder konfiguriert.

6. man kann seine konfigurationen mit anderen usern "tauschen" und auf einfache weise übernehmen.

7. ein neuer zusätzlicher taster wird mit einem vorhanden aktor gepeert. das verhalten wird schnell und einfach durch zuweisen bereits existierender templates konfiguriert.
bei nutzung von short/long-templates wird nur das jeweilige verhalten verändert, somit beliebig kombinierbar.

8. enthält ein template einen parameter (zb für shOnLevel im obigen bsp) wird es "universeller". so kann man das selbe template an vielen stellen nutzen, die sich dann zb nur bei diesem register unterscheiden.
parameter sind auch nützlich, wenn man noch nicht genau weiss, ob der registerwert endgültig so bleiben soll. man muss dann nicht das template jedes mal ändern. einfach den parameter ändern und hminfo configcheck wird automatisch den neuen wert "überwachen".

9. es gibt sicher noch viele weitere beispiele

nachteile: keine


ZitatUnd wie würde ich von einem Template wieder auf meinen jetzigen Standard kommen?
einfach die zuweisung des templates lösen (unassign) und anschliessend zb genau so, als wenn du alle register mühevoll von hand eingestellt hättest.

ich empfehle, falls noch kein template genutzt wird:
vor dem ändern ein template des jeweiligen registersatzes erstellen. das sind vielleicht 4-5 klicks über das webui.

in deinem fall solltest du mit meinem template switchToOnLevel_dimmer_short das alte verhalten zurück bekommen.

ich hatte ja schon nach get regTable gefragt, da sieht man sehr schön alle registereinstellungen. hast du es auch in chn1 probiert?
für die selfxx peers muss register intKeyVisible=visib gesetzt sein. vermutlich im hauptdevice.

die 2 weiteren "virtuellen" chn sind für zusätzliche, komplexe verknüpfungen mit weiteren gepeerten devices gedacht, zb bewegungsmelder. also nicht löschen, höchstens verstecken.
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

frank

in deinem letzten list vom dimmer chn1 fehlen einige register für den peer self02.
copy fehler?
ansonnsten getconfig probieren.

scheinbar hast du ja noch nie ein register verändert, oder?

diese "jungfreuliche" config bekommt man natürlich auch immer mit einem werkreset wieder hin. anschliessend natürlich wieder pairen.

mit einem template von diesem zustand hättest du sogar ein "default"-template und könntest damit immer die config "resetten", ohne einen echten reset machen zu müssen. erspart erneutes pairen und eventuell vorhandene devices erneut peeren zu müssen.

aber wie gesagt, mit den obigen templates kannst du das short verhalten restaurieren.

um von einem oder allen devices inklusive aller channels plus eventueller peeringdaten alle daten zu sichern ist auch grundsätzlich "set hminfo saveConfig" zu empfehlen. siehe wiki hminfo.
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

frank

moin,

es gab ein problem mit den namen der hier vorgestellten templates im webui.
ein update dazu habe ich gerade im hm.js thread veröffentlicht.

gruss 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

TWART016

Da ich insgesamt 3 Dimmer und 3 Schaltaktoren habe, würde ich daher Templates bevorzugen.

Zitat von: frank am 02 April 2020, 10:18:20
hminfo updated alle 10min (einstellbar) per default, oder manuell, siehe set cmds.

Ich bekomme jetzt ein paar Readings, auch wenn es keine interessanten Infos wie Batterie sind. Aber das ist erstmal nicht so wichtig.
Internals:
   CFGFN     
   CHANGED   
   FUUID      5e8501f6-f33f-50ef-d785-23103b5108a10834
   I_HM_IOdevices ok: Homematic_LAN_Gateway;
   NAME       hminfo
   NR         32900
   NTFY_ORDER 50-hm
   STATE      updated:2020-04-03 13:42:23
   TYPE       HMinfo
   Version    01
   W__protoNames HM_530078,HM_530114,HM_530147,Licht_Flur
   READINGS:
     2020-04-03 13:42:23   CRI__protocol   -
     2020-04-03 01:41:46   C_sumDefined    entities:20,device:7,channel:15,virtual:0
     2020-04-03 13:42:23   ERR__protocol   -
     2020-04-03 01:18:55   ERR__unreachable 0
     2020-04-03 13:42:23   I_actTotal      -
     2020-04-03 01:18:55   I_autoReadPend  0
     2020-04-03 01:18:55   I_rssiMinLevel  59<:7 60>:0 80>:0 99>:0
     2020-04-03 01:18:55   W__protocol     Resnd:4
   helper:
     autoUpdate 600
     cfgChkResult configCheck done:
   nb:
     cnt        3
Attributes:
   autoUpdate 00:10
   event-on-change-reading .*
   sumERROR   battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],smoke_detect:none,cover:closed
   sumStatus  battery,sabotageError,powerError,motor
   webCmd     update:protoEvents short:rssi:peerXref:configCheck:models


Zitat von: frank am 02 April 2020, 10:18:20
einfach die zuweisung des templates lösen (unassign) und anschliessend zb genau so, als wenn du alle register mühevoll von hand eingestellt hättest.
In welchem Device finde ich das?

Zitat von: frank am 02 April 2020, 10:18:20
ich empfehle, falls noch kein template genutzt wird:
vor dem ändern ein template des jeweiligen registersatzes erstellen. das sind vielleicht 4-5 klicks über das webui.
Aktuell habe ich noch nichts mit Templates gemacht. Geht das auch über die commands und muss das zwingend über die webui gemacht werden?

Zitat von: frank am 02 April 2020, 10:18:20
in deinem fall solltest du mit meinem template switchToOnLevel_dimmer_short das alte verhalten zurück bekommen.
Wo ist das Template?

Zitat von: frank am 02 April 2020, 10:18:20
ich hatte ja schon nach get regTable gefragt, da sieht man sehr schön alle registereinstellungen. hast du es auch in chn1 probiert?
channel_01 ist bei mir Licht_Wohnzimmer_4:
   channel_01 Licht_Wohnzimmer_4
   channel_02 HM_530147_Dim_V_01
   channel_03 HM_530147_Dim_V_02


regTable:
No regs found for:

Licht_Wohnzimmer_4 type:dimmer -
list:peer register         :value
   1:      fuseDelay        :1 s
   1:      logicCombination :or
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      sign             :off
   1:      statusInfoMinDly :2 s
   1:      statusInfoRandom :1 s
   1:      transmitTryMax   :6
                       self01                          self02                         
                       lg              sh              lg              sh             
ActionTypeDim          downDim         jmpToTarget     upDim           
CtDlyOff               geLo            geLo            geLo           
CtDlyOn                geLo            geLo            geLo           
CtOff                  geLo            geLo            geLo           
CtOn                   geLo            geLo            geLo           
CtRampOff              geLo            geLo            geLo           
CtRampOn               geLo            geLo            geLo           
CtValHi                100             100             100             
CtValLo                50              50              50             
DimElsActionType       off             off             off             off             
DimElsJtDlyOff         rampOff         rampOff         rampOff         rampOff         
DimElsJtDlyOn          rampOn          rampOn          rampOn          rampOn         
DimElsJtOff            dlyOn           dlyOn           dlyOn           dlyOn           
DimElsJtOn             dlyOff          dlyOff          dlyOff          dlyOff         
DimElsJtRampOff        off             off             off             off             
DimElsJtRampOn         on              on              on              on             
DimElsOffTimeMd        absolut         absolut         absolut         absolut         
DimElsOnTimeMd         absolut         absolut         absolut         absolut         
DimJtDlyOff            rampOff         rampOff         rampOn         
DimJtDlyOn             dlyOff          dlyOff          rampOn         
DimJtOff               dlyOff          dlyOff          dlyOn           
DimJtOn                dlyOff          dlyOff          rampOn         
DimJtRampOff           off             off             rampOn         
DimJtRampOn            dlyOff          dlyOff          on             
DimMaxLvl         [%]  100             100             100             100             
DimMinLvl         [%]  0               0               0               0               
DimStep           [%]  5               5               5               5               
MultiExec              on              off             on             
OffDly            [s]  0               0               0               
OffDlyBlink            on              on              on             
OffDlyNewTime     [s]  0.4             0.4             0.4             0.4             
OffDlyOldTime     [s]  0.4             0.4             0.4             0.4             
OffDlyStep        [%]  5               5               5               5               
OffLevel          [%]  0               0               0               
OffTime                unused          unused          unused         
OffTimeMode            absolut         absolut         absolut         
OnDly             [s]  0               0               0               
OnDlyMode              setToOff        setToOff        setToOff       
OnLevel           [%]  100             100             100             100             
OnLvlPrio              high            high            high           
OnMinLevel        [%]  10              10              10              10             
OnTime            [s]  1               unused          unused         
OnTimeMode             minimal         absolut         absolut         
RampOffTime       [s]  0.5             0.5             0.5             0.5             
RampOnTime        [s]  0.5             0.5             0.5             0.5             
RampSstep         [%]  5               5               5               5   






Zitat von: frank am 02 April 2020, 12:04:16
in deinem letzten list vom dimmer chn1 fehlen einige register für den peer self02.
copy fehler?
Hatte ich eigentlich schon gepostet, aber nochmal:
Internals:
   DEF        53014701
   FUUID      5c7197ee-f33f-50ef-d504-00939d7172be358e
   FVERSION   10_CUL_HM.pm:0.210930/2020-02-02
   NAME       Licht_Wohnzimmer_4
   NOTIFYDEV  global
   NR         779
   NTFY_ORDER 50-Licht_Wohnzimmer_4
   STATE      off
   TYPE       CUL_HM
   chanNo     01
   device     HM_530147
   peerList   self01,self02,
   READINGS:
     2020-04-03 02:00:56   CommandAccepted yes
     2017-12-30 17:51:38   R-fuseDelay     1 s
     2017-12-30 17:51:38   R-logicCombination or
     2017-12-30 17:51:38   R-ovrTempLvl    80 C
     2017-12-30 17:51:38   R-powerUpAction off
     2017-12-30 17:51:38   R-redLvl        40 %
     2017-12-30 17:51:38   R-redTempLvl    75 C
     2020-04-01 23:16:25   R-self01-lgActionTypeDim downDim
     2020-04-01 23:16:25   R-self01-lgCtDlyOff geLo
     2020-04-01 23:16:25   R-self01-lgCtDlyOn geLo
     2020-04-01 23:16:25   R-self01-lgCtOff geLo
     2020-04-01 23:16:25   R-self01-lgCtOn geLo
     2020-04-01 23:16:25   R-self01-lgCtRampOff geLo
     2020-04-01 23:16:25   R-self01-lgCtRampOn geLo
     2020-04-01 23:16:25   R-self01-lgCtValHi 100
     2020-04-01 23:16:25   R-self01-lgCtValLo 50
     2020-04-01 23:16:25   R-self01-lgDimElsActionType off
     2020-04-01 23:16:25   R-self01-lgDimElsJtDlyOff rampOff
     2020-04-01 23:16:25   R-self01-lgDimElsJtDlyOn rampOn
     2020-04-01 23:16:25   R-self01-lgDimElsJtOff dlyOn
     2020-04-01 23:16:25   R-self01-lgDimElsJtOn dlyOff
     2020-04-01 23:16:25   R-self01-lgDimElsJtRampOff off
     2020-04-01 23:16:25   R-self01-lgDimElsJtRampOn on
     2020-04-01 23:16:25   R-self01-lgDimElsOffTimeMd absolut
     2020-04-01 23:16:25   R-self01-lgDimElsOnTimeMd absolut
     2020-04-01 23:16:25   R-self01-lgDimJtDlyOff rampOff
     2020-04-01 23:16:25   R-self01-lgDimJtDlyOn dlyOff
     2020-04-01 23:16:25   R-self01-lgDimJtOff dlyOff
     2020-04-01 23:16:25   R-self01-lgDimJtOn dlyOff
     2020-04-01 23:16:25   R-self01-lgDimJtRampOff off
     2020-04-01 23:16:25   R-self01-lgDimJtRampOn dlyOff
     2020-04-01 23:16:25   R-self01-lgDimMaxLvl 100 %
     2020-04-01 23:16:25   R-self01-lgDimMinLvl 0 %
     2020-04-01 23:16:25   R-self01-lgDimStep 5 %
     2020-04-01 23:16:25   R-self01-lgMultiExec on
     2020-04-01 23:16:25   R-self01-lgOffDly 0 s
     2020-04-01 23:16:25   R-self01-lgOffDlyBlink on
     2020-04-01 23:16:25   R-self01-lgOffDlyNewTime 0.4 s
     2020-04-01 23:16:25   R-self01-lgOffDlyOldTime 0.4 s
     2020-04-01 23:16:25   R-self01-lgOffDlyStep 5 %
     2020-04-01 23:16:25   R-self01-lgOffLevel 0 %
     2020-04-01 23:16:25   R-self01-lgOffTime unused
     2020-04-01 23:16:25   R-self01-lgOffTimeMode absolut
     2020-04-01 23:16:25   R-self01-lgOnDly 0 s
     2020-04-01 23:16:25   R-self01-lgOnDlyMode setToOff
     2020-04-01 23:16:25   R-self01-lgOnLevel 100 %
     2020-04-01 23:16:25   R-self01-lgOnLvlPrio high
     2020-04-01 23:16:25   R-self01-lgOnMinLevel 10 %
     2020-04-01 23:16:25   R-self01-lgOnTime 1 s
     2020-04-01 23:16:25   R-self01-lgOnTimeMode minimal
     2020-04-01 23:16:25   R-self01-lgRampOffTime 0.5 s
     2020-04-01 23:16:25   R-self01-lgRampOnTime 0.5 s
     2020-04-01 23:16:25   R-self01-lgRampSstep 5 %
     2020-04-01 23:16:25   R-self01-shActionTypeDim jmpToTarget
     2020-04-01 23:16:25   R-self01-shCtDlyOff geLo
     2020-04-01 23:16:25   R-self01-shCtDlyOn geLo
     2020-04-01 23:16:25   R-self01-shCtOff geLo
     2020-04-01 23:16:25   R-self01-shCtOn geLo
     2020-04-01 23:16:25   R-self01-shCtRampOff geLo
     2020-04-01 23:16:25   R-self01-shCtRampOn geLo
     2020-04-01 23:16:25   R-self01-shCtValHi 100
     2020-04-01 23:16:25   R-self01-shCtValLo 50
     2020-04-01 23:16:25   R-self01-shDimElsActionType off
     2020-04-01 23:16:25   R-self01-shDimElsJtDlyOff rampOff
     2020-04-01 23:16:25   R-self01-shDimElsJtDlyOn rampOn
     2020-04-01 23:16:25   R-self01-shDimElsJtOff dlyOn
     2020-04-01 23:16:25   R-self01-shDimElsJtOn dlyOff
     2020-04-01 23:16:25   R-self01-shDimElsJtRampOff off
     2020-04-01 23:16:25   R-self01-shDimElsJtRampOn on
     2020-04-01 23:16:25   R-self01-shDimElsOffTimeMd absolut
     2020-04-01 23:16:25   R-self01-shDimElsOnTimeMd absolut
     2020-04-01 23:16:25   R-self01-shDimJtDlyOff rampOff
     2020-04-01 23:16:25   R-self01-shDimJtDlyOn dlyOff
     2020-04-01 23:16:25   R-self01-shDimJtOff dlyOff
     2020-04-01 23:16:25   R-self01-shDimJtOn dlyOff
     2020-04-01 23:16:25   R-self01-shDimJtRampOff off
     2020-04-01 23:16:25   R-self01-shDimJtRampOn dlyOff
     2020-04-01 23:16:25   R-self01-shDimMaxLvl 100 %
     2020-04-01 23:16:25   R-self01-shDimMinLvl 0 %
     2020-04-01 23:16:25   R-self01-shDimStep 5 %
     2020-04-01 23:16:25   R-self01-shMultiExec off
     2020-04-01 23:16:25   R-self01-shOffDly 0 s
     2020-04-01 23:16:25   R-self01-shOffDlyBlink on
     2020-04-01 23:16:25   R-self01-shOffDlyNewTime 0.4 s
     2020-04-01 23:16:25   R-self01-shOffDlyOldTime 0.4 s
     2020-04-01 23:16:25   R-self01-shOffDlyStep 5 %
     2020-04-01 23:16:25   R-self01-shOffLevel 0 %
     2020-04-01 23:16:25   R-self01-shOffTime unused
     2020-04-01 23:16:25   R-self01-shOffTimeMode absolut
     2020-04-01 23:16:25   R-self01-shOnDly 0 s
     2020-04-01 23:16:25   R-self01-shOnDlyMode setToOff
     2020-04-01 23:16:25   R-self01-shOnLevel 100 %
     2020-04-01 23:16:25   R-self01-shOnLvlPrio high
     2020-04-01 23:16:25   R-self01-shOnMinLevel 10 %
     2020-04-01 23:16:25   R-self01-shOnTime unused
     2020-04-01 23:16:25   R-self01-shOnTimeMode absolut
     2020-04-01 23:16:25   R-self01-shRampOffTime 0.5 s
     2020-04-01 23:16:25   R-self01-shRampOnTime 0.5 s
     2020-04-01 23:16:25   R-self01-shRampSstep 5 %
     2020-04-01 23:16:27   R-self02-lgActionTypeDim upDim
     2020-04-01 23:16:27   R-self02-lgCtDlyOff geLo
     2020-04-01 23:16:27   R-self02-lgCtDlyOn geLo
     2020-04-01 23:16:27   R-self02-lgCtOff geLo
     2020-04-01 23:16:27   R-self02-lgCtOn geLo
     2020-04-01 23:16:27   R-self02-lgCtRampOff geLo
     2020-04-01 23:16:27   R-self02-lgCtRampOn geLo
     2020-04-01 23:16:27   R-self02-lgCtValHi 100
     2020-04-01 23:16:27   R-self02-lgCtValLo 50
     2020-04-01 23:16:27   R-self02-lgDimElsActionType off
     2020-04-01 23:16:27   R-self02-lgDimElsJtDlyOff rampOff
     2020-04-01 23:16:27   R-self02-lgDimElsJtDlyOn rampOn
     2020-04-01 23:16:27   R-self02-lgDimElsJtOff dlyOn
     2020-04-01 23:16:27   R-self02-lgDimElsJtOn dlyOff
     2020-04-01 23:16:27   R-self02-lgDimElsJtRampOff off
     2020-04-01 23:16:27   R-self02-lgDimElsJtRampOn on
     2020-04-01 23:16:27   R-self02-lgDimElsOffTimeMd absolut
     2020-04-01 23:16:27   R-self02-lgDimElsOnTimeMd absolut
     2020-04-01 23:16:27   R-self02-lgDimJtDlyOff rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtDlyOn rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtOff dlyOn
     2020-04-01 23:16:27   R-self02-lgDimJtOn rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtRampOff rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtRampOn on
     2020-04-01 23:16:27   R-self02-lgDimMaxLvl 100 %
     2020-04-01 23:16:27   R-self02-lgDimMinLvl 0 %
     2020-04-01 23:16:27   R-self02-lgDimStep 5 %
     2020-04-01 23:16:27   R-self02-lgMultiExec on
     2020-04-01 23:16:27   R-self02-lgOffDly 0 s
     2020-04-01 23:16:27   R-self02-lgOffDlyBlink on
     2020-04-01 23:16:27   R-self02-lgOffDlyNewTime 0.4 s
     2020-04-01 23:16:27   R-self02-lgOffDlyOldTime 0.4 s
     2020-04-01 23:16:27   R-self02-lgOffDlyStep 5 %
     2020-04-01 23:16:27   R-self02-lgOffLevel 0 %
     2020-04-01 23:16:27   R-self02-lgOffTime unused
     2020-04-01 23:16:27   R-self02-lgOffTimeMode absolut
     2020-04-01 23:16:27   R-self02-lgOnDly 0 s
     2020-04-01 23:16:27   R-self02-lgOnDlyMode setToOff
     2020-04-01 23:16:27   R-self02-lgOnLevel 100 %
     2020-04-01 23:16:27   R-self02-lgOnLvlPrio high
     2020-04-01 23:16:27   R-self02-lgOnMinLevel 10 %
     2020-04-01 23:16:27   R-self02-lgOnTime unused
     2020-04-01 23:16:27   R-self02-lgOnTimeMode absolut
     2020-04-01 23:16:27   R-self02-lgRampOffTime 0.5 s
     2020-04-01 23:16:27   R-self02-lgRampOnTime 0.5 s
     2020-04-01 23:16:27   R-self02-lgRampSstep 5 %
     2020-04-01 23:16:27   R-self02-shDimElsActionType off
     2020-04-01 23:16:27   R-self02-shDimElsJtDlyOff rampOff
     2020-04-01 23:16:27   R-self02-shDimElsJtDlyOn rampOn
     2020-04-01 23:16:27   R-self02-shDimElsJtOff dlyOn
     2020-04-01 23:16:27   R-self02-shDimElsJtOn dlyOff
     2020-04-01 23:16:27   R-self02-shDimElsJtRampOff off
     2020-04-01 23:16:27   R-self02-shDimElsJtRampOn on
     2020-04-01 23:16:27   R-self02-shDimElsOffTimeMd absolut
     2020-04-01 23:16:27   R-self02-shDimElsOnTimeMd absolut
     2020-04-01 23:16:27   R-self02-shDimMaxLvl 100 %
     2020-04-01 23:16:27   R-self02-shDimMinLvl 0 %
     2020-04-01 23:16:27   R-self02-shDimStep 5 %
     2020-04-01 23:16:27   R-self02-shOffDlyNewTime 0.4 s
     2020-04-01 23:16:27   R-self02-shOffDlyOldTime 0.4 s
     2020-04-01 23:16:27   R-self02-shOffDlyStep 5 %
     2020-04-01 23:16:27   R-self02-shOnLevel 100 %
     2020-04-01 23:16:27   R-self02-shOnMinLevel 10 %
     2020-04-01 23:16:27   R-self02-shRampOffTime 0.5 s
     2020-04-01 23:16:27   R-self02-shRampOnTime 0.5 s
     2020-04-01 23:16:27   R-self02-shRampSstep 5 %
     2020-04-01 23:06:55   R-sign          off
     2017-12-30 17:51:38   R-statusInfoMinDly 2 s
     2017-12-30 17:51:38   R-statusInfoRandom 1 s
     2017-12-30 17:51:38   R-transmitTryMax 6
     2020-04-03 02:01:05   deviceMsg       off (to Homematic_LAN_Gateway)
     2020-04-03 02:01:05   dim             stop:off
     2020-04-03 02:01:05   level           0
     2017-12-30 17:51:44   levelMissed     desired:100
     2020-04-03 02:01:05   overheat        off
     2020-04-03 02:01:05   overload        off
     2020-04-03 02:01:05   pct             0
     2020-04-01 23:16:20   peerList        self01,self02,
     2020-04-03 02:01:05   phyLevel        0
     2020-04-03 02:01:05   recentStateType info
     2020-04-03 02:01:05   reduced         off
     2020-04-03 02:01:05   state           off
     2020-04-03 02:01:05   timedOn         off
     2020-04-03 02:00:53   trigLast        fhem:02
   helper:
     cfgChkResult No regs found for:

Licht_Wohnzimmer_4 type:dimmer -
list:peer register         :value
   1:      fuseDelay        :1 s
   1:      logicCombination :or
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      sign             :off
   1:      statusInfoMinDly :2 s
   1:      statusInfoRandom :1 s
   1:      transmitTryMax   :6
                       self01                          self02                         
                       lg              sh              lg              sh             
ActionTypeDim          downDim         jmpToTarget     upDim           
CtDlyOff               geLo            geLo            geLo           
CtDlyOn                geLo            geLo            geLo           
CtOff                  geLo            geLo            geLo           
CtOn                   geLo            geLo            geLo           
CtRampOff              geLo            geLo            geLo           
CtRampOn               geLo            geLo            geLo           
CtValHi                100             100             100             
CtValLo                50              50              50             
DimElsActionType       off             off             off             off             
DimElsJtDlyOff         rampOff         rampOff         rampOff         rampOff         
DimElsJtDlyOn          rampOn          rampOn          rampOn          rampOn         
DimElsJtOff            dlyOn           dlyOn           dlyOn           dlyOn           
DimElsJtOn             dlyOff          dlyOff          dlyOff          dlyOff         
DimElsJtRampOff        off             off             off             off             
DimElsJtRampOn         on              on              on              on             
DimElsOffTimeMd        absolut         absolut         absolut         absolut         
DimElsOnTimeMd         absolut         absolut         absolut         absolut         
DimJtDlyOff            rampOff         rampOff         rampOn         
DimJtDlyOn             dlyOff          dlyOff          rampOn         
DimJtOff               dlyOff          dlyOff          dlyOn           
DimJtOn                dlyOff          dlyOff          rampOn         
DimJtRampOff           off             off             rampOn         
DimJtRampOn            dlyOff          dlyOff          on             
DimMaxLvl         [%]  100             100             100             100             
DimMinLvl         [%]  0               0               0               0               
DimStep           [%]  5               5               5               5               
MultiExec              on              off             on             
OffDly            [s]  0               0               0               
OffDlyBlink            on              on              on             
OffDlyNewTime     [s]  0.4             0.4             0.4             0.4             
OffDlyOldTime     [s]  0.4             0.4             0.4             0.4             
OffDlyStep        [%]  5               5               5               5               
OffLevel          [%]  0               0               0               
OffTime                unused          unused          unused         
OffTimeMode            absolut         absolut         absolut         
OnDly             [s]  0               0               0               
OnDlyMode              setToOff        setToOff        setToOff       
OnLevel           [%]  100             100             100             100             
OnLvlPrio              high            high            high           
OnMinLevel        [%]  10              10              10              10             
OnTime            [s]  1               unused          unused         
OnTimeMode             minimal         absolut         absolut         
RampOffTime       [s]  0.5             0.5             0.5             0.5             
RampOnTime        [s]  0.5             0.5             0.5             0.5             
RampSstep         [%]  5               5               5               5               

     dlvlCmd    ++A0116873675301470201000000
     peerFriend peerSens,peerVirt
     peerIDsRaw ,53014701,53014702,00000000
     peerOpt    3:dimmer
     regLst     1,3p
     dir:
       cur        stop
       rct        up
     expert:
       def        1
       det        1
       raw        0
       tpl        0
     regCollect:
     role:
       chn        1
     shadowReg:
     tmpl:
     vDim:
       idPhy      53014701
       idV2       53014702
       idV3       53014703
   nb:
     cnt        5
Attributes:
   FTUI_at    1
   alexaName  Decken Licht 4 im Wohnzimmer
   expert     1_allReg
   fhem_widget_channels [{"allowed_values":["off","on"],"controlled_attribute":"state"}]
   group      Deckenlicht
   model      HM-LC-DIM1TPBU-FM
   peerIDs    00000000,53014701,53014702,
   room       10_Wohnzimmer,70_Licht,Homekit,alexa
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
   webCmd     statusRequest:toggle:on:off:up:down



Zitat von: frank am 02 April 2020, 12:04:16
scheinbar hast du ja noch nie ein register verändert, oder?
Nein, noch nicht.

Zitat von: frank am 02 April 2020, 12:04:16
um von einem oder allen devices inklusive aller channels plus eventueller peeringdaten alle daten zu sichern ist auch grundsätzlich "set hminfo saveConfig" zu empfehlen. siehe wiki hminfo.
Wo wird die Datei abgelegt? Ich finde die nicht auch wenn ich mit configDir einen eigenen Pfad angebe.

frank

bevor du die templates nutzen kannst musst du die fehlenden register "wiederbeleben".
schau dir das regTable an. in der letzten spalte zu self02/sh fehlen diverse register.
du hast noch kein "set getConfig" ausgeführt?


ZitatWo ist das Template?
ich hatte dir definitionen für 3 templates gepostet und den ablauf geschildert. hier nochmal ausführlich:

1. die templates musst du jeweils in die fhem befehlszeile kopieren und ausführen. danach sind sie in fhem vergügbar.

2. du rufst die detailseite von chn1 deiner dimmer auf.

nach den daten der regTable benutzt du taster self01 zu runterdimmen (long) und zum ausschalten (short).
self02 zum hochdimmen (long) und einschalten (short).

demnach wählst du aus der set liste den befehl:

3. set tpl_self02 aus und wählst dazu aus der 2. liste das template toggleMaxMin_dimmer_short aus. nun auf set drücken und fertig.

das template wurde assigned und die register werden entsprechend gesetzt. nun funktioniert der taster self02 als toggle zwischen 100 und 0.

4. nach dem zuweisen des templates gibt es jetzt weitere set befehle. wahrscheinlich einmal die detailseite refreshen.

5. damit der toggle zwischen 100 und 5 funktioniert musst du nun den parameter minLevel des templates ändern. dazu gibt es jetzt für jeden parameter des templates ein set tplPara... befehl. also entsprechend setzen.

6. mit set tpl_self01 switchToOffLevel_dimmer_short weist du dem anderen taster das nächste template zum ausschalten zu.
in der set liste sind anschliessend 2 weitere tplPara... befehle für diese templatezuweisung. hier brauchst du aber nichts ändern.

7. fertig

um die templatezuweisungen zu entfernen (unassign) gibt es in der set liste nun tplDel mit 2 optionen für die 2 zugewiesenen templates.
wenn du die einstellungen beibehalten willst, solltest du die zuweisungen nicht löschen damit hminfo die einstellungen überwachen kann.


hminfo:

die datei mit den konfigurationen sollte im fhem ordner liegen. also zb opt/fhem. es gibt in hminfo auch attribute für einen namen und ordner. steht das nicht im wiki?

batterie meldung wird schon noch kommen, falls du devices mit batterien hast.
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

TWART016

#21
Zitat von: frank am 03 April 2020, 15:49:56
bevor du die templates nutzen kannst musst du die fehlenden register "wiederbeleben".
schau dir das regTable an. in der letzten spalte zu self02/sh fehlen diverse register.
du hast noch kein "set getConfig" ausgeführt?
Jetzt sollte es passen
No regs found for:

Licht_Wohnzimmer_4 type:dimmer -
list:peer register         :value
   1:      fuseDelay        :1 s
   1:      logicCombination :or
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      sign             :off
   1:      statusInfoMinDly :2 s
   1:      statusInfoRandom :1 s
   1:      transmitTryMax   :6
                       self01                          self02                         
                       lg              sh              lg              sh             
ActionTypeDim          downDim         jmpToTarget     upDim           jmpToTarget     
CtDlyOff               geLo            geLo            geLo            geLo           
CtDlyOn                geLo            geLo            geLo            geLo           
CtOff                  geLo            geLo            geLo            geLo           
CtOn                   geLo            geLo            geLo            geLo           
CtRampOff              geLo            geLo            geLo            geLo           
CtRampOn               geLo            geLo            geLo            geLo           
CtValHi                100             100             100             100             
CtValLo                50              50              50              50             
DimElsActionType       off             off             off             off             
DimElsJtDlyOff         rampOff         rampOff         rampOff         rampOff         
DimElsJtDlyOn          rampOn          rampOn          rampOn          rampOn         
DimElsJtOff            dlyOn           dlyOn           dlyOn           dlyOn           
DimElsJtOn             dlyOff          dlyOff          dlyOff          dlyOff         
DimElsJtRampOff        off             off             off             off             
DimElsJtRampOn         on              on              on              on             
DimElsOffTimeMd        absolut         absolut         absolut         absolut         
DimElsOnTimeMd         absolut         absolut         absolut         absolut         
DimJtDlyOff            rampOff         rampOff         rampOn          rampOn         
DimJtDlyOn             dlyOff          dlyOff          rampOn          rampOn         
DimJtOff               dlyOff          dlyOff          dlyOn           dlyOn           
DimJtOn                dlyOff          dlyOff          rampOn          rampOn         
DimJtRampOff           off             off             rampOn          rampOn         
DimJtRampOn            dlyOff          dlyOff          on              on             
DimMaxLvl         [%]  100             100             100             100             
DimMinLvl         [%]  0               0               0               0               
DimStep           [%]  5               5               5               5               
MultiExec              on              off             on              off             
OffDly            [s]  0               0               0               0               
OffDlyBlink            on              on              on              on             
OffDlyNewTime     [s]  0.4             0.4             0.4             0.4             
OffDlyOldTime     [s]  0.4             0.4             0.4             0.4             
OffDlyStep        [%]  5               5               5               5               
OffLevel          [%]  0               0               0               0               
OffTime                unused          unused          unused          unused         
OffTimeMode            absolut         absolut         absolut         absolut         
OnDly             [s]  0               0               0               0               
OnDlyMode              setToOff        setToOff        setToOff        setToOff       
OnLevel           [%]  100             100             100             100             
OnLvlPrio              high            high            high            high           
OnMinLevel        [%]  10              10              10              10             
OnTime            [s]  1               unused          unused          unused         
OnTimeMode             minimal         absolut         absolut         absolut         
RampOffTime       [s]  0.5             0.5             0.5             0.5             
RampOnTime        [s]  0.5             0.5             0.5             0.5             
RampSstep         [%]  5               5               5               5               



Zitat von: frank am 03 April 2020, 15:49:56
5. damit der toggle zwischen 100 und 5 funktioniert musst du nun den parameter minLevel des templates ändern. dazu gibt es jetzt für jeden parameter des templates ein set tplPara... befehl. also entsprechend setzen.
also so?
set Licht_Wohnzimmer_4 tplPara001_self01_short_toggIeMaxMIn_dimmer_minLevel 5


Zitat von: frank am 03 April 2020, 15:49:56
6. mit set tpl_self01 switchToOffLevel_dimmer_short weist du dem anderen taster das nächste template zum ausschalten zu.
in der set liste sind anschliessend 2 weitere tplPara... befehle für diese templatezuweisung. hier brauchst du aber nichts ändern.
Warum brauche ich insgesamt 3 Templates, zusätzlich switchToOffLevel_dimmer_short und switchToOffLevel_dimmer_long? Ich möchte ja nur das runterdimmen, also 1 self ändern. Und bei tplDel soll es auch nur 2 geben.


Zitat von: frank am 03 April 2020, 15:49:56
hminfo:

die datei mit den konfigurationen sollte im fhem ordner liegen. also zb opt/fhem. es gibt in hminfo auch attribute für einen namen und ordner. steht das nicht im wiki?

batterie meldung wird schon noch kommen, falls du devices mit batterien hast.
Hab das im falschen Device gemacht.
Edit: Das muss in Licht_Wohnimmer_4 gemacht werden und nicht in hminfo. Im wiki sehe ich dazu nichts, aber in der commandref


Mit loadConfig kann ich dann das Backup wiederherstellen?
#======== store device data:HM_530147 === from: 2020-04-03 16:20:34
#---      entity:HM_530147
setreading HM_530147 D-firmware 2.9
setreading HM_530147 D-serialNr NEQ1802311
setreading HM_530147 .D-devInfo 110100
setreading HM_530147 .D-stc 20
set HM_530147 regBulk .RegL_00.  00:00 02:81 0A:68 0B:73 0C:67 15:FF 18:00 8A:42 #2020-04-01 23:16:18
#     timestamp of the readings for reference
#        2020-04-01 23:16:18 :.RegL_00.
#---      entity:HM_530147_Dim_V_01
# Peer Names:self01,self02,
set HM_530147_Dim_V_01 peerBulk 00000000,53014701,53014702,#2020-04-01 23:16:21
set HM_530147_Dim_V_01 regBulk .RegL_01.  00:00 08:00 30:06 32:50 33:64 34:4B 35:50 56:00 57:24 59:00 #2020-04-01 23:16:21
set HM_530147_Dim_V_01 regBulk .RegL_03.self01  00:00 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:00 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 26:00 27:14 28:52 29:63 81$
set HM_530147_Dim_V_01 regBulk .RegL_03.self02  00:00 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:00 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 26:00 27:14 28:52 29:63 81$
#     timestamp of the readings for reference
#        self01,self02, :peerList
#        2020-04-01 23:16:21 :.RegL_01.
#        2020-04-01 23:16:29 :.RegL_03.self01
#        2020-04-01 23:16:31 :.RegL_03.self02
#---      entity:HM_530147_Dim_V_02
# Peer Names:self01,self02,
set HM_530147_Dim_V_02 peerBulk 00000000,53014701,53014702,#2020-04-01 23:16:23
set HM_530147_Dim_V_02 regBulk .RegL_01.  00:00 08:00 30:06 32:50 33:64 34:4B 35:50 56:00 57:24 59:00 #2020-04-01 23:16:22
set HM_530147_Dim_V_02 regBulk .RegL_03.self01  00:00 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:00 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 26:00 27:14 28:52 29:63 81$
set HM_530147_Dim_V_02 regBulk .RegL_03.self02  00:00 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:00 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 26:00 27:14 28:52 29:63 81$
#     timestamp of the readings for reference
#        self01,self02, :peerList
#        2020-04-01 23:16:22 :.RegL_01.
#        2020-04-01 23:16:33 :.RegL_03.self01
#        2020-04-01 23:16:35 :.RegL_03.self02
#---      entity:Licht_Wohnzimmer_4
# Peer Names:self01,self02,
set Licht_Wohnzimmer_4 peerBulk 00000000,53014701,53014702,#2020-04-01 23:16:20
set Licht_Wohnzimmer_4 regBulk .RegL_01.  00:00 08:00 30:06 32:50 33:64 34:4B 35:50 56:00 57:24 59:01 #2020-04-01 23:16:19
set Licht_Wohnzimmer_4 regBulk .RegL_03.self01  00:00 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 26:00 27:14 28:52 29:63 81$
set Licht_Wohnzimmer_4 regBulk .RegL_03.self02  00:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 26:00 27:14 28:52 29:63 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$
#     timestamp of the readings for reference
#        self01,self02, :peerList
#        2020-04-01 23:16:19 :.RegL_01.
#        2020-04-01 23:16:25 :.RegL_03.self01
#        2020-04-01 23:16:27 :.RegL_03.self02
======= finished ===



Edit: Ich habe das "Backup" mit der jetzigen Version verglichen. Abgesehen von der Uhrzeit sind nur die Wertein .RegL_03.self02 dazugekommen
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

frank

ZitatWarum brauche ich insgesamt 3 Templates
#3 ist für self02_short gedacht, falls du wieder das alte verhalten haben willst.

da ich generische templates gebaut habe, gibt es automatisch short und long. die musst du ja nicht benutzen, sie sind aber trotzdem in fhem. tut ja nicht weh.  :)
vielleicht möchte jemand die funktion für long, jeder wie er mag.

tplDel bedeutet nicht, das template aus fhem zu löschen. es wird nur die zuweisung zum device/peer aufgehoben (unassigned). du hast nur 2 zuweisungen. wenn du an einem taster ein anderes template zuweisen möchtest als das aktuelle, dann erst das alte unassignen und danach das neue setzen.

templates werden in hminfo gelöscht.


du musst nicht ängstlich sein.
einfach mal mutig was ausprobieren.
der parameterbefehl ist genau richtig. kannste später auch noch mal ändern.
oder die ramptime von einem level zum anderen mal ändern.


loadconfig habe ich noch nicht gemacht. 
die datei ist ja erstmal nur für den notfall.
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

TWART016

Zitat von: frank am 03 April 2020, 17:35:38
#3 ist für self02_short gedacht, falls du wieder das alte verhalten haben willst.
Ist das nicht das gleiche wie tplDel? Dort wird auch die Zuweisung getrennt und auf den default Wert zurückgesetzt?


Zitat von: frank am 03 April 2020, 15:49:56
5. damit der toggle zwischen 100 und 5 funktioniert musst du nun den parameter minLevel des templates ändern. dazu gibt es jetzt für jeden parameter des templates ein set tplPara... befehl. also entsprechend setzen.
Wo finde ich tplPara? Wie passe ich das an und in welchem Gerät?
Ich sehe in hminfo templateSet. So?
set hminfo templateSet Licht_Wohnzimmer_4 toggleMaxMin_dimmer DimMinLvl:long 5


Zitat von: frank am 03 April 2020, 15:49:56
6. mit set tpl_self01 switchToOffLevel_dimmer_short weist du dem anderen taster das nächste template zum ausschalten zu.
in der set liste sind anschliessend 2 weitere tplPara... befehle für diese templatezuweisung. hier brauchst du aber nichts ändern.
Muss ich das wirklich ändern? Da ändert sich ja nichts.


Zitat von: frank am 03 April 2020, 15:49:56
7. fertig
um die templatezuweisungen zu entfernen (unassign) gibt es in der set liste nun tplDel mit 2 optionen für die 2 zugewiesenen templates.
wenn du die einstellungen beibehalten willst, solltest du die zuweisungen nicht löschen damit hminfo die einstellungen überwachen kann.
Muss hminfo das zwingend überwachen? Ich vermute die config wird auf das Homematic System übertragen und funktioniert auch ohne fhem.


Ich probiere das morgen mal aus.

frank

ZitatIch probiere das morgen mal aus.
du wirst es nicht bereuen.  8)

die vielzahl der befehle, teilweise verwirrende befehlsnamen, auch noch über 3 module verteilt, hat mich anfänglich ziehmlich abgeschreckt. dabei ist das konzept der templates letztendlich "verblüffend" einfach.

wenn man weiss, welches template das gewünschte verhalten ermöglicht, muss man es nur zuweisen und schon ist man fertig.

das webui könnte helfen, die "einfachheit" der templates zu entdecken.
ausserdem kann man damit sehr einfach eigene templates erstellen, wodurch templates so richtig zum erlebnis werden.
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

TWART016

Zitat von: frank am 03 April 2020, 15:49:56
5. damit der toggle zwischen 100 und 5 funktioniert musst du nun den parameter minLevel des templates ändern. dazu gibt es jetzt für jeden parameter des templates ein set tplPara... befehl. also entsprechend setzen.


Ich habe die hm.js nun implementiert.
self2 ist toggleMaxMin_dimmer_short zugewiesen. Dort finde ich jedoch nur p1minLevel und nicht DimMinLvl.

Müsste ich nicht den Wert von self01 ändern, dieser ist schließlich für das runterdimmen, self02 für hochdimmen. In deinen Schritten steht, mal solle minLevel von self02 ändern.

Macht es nicht Sinn, mir ein eigenes Template zu erstellen, anstatt deines zu nehmen und dann den Befehl zu setzen?

frank

meine templates haben nichts mit ottos vorschlag zu tun.
wenn du meine anleitung mit meinen templates umsetzt, funktioniert dein dimmer so, wie du es in post 1 gewünscht hast.

was hindert dich, es mal aus zu probieren?
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

TWART016

#27
Ich habe das jetzt so umgesetzt. Wenn ich jetzt den Wert nicht von 5 haben möchte, sondern von 20, was müsste ich ändern?

Edit: getestet habe ich es mit p1   minLevel 20.
Wie zu sehen ist, habe ich runtergedimmt und pct ist 5

Internals:
   DEF        53014701
   FUUID      5c7197ee-f33f-50ef-d504-00939d7172be358e
   FVERSION   10_CUL_HM.pm:0.210930/2020-02-02
   NAME       Licht_Wohnzimmer_4
   NOTIFYDEV  global
   NR         779
   NTFY_ORDER 50-Licht_Wohnzimmer_4
   STATE      5
   TYPE       CUL_HM
   chanNo     01
   device     HM_530147
   peerList   self01,self02,
   READINGS:
     2020-04-04 18:57:07   CommandAccepted yes
     2017-12-30 17:51:38   R-fuseDelay     1 s
     2017-12-30 17:51:38   R-logicCombination or
     2017-12-30 17:51:38   R-ovrTempLvl    80 C
     2017-12-30 17:51:38   R-powerUpAction off
     2017-12-30 17:51:38   R-redLvl        40 %
     2017-12-30 17:51:38   R-redTempLvl    75 C
     2020-04-04 18:50:06   R-self01-lgActionTypeDim jmpToTarget
     2020-04-01 23:16:25   R-self01-lgCtDlyOff geLo
     2020-04-01 23:16:25   R-self01-lgCtDlyOn geLo
     2020-04-01 23:16:25   R-self01-lgCtOff geLo
     2020-04-01 23:16:25   R-self01-lgCtOn geLo
     2020-04-01 23:16:25   R-self01-lgCtRampOff geLo
     2020-04-01 23:16:25   R-self01-lgCtRampOn geLo
     2020-04-01 23:16:25   R-self01-lgCtValHi 100
     2020-04-01 23:16:25   R-self01-lgCtValLo 50
     2020-04-01 23:16:25   R-self01-lgDimElsActionType off
     2020-04-01 23:16:25   R-self01-lgDimElsJtDlyOff rampOff
     2020-04-01 23:16:25   R-self01-lgDimElsJtDlyOn rampOn
     2020-04-01 23:16:25   R-self01-lgDimElsJtOff dlyOn
     2020-04-01 23:16:25   R-self01-lgDimElsJtOn dlyOff
     2020-04-01 23:16:25   R-self01-lgDimElsJtRampOff off
     2020-04-01 23:16:25   R-self01-lgDimElsJtRampOn on
     2020-04-01 23:16:25   R-self01-lgDimElsOffTimeMd absolut
     2020-04-01 23:16:25   R-self01-lgDimElsOnTimeMd absolut
     2020-04-04 18:50:06   R-self01-lgDimJtDlyOff rampOff
     2020-04-04 18:50:06   R-self01-lgDimJtDlyOn rampOff
     2020-04-04 18:50:06   R-self01-lgDimJtOff rampOff
     2020-04-04 18:50:06   R-self01-lgDimJtOn rampOff
     2020-04-01 23:16:25   R-self01-lgDimJtRampOff off
     2020-04-01 23:16:25   R-self01-lgDimJtRampOn dlyOff
     2020-04-01 23:16:25   R-self01-lgDimMaxLvl 100 %
     2020-04-04 18:50:06   R-self01-lgDimMinLvl 0 %
     2020-04-01 23:16:25   R-self01-lgDimStep 5 %
     2020-04-04 18:50:06   R-self01-lgMultiExec off
     2020-04-01 23:16:25   R-self01-lgOffDly 0 s
     2020-04-04 18:50:06   R-self01-lgOffDlyBlink off
     2020-04-01 23:16:25   R-self01-lgOffDlyNewTime 0.4 s
     2020-04-01 23:16:25   R-self01-lgOffDlyOldTime 0.4 s
     2020-04-01 23:16:25   R-self01-lgOffDlyStep 5 %
     2020-04-04 18:50:06   R-self01-lgOffLevel 5 %
     2020-04-01 23:16:25   R-self01-lgOffTime unused
     2020-04-04 18:50:06   R-self01-lgOffTimeMode absolut
     2020-04-01 23:16:25   R-self01-lgOnDly 0 s
     2020-04-04 18:50:06   R-self01-lgOnDlyMode setToOff
     2020-04-01 23:16:25   R-self01-lgOnLevel 100 %
     2020-04-04 18:50:06   R-self01-lgOnLvlPrio high
     2020-04-04 18:50:06   R-self01-lgOnMinLevel 5 %
     2020-04-04 18:50:06   R-self01-lgOnTime unused
     2020-04-04 18:50:06   R-self01-lgOnTimeMode absolut
     2020-04-01 23:16:25   R-self01-lgRampOffTime 0.5 s
     2020-04-01 23:16:25   R-self01-lgRampOnTime 0.5 s
     2020-04-04 18:50:06   R-self01-lgRampSstep 0 %
     2020-04-01 23:16:25   R-self01-shActionTypeDim jmpToTarget
     2020-04-01 23:16:25   R-self01-shCtDlyOff geLo
     2020-04-01 23:16:25   R-self01-shCtDlyOn geLo
     2020-04-01 23:16:25   R-self01-shCtOff geLo
     2020-04-01 23:16:25   R-self01-shCtOn geLo
     2020-04-01 23:16:25   R-self01-shCtRampOff geLo
     2020-04-01 23:16:25   R-self01-shCtRampOn geLo
     2020-04-01 23:16:25   R-self01-shCtValHi 100
     2020-04-01 23:16:25   R-self01-shCtValLo 50
     2020-04-01 23:16:25   R-self01-shDimElsActionType off
     2020-04-01 23:16:25   R-self01-shDimElsJtDlyOff rampOff
     2020-04-01 23:16:25   R-self01-shDimElsJtDlyOn rampOn
     2020-04-01 23:16:25   R-self01-shDimElsJtOff dlyOn
     2020-04-01 23:16:25   R-self01-shDimElsJtOn dlyOff
     2020-04-01 23:16:25   R-self01-shDimElsJtRampOff off
     2020-04-01 23:16:25   R-self01-shDimElsJtRampOn on
     2020-04-01 23:16:25   R-self01-shDimElsOffTimeMd absolut
     2020-04-01 23:16:25   R-self01-shDimElsOnTimeMd absolut
     2020-04-04 18:55:10   R-self01-shDimJtDlyOff rampOff
     2020-04-04 18:55:10   R-self01-shDimJtDlyOn rampOff
     2020-04-04 18:55:10   R-self01-shDimJtOff rampOff
     2020-04-04 18:55:10   R-self01-shDimJtOn rampOff
     2020-04-04 18:55:10   R-self01-shDimJtRampOff off
     2020-04-04 18:55:10   R-self01-shDimJtRampOn dlyOff
     2020-04-01 23:16:25   R-self01-shDimMaxLvl 100 %
     2020-04-01 23:16:25   R-self01-shDimMinLvl 0 %
     2020-04-01 23:16:25   R-self01-shDimStep 5 %
     2020-04-01 23:16:25   R-self01-shMultiExec off
     2020-04-01 23:16:25   R-self01-shOffDly 0 s
     2020-04-03 16:46:09   R-self01-shOffDlyBlink off
     2020-04-01 23:16:25   R-self01-shOffDlyNewTime 0.4 s
     2020-04-01 23:16:25   R-self01-shOffDlyOldTime 0.4 s
     2020-04-01 23:16:25   R-self01-shOffDlyStep 5 %
     2020-04-01 23:16:25   R-self01-shOffLevel 0 %
     2020-04-01 23:16:25   R-self01-shOffTime unused
     2020-04-01 23:16:25   R-self01-shOffTimeMode absolut
     2020-04-01 23:16:25   R-self01-shOnDly 0 s
     2020-04-03 16:46:09   R-self01-shOnDlyMode setToOff
     2020-04-01 23:16:25   R-self01-shOnLevel 100 %
     2020-04-03 16:46:09   R-self01-shOnLvlPrio high
     2020-04-03 16:46:09   R-self01-shOnMinLevel 0 %
     2020-04-01 23:16:25   R-self01-shOnTime unused
     2020-04-01 23:16:25   R-self01-shOnTimeMode absolut
     2020-04-01 23:16:25   R-self01-shRampOffTime 0.5 s
     2020-04-01 23:16:25   R-self01-shRampOnTime 0.5 s
     2020-04-03 16:46:09   R-self01-shRampSstep 0 %
     2020-04-01 23:16:27   R-self02-lgActionTypeDim upDim
     2020-04-01 23:16:27   R-self02-lgCtDlyOff geLo
     2020-04-01 23:16:27   R-self02-lgCtDlyOn geLo
     2020-04-01 23:16:27   R-self02-lgCtOff geLo
     2020-04-01 23:16:27   R-self02-lgCtOn geLo
     2020-04-01 23:16:27   R-self02-lgCtRampOff geLo
     2020-04-01 23:16:27   R-self02-lgCtRampOn geLo
     2020-04-01 23:16:27   R-self02-lgCtValHi 100
     2020-04-01 23:16:27   R-self02-lgCtValLo 50
     2020-04-01 23:16:27   R-self02-lgDimElsActionType off
     2020-04-01 23:16:27   R-self02-lgDimElsJtDlyOff rampOff
     2020-04-01 23:16:27   R-self02-lgDimElsJtDlyOn rampOn
     2020-04-01 23:16:27   R-self02-lgDimElsJtOff dlyOn
     2020-04-01 23:16:27   R-self02-lgDimElsJtOn dlyOff
     2020-04-01 23:16:27   R-self02-lgDimElsJtRampOff off
     2020-04-01 23:16:27   R-self02-lgDimElsJtRampOn on
     2020-04-01 23:16:27   R-self02-lgDimElsOffTimeMd absolut
     2020-04-01 23:16:27   R-self02-lgDimElsOnTimeMd absolut
     2020-04-01 23:16:27   R-self02-lgDimJtDlyOff rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtDlyOn rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtOff dlyOn
     2020-04-01 23:16:27   R-self02-lgDimJtOn rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtRampOff rampOn
     2020-04-01 23:16:27   R-self02-lgDimJtRampOn on
     2020-04-01 23:16:27   R-self02-lgDimMaxLvl 100 %
     2020-04-01 23:16:27   R-self02-lgDimMinLvl 0 %
     2020-04-01 23:16:27   R-self02-lgDimStep 5 %
     2020-04-01 23:16:27   R-self02-lgMultiExec on
     2020-04-01 23:16:27   R-self02-lgOffDly 0 s
     2020-04-01 23:16:27   R-self02-lgOffDlyBlink on
     2020-04-01 23:16:27   R-self02-lgOffDlyNewTime 0.4 s
     2020-04-01 23:16:27   R-self02-lgOffDlyOldTime 0.4 s
     2020-04-01 23:16:27   R-self02-lgOffDlyStep 5 %
     2020-04-01 23:16:27   R-self02-lgOffLevel 0 %
     2020-04-01 23:16:27   R-self02-lgOffTime unused
     2020-04-01 23:16:27   R-self02-lgOffTimeMode absolut
     2020-04-01 23:16:27   R-self02-lgOnDly 0 s
     2020-04-01 23:16:27   R-self02-lgOnDlyMode setToOff
     2020-04-01 23:16:27   R-self02-lgOnLevel 100 %
     2020-04-01 23:16:27   R-self02-lgOnLvlPrio high
     2020-04-01 23:16:27   R-self02-lgOnMinLevel 10 %
     2020-04-01 23:16:27   R-self02-lgOnTime unused
     2020-04-01 23:16:27   R-self02-lgOnTimeMode absolut
     2020-04-01 23:16:27   R-self02-lgRampOffTime 0.5 s
     2020-04-01 23:16:27   R-self02-lgRampOnTime 0.5 s
     2020-04-01 23:16:27   R-self02-lgRampSstep 5 %
     2020-04-03 16:23:22   R-self02-shActionTypeDim jmpToTarget
     2020-04-03 16:23:22   R-self02-shCtDlyOff geLo
     2020-04-03 16:23:22   R-self02-shCtDlyOn geLo
     2020-04-03 16:23:22   R-self02-shCtOff geLo
     2020-04-03 16:23:22   R-self02-shCtOn geLo
     2020-04-03 16:23:22   R-self02-shCtRampOff geLo
     2020-04-03 16:23:22   R-self02-shCtRampOn geLo
     2020-04-03 16:23:22   R-self02-shCtValHi 100
     2020-04-03 16:23:22   R-self02-shCtValLo 50
     2020-04-01 23:16:27   R-self02-shDimElsActionType off
     2020-04-01 23:16:27   R-self02-shDimElsJtDlyOff rampOff
     2020-04-01 23:16:27   R-self02-shDimElsJtDlyOn rampOn
     2020-04-01 23:16:27   R-self02-shDimElsJtOff dlyOn
     2020-04-01 23:16:27   R-self02-shDimElsJtOn dlyOff
     2020-04-01 23:16:27   R-self02-shDimElsJtRampOff off
     2020-04-01 23:16:27   R-self02-shDimElsJtRampOn on
     2020-04-01 23:16:27   R-self02-shDimElsOffTimeMd absolut
     2020-04-01 23:16:27   R-self02-shDimElsOnTimeMd absolut
     2020-04-04 18:56:01   R-self02-shDimJtDlyOff rampOff
     2020-04-04 18:56:01   R-self02-shDimJtDlyOn rampOn
     2020-04-04 18:56:01   R-self02-shDimJtOff dlyOn
     2020-04-04 18:56:01   R-self02-shDimJtOn dlyOff
     2020-04-04 18:56:01   R-self02-shDimJtRampOff off
     2020-04-04 18:56:01   R-self02-shDimJtRampOn on
     2020-04-01 23:16:27   R-self02-shDimMaxLvl 100 %
     2020-04-01 23:16:27   R-self02-shDimMinLvl 0 %
     2020-04-01 23:16:27   R-self02-shDimStep 5 %
     2020-04-03 16:23:22   R-self02-shMultiExec off
     2020-04-03 16:23:22   R-self02-shOffDly 0 s
     2020-04-04 18:56:01   R-self02-shOffDlyBlink off
     2020-04-01 23:16:27   R-self02-shOffDlyNewTime 0.4 s
     2020-04-01 23:16:27   R-self02-shOffDlyOldTime 0.4 s
     2020-04-01 23:16:27   R-self02-shOffDlyStep 5 %
     2020-04-04 20:18:43   R-self02-shOffLevel 20 %
     2020-04-03 16:23:22   R-self02-shOffTime unused
     2020-04-03 16:23:22   R-self02-shOffTimeMode absolut
     2020-04-03 16:23:22   R-self02-shOnDly 0 s
     2020-04-04 18:56:01   R-self02-shOnDlyMode setToOff
     2020-04-01 23:16:27   R-self02-shOnLevel 100 %
     2020-04-04 18:56:01   R-self02-shOnLvlPrio high
     2020-04-04 20:18:43   R-self02-shOnMinLevel 20 %
     2020-04-03 16:23:22   R-self02-shOnTime unused
     2020-04-03 16:23:22   R-self02-shOnTimeMode absolut
     2020-04-01 23:16:27   R-self02-shRampOffTime 0.5 s
     2020-04-01 23:16:27   R-self02-shRampOnTime 0.5 s
     2020-04-04 18:56:01   R-self02-shRampSstep 0 %
     2020-04-01 23:06:55   R-sign          off
     2017-12-30 17:51:38   R-statusInfoMinDly 2 s
     2017-12-30 17:51:38   R-statusInfoRandom 1 s
     2017-12-30 17:51:38   R-transmitTryMax 6
     2020-04-04 20:09:45   deviceMsg       5 (to Homematic_LAN_Gateway)
     2020-04-04 20:09:45   dim             stop:5
     2020-04-04 20:09:45   level           5
     2017-12-30 17:51:44   levelMissed     desired:100
     2020-04-04 20:09:45   overheat        off
     2020-04-04 20:09:45   overload        off
     2020-04-04 20:09:45   pct             5
     2020-04-04 20:18:45   peerList        self01,self02,
     2020-04-04 20:09:45   phyLevel        5
     2020-04-04 20:09:45   recentStateType info
     2020-04-04 20:09:45   reduced         off
     2020-04-04 20:09:45   state           5
     2020-04-04 20:09:45   timedOn         off
     2020-04-04 18:57:06   trigLast        fhem:02
   helper:
     cfgChkResult No regs found for:

Licht_Wohnzimmer_4 type:dimmer -
list:peer register         :value
   1:      fuseDelay        :1 s
   1:      logicCombination :or
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      sign             :off
   1:      statusInfoMinDly :2 s
   1:      statusInfoRandom :1 s
   1:      transmitTryMax   :6
                       self01                          self02                         
                       lg              sh              lg              sh             
ActionTypeDim          jmpToTarget     jmpToTarget     upDim           jmpToTarget     
CtDlyOff               geLo            geLo            geLo            geLo           
CtDlyOn                geLo            geLo            geLo            geLo           
CtOff                  geLo            geLo            geLo            geLo           
CtOn                   geLo            geLo            geLo            geLo           
CtRampOff              geLo            geLo            geLo            geLo           
CtRampOn               geLo            geLo            geLo            geLo           
CtValHi                100             100             100             100             
CtValLo                50              50              50              50             
DimElsActionType       off             off             off             off             
DimElsJtDlyOff         rampOff         rampOff         rampOff         rampOff         
DimElsJtDlyOn          rampOn          rampOn          rampOn          rampOn         
DimElsJtOff            dlyOn           dlyOn           dlyOn           dlyOn           
DimElsJtOn             dlyOff          dlyOff          dlyOff          dlyOff         
DimElsJtRampOff        off             off             off             off             
DimElsJtRampOn         on              on              on              on             
DimElsOffTimeMd        absolut         absolut         absolut         absolut         
DimElsOnTimeMd         absolut         absolut         absolut         absolut         
DimJtDlyOff            rampOff         rampOff         rampOn          rampOff         
DimJtDlyOn             rampOff         rampOff         rampOn          rampOn         
DimJtOff               rampOff         rampOff         dlyOn           dlyOn           
DimJtOn                rampOff         rampOff         rampOn          dlyOff         
DimJtRampOff           off             off             rampOn          off             
DimJtRampOn            dlyOff          dlyOff          on              on             
DimMaxLvl         [%]  100             100             100             100             
DimMinLvl         [%]  0               0               0               0               
DimStep           [%]  5               5               5               5               
MultiExec              off             off             on              off             
OffDly            [s]  0               0               0               0               
OffDlyBlink            off             off             on              off             
OffDlyNewTime     [s]  0.4             0.4             0.4             0.4             
OffDlyOldTime     [s]  0.4             0.4             0.4             0.4             
OffDlyStep        [%]  5               5               5               5               
OffLevel          [%]  5               0               0               20             
OffTime                unused          unused          unused          unused         
OffTimeMode            absolut         absolut         absolut         absolut         
OnDly             [s]  0               0               0               0               
OnDlyMode              setToOff        setToOff        setToOff        setToOff       
OnLevel           [%]  100             100             100             100             
OnLvlPrio              high            high            high            high           
OnMinLevel        [%]  5               0               10              20             
OnTime                 unused          unused          unused          unused         
OnTimeMode             absolut         absolut         absolut         absolut         
RampOffTime       [s]  0.5             0.5             0.5             0.5             
RampOnTime        [s]  0.5             0.5             0.5             0.5             
RampSstep         [%]  0               0               5               0               

     dlvlCmd    ++A0116873675301470201000000
     peerFriend peerSens,peerVirt
     peerIDsRaw ,53014701,53014702,00000000
     peerOpt    3:dimmer
     regLst     1,3p
     tmplChg    1
     dir:
       cur        stop
       rct        down
     expert:
       def        1
       det        1
       raw        0
       tpl        0
     regCollect:
     role:
       chn        1
     shadowReg:
     tmpl:
       self01:short>switchToOffLevel_dimmer 0 0.5
       self02:short>toggleMaxMin_dimmer 100 20 0.5
     vDim:
       idPhy      53014701
       idV2       53014702
       idV3       53014703
   nb:
     cnt        23
Attributes:
   FTUI_at    1
   alexaName  Decken Licht 4 im Wohnzimmer
   expert     1_allReg
   fhem_widget_channels [{"allowed_values":["off","on"],"controlled_attribute":"state"}]
   group      Deckenlicht
   model      HM-LC-DIM1TPBU-FM
   peerIDs    00000000,53014701,53014702,
   room       10_Wohnzimmer,70_Licht,Homekit,alexa
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
   webCmd     statusRequest:toggle:on:off:up:down

frank

tipp:

im webui kannst du auch ein template en block mehreren device/peer kombinationen zuweisen, parameter setzen oder zuweisungen aufheben.

dazu änderst du in der templateansicht oben rechts das dropdown auf "global usage".
jetzt erscheint eine tabelle, die die "globale" nutzung des templates zeigt.

wenn du die tabelle nach deimen wünschen eingestellt hast, werden alle änderungen durch klick auf use ausgeführt.

so kannst du deine 3 dimmer auf einen streich konfigurieren.
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

TWART016

Das habe ich gesehen. Wenn ich maximal runterdimmt ist pct 5. Obwohl in p1minLevel 20 steht. Wie kann ich das ändern?