häufiges Ändern des Registers

Begonnen von TWART016, 22 Februar 2021, 20:54:12

Vorheriges Thema - Nächstes Thema

TWART016

Hallo,

ich habe mehrere Dimmer HM-LC-DIM1TPBU-FM.

Ich möchte nun das Verhalten regelmäßig ändern, z.B. das nachts maximal auf 20% gedimmt wird.

Spricht etwas dagegen oder kann es zu Problem beim häufigen Wechsel der Parameter denken (schneller defekt, ...)?


frank

bei dem dim1tpbu sollte das vorhaben auch über die virtuellen channel möglich sein.
schont das eeprom und benötigt deutlich weniger funkverkehr.
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 22 Februar 2021, 21:51:03
bei dem dim1tpbu sollte das vorhaben auch über die virtuellen channel möglich sein.
schont das eeprom und benötigt deutlich weniger funkverkehr.

Wie kann ich das verstehen?

Im ersten Schritt habe ich folgenden Anwendungsfall:
Zwischen 8 und 23 Uhr möchte ich wie üblich ein/ausschalten. Von 23-8 jedoch soll maximal auf 20% geschalten werden (mit Licht an)

Im zweiten Schritt möchte ich da vllt noch sowas wie einen extra Boost bauen. Wenn ich einen Button drücke, oder den Schalter nochmal nach oben, soll doch auf 100% geschalten werden können. Gibt es dafür auch eine Funktion?

