[gelöst]HM-FB Taste mit fixem Dimmwert belegen

Begonnen von Helmi55, 08 Oktober 2017, 17:47:08

Vorheriges Thema - Nächstes Thema

Helmi55

Guten Abend
ich versuche gerade verzweifelt nach einer Lösung für folgendes Problem:
habe eine 12 Tasten HM FB. Ich habe für die Deckenlampe eine Taste für on/off gepeert und möchte die Taste daneben mit einem fixen DimmWert = 11 belegen.
Habe es mit einem dummy und einem DOIF probiert, aber ich kann in FHEM den dummy schalten, ABER ihn nicht mit der FB peeren?
list dummy
Internals:
   NAME       du_DimDecke
   NR         304
   STATE      off
   TYPE       dummy
   READINGS:
     2017-10-08 16:59:19   state           off
Attributes:
   webCmd     on:off

List DOIF
Internals:
   DEF        ([du_DimDecke:"on"]) (set Decke 11) DOELSEIF ([du_DimDecke:"off"]) (set Decke off)
   NAME       di_DimDecke
   NR         305
   NTFY_ORDER 50-di_DimDecke
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2017-10-08 16:59:19   Device          du_DimDecke
     2017-10-08 16:59:19   cmd             2
     2017-10-08 16:59:19   cmd_event       du_DimDecke
     2017-10-08 16:59:19   cmd_nr          2
     2017-10-08 16:59:19   e_du_DimDecke_events off
     2017-10-08 16:59:19   state           cmd_2
   condition:
     0          EventDoIf('du_DimDecke',$hash,'on',1)
     1          EventDoIf('du_DimDecke',$hash,'off',1)
   devices:
     0           du_DimDecke
     1           du_DimDecke
     all         du_DimDecke
   do:
     0:
       0          set Decke 11
     1:
       0          set Decke off
     2:
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   regexp:
     all:
   state:
     STATE:
   trigger:
     all         du_DimDecke


hier liefert aber ein set FB_WZ_Btn_02 peerChan 0 du_DimDecke single set ein "please Enter peer" zurück.

Anscheinen weil der dummy keine HM Komponente ist?

Jetzt habe ich noch versucht in der VCCU mit set VCCU virtual einen virtuellen Button anzulegen und ihm den subType switch zu geben.
Diesen virtuellen Button kann ich aber aus fhem heraus nicht schalten?
Hier noch das list des virtuellen Btn
Internals:
   CFGFN
   DEF        30088401
   NAME       VCCU_Btn1
   NOTIFYDEV  global
   NR         397
   STATE      ???
   TYPE       CUL_HM
   chanNo     01
   device     VCCU
   READINGS:
     2017-10-08 17:41:38   peerList
   helper:
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
       vrt        1
     tmpl:
Attributes:
   model      CCU-FHEM
   peerIDs
   subType    switch
   webCmd     press short:press long


Ich möchte den fixen Dim Wert auf die Taste peeren, damit man (Frau) auch durch direkten Tastendruck die gewünschte Dimstärke
schalten kann.

was mache ich da bitte falsch
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

rvideobaer

#1
Hallo,

Du kannst den Dimmwert für die gepeerte Taste im Aktor direkt festlegen (OnLevel ).
Einfach den peer für die FB raussuchen und dann das Register setzen.

set du_DimDecke regSet OnLevel 11 FB_WZ_Btn_02

Gruß Rolf
Raspberry Pi 2, HM-Uart,1x HM-LC-Sw1PBU-FM, 1x HM-RC-2-PBU-FM,1x HM-LC-SW4-DR,1x HM-LC-Sw1-Pl-DN-R1,1x HM-TC-IT-WM-W-EU, 5x HM-CC-RT-DN und noch mehr

Helmi55

Hallo Rolf