Aktuell habe ich das Gerät
Internals:
   DEF        616EB401
   FUUID      5ff99ef0-f33f-50ef-797c-7bdbe3050e3083b4
   FVERSION   10_CUL_HM.pm:0.234210/2020-12-26
   NAME       Licht_Bad
   NOTIFYDEV  global
   NR         1022
   NTFY_ORDER 50-Licht_Bad
   STATE      off
   TYPE       CUL_HM
   chanNo     01
   device     HM_616EB4
   READINGS:
     2021-02-21 01:39:56   CommandAccepted yes
     2021-02-20 11:24:08   RegL_01.        00:00
     2021-02-20 11:24:42   cfgState        ok
     2021-02-22 22:30:09   deviceMsg       off (to Homematic_LAN_Gateway)
     2021-02-22 22:30:09   dim             stop:off
     2021-02-22 22:30:09   level           0
     2021-02-22 22:30:09   overheat        off
     2021-02-22 22:30:09   overload        off
     2021-02-22 22:30:09   pct             0
     2021-02-22 22:30:09   phyLevel        0
     2021-02-22 22:30:09   recentStateType info
     2021-02-22 22:30:09   reduced         off
     2021-02-22 22:30:09   state           off
     2021-02-22 22:30:09   timedOn         off
     2021-02-21 01:39:56   trigLast        fhem:02
   helper:
     dlvlCmd    ++A011687367616EB40201C80000FFFF
     peerFriend peerSens,peerVirt
     peerOpt    3:dimmer
     regLst     1,3p
     cmds:
       TmplKey    :no:1613857143.19099
       TmplTs     1613857143.19099
       cmdKey     1:0:0::HM_616EB4:0068:01:
       cmdLst:
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         down       'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
         getConfig  noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         inhibit    [(on|{off})]
         off        noArg
         old        noArg
         on         noArg
         on-for-timer -ontime- [(-ramptime-|{})]
         on-till    -time- [(-ramptime-|{})]
         pct        (-value-|old) [(-ontime-|{})] [(-ramptime-|{})]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerIODev  [IO] -btn- [({set}|unset)] 'not for future use'
         press      [(long|{short})] [(-peer-|{self01})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         sign       [(on|{off})]
         statusRequest noArg
         stop       noArg
         toggle     noArg
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         up         'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     dir:
       cur        stop
     expert:
       def        0
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     shadowReg:
     tmpl:
     vDim:
       idPhy      616EB401
       idV2       616EB402
       idV3       616EB403
Attributes:
   alias      Licht_Bad
   event-on-change-reading .*
   group      Deckenlicht
   model      HM-LC-DIM1TPBU-FM
   peerIDs    00000000,
   room       70_Licht,Sonstiges->Homematic
   webCmd     statusRequest:toggle:on:off:up:down


Sowie noch 3 Probably associated Geräte:
HM_616EB4
Internals:
   DEF        616EB4
   FUUID      5ff99ef0-f33f-50ef-7a74-4f41c183afa9e7b8
   FVERSION   10_CUL_HM.pm:0.234210/2020-12-26
   Homematic_LAN_Gateway_MSGCNT 57
   Homematic_LAN_Gateway_RAWMSG 0501002C37A410616EB4687367060100008000
   Homematic_LAN_Gateway_RSSI -44
   Homematic_LAN_Gateway_TIME 2021-02-22 22:30:09
   IODev      Homematic_LAN_Gateway
   LASTInputDev Homematic_LAN_Gateway
   MSGCNT     57
   NAME       HM_616EB4
   NOTIFYDEV  global
   NR         1021
   NTFY_ORDER 50-HM_616EB4
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 Licht_Bad
   channel_02 HM_616EB4_Dim_V_01
   channel_03 HM_616EB4_Dim_V_02
   lastMsg    No:37 - t:10 s:616EB4 d:687367 060100008000
   protCmdDel 2
   protLastRcv 2021-02-22 22:30:09
   protRcv    57 last_at:2021-02-22 22:30:09
   protResnd  4 last_at:2021-02-20 22:43:12
   protResndFail 1 last_at:2021-02-20 22:43:17
   protSnd    62 last_at:2021-02-22 22:30:09
   protState  CMDs_done
   rssi_Homematic_LAN_Gateway cnt:6 min:-58 max:-55 avg:-56.66 lst:-56
   rssi_at_Homematic_LAN_Gateway cnt:57 min:-53 max:-44 avg:-48.8 lst:-44
   READINGS:
     2021-01-09 13:17:58   CommandAccepted yes
     2021-01-09 13:17:53   D-firmware      2.9
     2021-01-09 13:17:53   D-serialNr      OEQ1721387
     2021-02-20 11:24:08   PairedTo        0x687367
     2021-02-20 11:24:08   RegL_00.        00:00 02:01 0A:68 0B:73 0C:67 15:FF 18:00
     2021-02-20 11:24:42   cfgState        ok
     2021-02-22 22:30:09   commState       CMDs_done
     2021-02-20 11:24:03   powerOn         2021-02-20 11:24:03
     2021-02-22 22:30:09   state           CMDs_done
   helper:
     HM_CMDNR   55
     cSnd       11687367616EB40201C80000FFFF,01687367616EB4010E
     mId        0068
     peerFriend
     peerOpt    -:dimmer
     regLst     0
     rxType     1
     supp_Pair_Rep 0
     cmds:
       TmplKey    :no:1613857143.16298
       TmplTs     1613857143.16298
       cmdKey     0:1:0::HM_616EB4:0068:01:
       cmdLst:
         assignHmKey noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         fwUpdate   -filename- [-bootTime-]
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         getVersion noArg
         pair       noArg
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         unpair     noArg
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        0
       det        0
       raw        1
       tpl        0
     io:
       newChn     +616EB4,00,00,00
       nextSend   1614029409.44917
       prefIO     
       rxt        0
       vccu       
       p:
         616EB4
         00
         00
         00
     mRssi:
       mNo        37
       io:
         Homematic_LAN_Gateway:
           -36
           -36
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       dev        1
       prs        1
     rpt:
       IO         Homematic_LAN_Gateway
       flg        A
       ts         1614029409.16978
       ack:
         HASH(0xeb990b8)
         378002687367616EB400
     rssi:
       Homematic_LAN_Gateway:
         avg        -56.6666666666667
         cnt        6
         lst        -56
         max        -55
         min        -58
       at_Homematic_LAN_Gateway:
         avg        -48.8070175438597
         cnt        57
         lst        -44
         max        -44
         min        -53
     shadowReg:
     tmpl:
Attributes:
   IODev      Homematic_LAN_Gateway
   alias      HM_616EB4
   autoReadReg 4_reqStatus
   event-on-change-reading .*
   expert     rawReg
   firmware   2.9
   model      HM-LC-DIM1TPBU-FM
   room       Sonstiges->Homematic
   serialNr   OEQ1721387
   subType    dimmer
   webCmd     getConfig:clear msgEvents


HM_616EB4_Dim_V_01
Internals:
   DEF        616EB402
   FUUID      5ff99ef0-f33f-50ef-2195-6a9601228c48a657
   FVERSION   10_CUL_HM.pm:0.234210/2020-12-26
   NAME       HM_616EB4_Dim_V_01
   NOTIFYDEV  global
   NR         1023
   NTFY_ORDER 50-HM_616EB4_Dim_V_01
   STATE      off
   TYPE       CUL_HM
   chanNo     02
   device     HM_616EB4
   READINGS:
     2021-02-20 11:24:11   RegL_01.        00:00 08:00 30:06 32:50 33:64 34:4B 35:50 56:00 57:24 59:00
     2021-02-20 11:24:42   cfgState        ok
     2021-02-20 23:11:07   deviceMsg       off (to Homematic_LAN_Gateway)
     2021-02-20 23:11:07   dim             stop:off
     2021-02-20 23:11:07   level           0
     2021-02-20 23:11:07   overheat        off
     2021-02-20 23:11:07   overload        off
     2021-02-20 23:11:07   pct             0
     2021-02-22 22:30:09   phyLevel        0
     2021-02-20 23:11:07   recentStateType info
     2021-02-20 23:11:07   reduced         off
     2021-02-22 22:30:09   state           off
     2021-02-20 23:11:07   timedOn         off
   helper:
     peerFriend peerSens,peerVirt
     peerOpt    3:dimmer
     regLst     1,3p
     cmds:
       TmplKey    :no:1613857143.18938
       TmplTs     1613857143.18938
       cmdKey     1:0:0::HM_616EB4:0068:02:
       cmdLst:
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         down       'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
         getConfig  noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         inhibit    [(on|{off})]
         off        noArg
         old        noArg
         on         noArg
         on-for-timer -ontime- [(-ramptime-|{})]
         on-till    -time- [(-ramptime-|{})]
         pct        (-value-|old) [(-ontime-|{})] [(-ramptime-|{})]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerIODev  [IO] -btn- [({set}|unset)] 'not for future use'
         press      [(long|{short})] [(-peer-|{self02})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         sign       [(on|{off})]
         statusRequest noArg
         stop       noArg
         toggle     noArg
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         up         'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     dir:
       cur        stop
     expert:
       def        0
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     shadowReg:
     tmpl:
     vDim:
       idPhy      616EB401
Attributes:
   alias      HM_616EB4_Dim_V_01
   event-on-change-reading .*
   model      HM-LC-DIM1TPBU-FM
   peerIDs    00000000,
   room       Sonstiges->Homematic
   webCmd     statusRequest:toggle:on:off:up:down



HM_616EB4_Dim_V_02
Internals:
   DEF        616EB403
   FUUID      5ff99ef0-f33f-50ef-b0be-5bdff7b86009b5af
   FVERSION   10_CUL_HM.pm:0.234210/2020-12-26
   NAME       HM_616EB4_Dim_V_02
   NOTIFYDEV  global
   NR         1024
   NTFY_ORDER 50-HM_616EB4_Dim_V_02
   STATE      off
   TYPE       CUL_HM
   chanNo     03
   device     HM_616EB4
   READINGS:
     2021-02-20 11:24:12   RegL_01.        00:00 08:00 30:06 32:50 33:64 34:4B 35:50 56:00 57:24 59:00
     2021-02-20 11:24:42   cfgState        ok
     2021-02-20 11:24:05   deviceMsg       off (to Homematic_LAN_Gateway)
     2021-02-20 11:24:05   dim             stop:off
     2021-02-20 11:24:05   level           0
     2021-02-20 11:24:05   overheat        off
     2021-02-20 11:24:05   overload        off
     2021-02-20 11:24:05   pct             0
     2021-02-22 22:30:09   phyLevel        0
     2021-02-20 11:24:05   recentStateType info
     2021-02-20 11:24:05   reduced         off
     2021-02-22 22:30:09   state           off
     2021-02-20 11:24:05   timedOn         off
   helper:
     peerFriend peerSens,peerVirt
     peerOpt    3:dimmer
     regLst     1,3p
     cmds:
       TmplKey    :no:1613857143.19021
       TmplTs     1613857143.19021
       cmdKey     1:0:0::HM_616EB4:0068:03:
       cmdLst:
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         down       'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
         getConfig  noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         inhibit    [(on|{off})]
         off        noArg
         old        noArg
         on         noArg
         on-for-timer -ontime- [(-ramptime-|{})]
         on-till    -time- [(-ramptime-|{})]
         pct        (-value-|old) [(-ontime-|{})] [(-ramptime-|{})]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerIODev  [IO] -btn- [({set}|unset)] 'not for future use'
         press      [(long|{short})] [(-peer-|{self03})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         sign       [(on|{off})]
         statusRequest noArg
         stop       noArg
         toggle     noArg
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         up         'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        0
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     shadowReg:
     tmpl:
     vDim:
       idPhy      616EB401
Attributes:
   alias      HM_616EB4_Dim_V_02
   event-on-change-reading .*
   model      HM-LC-DIM1TPBU-FM
   peerIDs    00000000,
   room       Sonstiges->Homematic
   webCmd     statusRequest:toggle:on:off:up:down

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

   channel_01 Licht_Bad
   channel_02 HM_616EB4_Dim_V_01
   channel_03 HM_616EB4_Dim_V_02

das wären dann meine virtuellen Kanäle? Steht zumindest so in dem Gerät HM_616EB4.

Im Gerät Licht_Bad steht bei den Registern nichts von logicCombination. Bei Kanal 2 und 3 dieser auf inactive.

Aber wie kann ich jetzt zeitweise den Kanal 2 verwenden und was muss ich da für Register ändern?

Ich habe nur ein LAN Gateway. Ist das ein Problem oder brauche ich eine CCU?

martinp876

Da muss man immer etwas länger nachdenken. Die Virtuellen Kanäle sind "very trickt" - viele Funktionen...  man muss nachdenken.

Typisch ist die LogicCombination aus - was es einfacher macht.
Der Dimmer hat faktisch 3 virtuelle Kanäle - und nur einen Physikalischen. Der Ausgabewert an den Physikalischen  wird aus den 3 virtuellen errechnet. Typisch ist nur der 1. virtuelle in Betrieb - somit ist "virt" und "Phys" immer identisch.

Vorab: HM hat als entity den Physikalischen Kanal nicht abgebildet - das ist nur in ein paar Readings zu sehen.

Also jeder der 3 virtuellen hat nur einen "level". Diese werden kombiniert mit den Optionen
Zitatoptions:inactive,mul,nor,minusinv,or,nand,mulinv,andinv,xor,orinv,invPlus,and,minus,plus,invMinus,plusinv,invMul

Beispiel:
Channel_1 50%, Channel_2 25%, kombi "mul". Phys = 0,5*0,25 = 0,125 => 12,5%

Besser: https://wiki.fhem.de/wiki/HomeMatic

Bei dir also:
- 2. Virtueller Kanal "_V_01" in der Nacht auf 20% setzen. Kann man zyklisch machen, on-for-timer,... wie man will
- Kombination "and" wählen.

TWART016

Ich bin jetzt längere Zeit nicht zum testen gekommen.

Wenn ich das Licht an und ausschalte, ändert sich das Reading phyLevel bei allen 3 Kanälen zwischen 0 und 100, beim Dimmen wird der Wert angezeigt.
Das Reading pct ändert sich derzeit nur in Kanal 1. 2 und 3 bleibt auf 0. Daher müsste ich zeitweise pct auf Kanal 2 auf 20% stellen? Wo kann ich ein set phyLevel machen?

Zitat von: martinp876 am 28 Februar 2021, 19:17:35
Also jeder der 3 virtuellen hat nur einen "level". Diese werden kombiniert mit den Optionen
Beispiel:
Channel_1 50%, Channel_2 25%, kombi "mul". Phys = 0,5*0,25 = 0,125 => 12,5%

Bei dir also:
- 2. Virtueller Kanal "_V_01" in der Nacht auf 20% setzen. Kann man zyklisch machen, on-for-timer,... wie man will
- Kombination "and" wählen.


Bei der Rechnung würde das Licht nur auf 12,5% gedimmt? Mit 100% für Kanal 1 und 20% für Kanal 2 wären das 20% Helligkeit?