wenn ich das richtig verstehe, brauche ich dann gar keinen Dummy (du_DimDecke)
das kann ich ja dann gleich in den HM Actor "Decke" schreiben
set Decke regSet OnLevel 11 FB_WZ_Btn_02
oder?
Nur das bringt mir folgende Fehlermeldung
OnLevel failed: supported register are intKeyVisib lgActionTypeDim lgCtDlyOff lgCtDlyOn lgCtOff lgCtOn lgCtRampOff lgCtRampOn lgCtValHi lgCtValLo lgDimJtDlyOff lgDimJtDlyOn lgDimJtOff lgDimJtOn lgDimJtRampOff lgDimJtRampOn lgDimMaxLvl lgDimMinLvl lgDimStep lgMultiExec lgOffDly lgOffDlyBlink lgOffDlyNewTime lgOffDlyOldTime lgOffDlyStep lgOffLevel lgOffTime lgOffTimeMode lgOnDly lgOnDlyMode lgOnLevel lgOnLvlPrio lgOnMinLevel lgOnTime lgOnTimeMode lgRampOffTime lgRampOnTime lgRampSstep pairCentral powerUpAction shActionTypeDim shCtDlyOff shCtDlyOn shCtOff shCtOn shCtRampOff shCtRampOn shCtValHi shCtValLo shDimJtDlyOff shDimJtDlyOn shDimJtOff shDimJtOn shDimJtRampOff shDimJtRampOn shDimMaxLvl shDimMinLvl shDimStep shMultiExec shOffDly shOffDlyBlink shOffDlyNewTime shOffDlyOldTime shOffDlyStep shOffLevel shOffTime shOffTimeMode shOnDly shOnDlyMode shOnLevel shOnLvlPrio shOnMinLevel shOnTime shOnTimeMode shRampOffTime shRampOnTime shRampSstep sign statusInfoMinDly statusInfoRandom transmitTryMax

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

rvideobaer

#3
Hallo Helmut,

ja den Dummy kannst Du Dir sparen.
Mache mal ein get <dein dimmer > regTable, get <dein dimmer > regList dann sollte man das Register sehen und den peer Deiner Fernbedienung.

Gruß Rolf
Raspberry Pi 2, HM-Uart,1x HM-LC-Sw1PBU-FM, 1x HM-RC-2-PBU-FM,1x HM-LC-SW4-DR,1x HM-LC-Sw1-Pl-DN-R1,1x HM-TC-IT-WM-W-EU, 5x HM-CC-RT-DN und noch mehr

rvideobaer

Hallo,

habe noch mal geschaut, war schon eine weile her.
set Decke regSet lgOnLevel 11 FB_WZ_Btn_02
set Decke regSet shOnLevel 11 FB_WZ_Btn_02

diese beiden sollten gesetzt werden.

Gruß Rolf
Raspberry Pi 2, HM-Uart,1x HM-LC-Sw1PBU-FM, 1x HM-RC-2-PBU-FM,1x HM-LC-SW4-DR,1x HM-LC-Sw1-Pl-DN-R1,1x HM-TC-IT-WM-W-EU, 5x HM-CC-RT-DN und noch mehr

martinp876

für mich ein typischer Fall für ein Template. Ich würde eines nehmen welches für short und long separat genutzt werden kann.

Das sollte man immer habe (HMinfo für die Übersicht, HMtemplate als Template editor)
define hm HMinfo
define ht HMtemplate


das Template habe ich einmal schnell erstellt (kann man mit dem Template editor
set hm templateDef dimOnLevel onLevel:rampTime "dim on to a level with ramp time" DimJtRampOff:dlyOn OnTime:unused DimJtOn:no OffTime:unused DimJtOff:dlyOn OffTimeMode:absolut DimJtRampOn:on OnDlyMode:setToOff DimMaxLvl:100 RampOnTime:p1 OnTimeMode:absolut RampSstep:5 OnLvlPrio:high DimMinLvl:0 DimStep:5 DimJtDlyOff:dlyOn OffLevel:0 OnMinLevel:10 ActionTypeDim:jmpToTarget MultiExec:off OnDly:0 OffDly:0 OnLevel:p0 DimJtDlyOn:rampOn

Das Template ist jetzt nutzbar (Am Ende Save nicht vergessen)
nun entweder menügeführt über das Frontend des HMTemplate (Info auf der Webseite nicht überlesen - nach jeden Kommando is tein refresh notwendig - leider)

set ht select dimOnLevel
attr ht tpl_param_rampTime 10
attr ht tpl_param_onLevel 40
attr ht tpl_entity <select dimmer from list>
refresh
attr ht tpl_eType [short|long]
refresh
attr ht tpl_ePeer <select peer from list>
set ht apply
#next peer
attr ht tpl_param_rampTime 30
attr ht tpl_param_onLevel 90
attr ht tpl_eType [short|long]
refresh
attr ht tpl_ePeer <select peer from list>



oder direkt - ohne Menü in einem Kommando
set hm templateSet <dimmer_chanel> dimOnLevel <peer>:[long|short] <onlevel> <rampTime>

dann unbedingt ein
save

Das Template sowie die Zuweisung zum Dimmer werden gespeichert.
Mit
get hm templateUsg
siehst du, was genutzt wird. Es gibt noch einige weitere Details...

Helmi55

Hallo rvideobaer
Danke so hat es funktioniert. 

@martinp876
Auch Danke werde ich mir ansehen. Hm Info habe ich im Einsatz

Nice eve
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/