Hallo,
möchte meinen Dimmaktor in die WebCmd integrieren. Die Schaltoperationen sind hier beschreiben :https://wiki.fhem.de/wiki/HM-LC-DIM1T-FM_1-Kanal-Dimmer_UP (https://wiki.fhem.de/wiki/HM-LC-DIM1T-FM_1-Kanal-Dimmer_UP) jedoch kann ich wenig damit anfangen.
In der WebCmd möchte ich den Dimmer ein- bzw. ausschalten und die Helligkeit über einen Slider einstellen können.
Dazu habe ich folgende Dummys angelegt:
define Softbutton_Esstisch_Dimmaktor dummy
attr Softbutton_Esstisch_Dimmaktor room 60_Esstischleuchte_1
attr Softbutton_Esstisch_Dimmaktor webCmd on:off
define Helligkeit_Esstisch_Dimmaktor dummy
attr Helligkeit_Esstisch_Dimmaktor room 60_Esstischleuchte_1
attr Helligkeit_Esstisch_Dimmaktor setList setList state:slider,1,1,100
attr Helligkeit_Esstisch_Dimmaktor webCmd state
Wie kann ich den aktuellen Status ein/aus und die aktuelle eingestellte Helligkeit den Dummy übergeben? Und wie verknüpfe ich die beiden Dummys mit dem Aktor? Über DOIF oder gibt es auch noch andere Möglichkeiten, die evtl einfacher sind.
Hier noch der Dimmaktor in der fhem.cfg
attr HM_4B137F IODev meinLGW
attr HM_4B137F alias Dimmaktor
attr HM_4B137F autoReadReg 4_reqStatus
attr HM_4B137F expert 2_raw
attr HM_4B137F firmware 2.9
attr HM_4B137F model HM-LC-Dim1TPBU-FM
attr HM_4B137F room 60_Esstischleuchte_1
attr HM_4B137F serialNr NEQ0388143
attr HM_4B137F subType dimmer
attr HM_4B137F webCmd getConfig:clear msgEvents
define FileLog_HM_4B137F FileLog /opt/fhem/log/HM_4B137F-%Y.log HM_4B137F
attr FileLog_HM_4B137F logtype text
attr FileLog_HM_4B137F room 60_Esstischleuchte_1
define HM_4B137F_Sw CUL_HM 4B137F01
attr HM_4B137F_Sw model HM-LC-Dim1TPBU-FM
attr HM_4B137F_Sw peerIDs 00000000,
attr HM_4B137F_Sw webCmd statusRequest:toggle:on:off:up:down
define HM_4B137F_Sw1_V_01 CUL_HM 4B137F02
attr HM_4B137F_Sw1_V_01 model HM-LC-Dim1TPBU-FM
attr HM_4B137F_Sw1_V_01 peerIDs 00000000,
attr HM_4B137F_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
define HM_4B137F_Sw1_V_02 CUL_HM 4B137F03
attr HM_4B137F_Sw1_V_02 model HM-LC-Dim1TPBU-FM
attr HM_4B137F_Sw1_V_02 peerIDs 00000000,
attr HM_4B137F_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
Aus den anderen Beiträgen hier im Forum konnte ich nichts anfangen.
Ich kenne den Dimmer jetzt nicht, habe aber andere Homematic Geräte...
So wie es aussieht hat das Gerät 3 Kanäle!?
Und bei 2 davon gibt es doch die von dir gewünschten Kommandos bereits:
attr HM_4B137F_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
attr HM_4B137F_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
Den dummy brauchst du doch gar nicht dann, oder!?
Siehe mal hier:
https://forum.fhem.de/index.php/topic,68310.msg598080.html
Als Tipp:
zukünftig besser ein list des betroffenen Gerätes statt dem Auszug aus der Config:
list <DEVICE-NAME>
oben in das Web-Cmd und dann Enter und die Ausgabe hier in code-Tags ('#' Zeichen im Menü) posten...
Gruß, Joachim
Zitat von: inter#79 am 03 März 2017, 16:05:29
Hallo,
möchte meinen Dimmaktor in die WebCmd integrieren. Die Schaltoperationen sind hier beschreiben :https://wiki.fhem.de/wiki/HM-LC-DIM1T-FM_1-Kanal-Dimmer_UP (https://wiki.fhem.de/wiki/HM-LC-DIM1T-FM_1-Kanal-Dimmer_UP) jedoch kann ich wenig damit anfangen.
In der WebCmd möchte ich den Dimmer ein- bzw. ausschalten und die Helligkeit über einen Slider einstellen können.
Bzw. ist mir nicht ganz klar was du hier (genau) möchtest...
Gruß, Joachim
Hallo, danke schon mal für die Antwort.
Jetzt versteh ich schon mal die drei Kanäle. Die Kanäle habe ich nicht dem Raum zugeordnet und total übersehen.
Aber irgendwie kann ich die Leuchte über die Kanäle nicht schalten. Habe jetzt auch notifys angelegt, auch kein Erfolg
define n_Esszimmerleuchte_on notify HM_4B137F_Sw1_V_02:on set Dimmaktor on
attr n_Esszimmerleuchte_on room 60_Esstischleuchte_1
define n_Esszimmerleuchte_off notify HM_4B137F_Sw1_V_02:off set Dimmaktor off
attr n_Esszimmerleuchte_on room 60_Esstischleuchte_1
Ich würde mal "up/down" als dimme hoch/runter interpretieren... ;)
Aber wie gesagt ich kenne Homematic (und auch Geräte mit verschiedenen Kanälen für verschidene Funktionen) aber nicht das spezielle Gerät hier...
Die Werte direkt anzeigen steuern in TabletUI geht nicht?
Also wie du siehst kenne ich auch das nicht ;)
Geht es z.B. ein ReadingsProxy in TabletUI anzuzeigen?
Dort gibt es Funktionen wo du angeben kannst wo/wie die Werte herkommen und wie sie beeinflusst werden (im "Original-Gerät"), wenn im ReadingsProxy über TabletUI was verändert wird.
Ansonsten wüsste ich nur:
per notify auf den dummy reagieren und dann den entsprechenden Wert im "Original Gerät" setzen...
Aber ob das nun schön ist...
Gruß, Joachim
Danke für dein Infos.
Es muss auch ohne Dummys im Tablet Ui gehen. Das versuche ich dann mal.
Aber warum schaltet der Dimmer trotz Notify nicht ein und aus?
Es schaltet plötzlich ein und aus. Jetzt muss nur noch das Dimmen klappen. Mit Up und Down funktionierts.
Möchte aber einen Slider angezeigt bekommen zum einstellen, der jedoch springt irgendwie komisch mit folgender WebCmd Zeile:
webCmd statusRequest:toggle:on:off:up:down:pct
Und was auch komisch ist, wenn ich dimme, verschwindet der status Lampe Ein. Vielleicht ist hier doch ein Dummy zum Anzeigen ein/aus sinnvoll.
Weil der notify auf ein Schalten des Dimmer reagiert und diesen NICHT schaltet so wie ich den Notify lese.
Also der DimmerSchalter "HM_4B137F_Sw1_V_02" wird auf "on" gestellt darauf hin "feuert" dieser den Event "HM_4B137F_Sw1_V_02 on" (nehme ich an / ist im EbentMonitor zu sehen was kommt) daraufin schaltet der notify dann das Gerät "Dimmaktor" (was immer das ist) auf "on".
Wenn du willst, dass ein Drücken auf einen Dummy-Knopf "on" den Dimmer einschaltet, dann den EventMonitor aufmachen und schauen was kommt, wenn du den Dummy auf "on" schaltest.
Dazu dann ein Notify "bauen" und da dann den "set HM_4B137F_Sw1_V_02 on" auslösen (vors. der Dimmer schaltet dann so ein).
Ausschalten genauso...
Gruß, Joachim
Das klappt soweit. Aber der Dimmwert pct spielt verrückt.
Wenn ich den Schieber bewege, sendet er den Wert, kurze Zeit später springt aber pct auf irgendeinen anderen nachvollziehbaren Wert. Hatte schon mal jemand die gleichen Probleme?
Hier der Auszug aus dem Event Monitor
2017.03.03 19:09:51 3 : CUL_HM set HM_4B137F_Sw pct 892017-03-03 19:09:51 CUL_HM HM_4B137F CMDs_done
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw deviceMsg: 68 (to meinLGW)
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw dim: up:68
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw level: 68
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw overheat: off
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw overload: off
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw pct: 68
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw reduced: off
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw chn:68 phys:39
2017-03-03 19:09:51 CUL_HM HM_4B137F_Sw timedOn: off
2017-03-03 19:09:56 CUL_HM HM_4B137F CMDs_done
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw deviceMsg: 89 (to meinLGW)
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw dim: stop:89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw level: 89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw overheat: off
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw overload: off
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw pct: 89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw phyLevel: 89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw reduced: off
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw 89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw timedOn: off
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw1_V_01 phyLevel: 89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw1_V_01 chn:off phys:89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw1_V_02 phyLevel: 89
2017-03-03 19:09:56 CUL_HM HM_4B137F_Sw1_V_02 chn:off phys:89
Du kannst mal die Suche anwerfen, habe hier im Forum einiges gefunden bzgl. dieses Dimmers...
...bzw. vergleichbar (hab jetzt nicht so genau gekuckt)...
Wie gesagt leider habe ich den Dimmer nicht und kenne ihn auch nicht wirklich...
Evtl. den Thread mal ins Unterforum Homematic verschieben...
Hast du (noch) irgendwelche notify etc. die evtl. auf den pct wieder einwirken??
Gruß, Joachim
Nein habe keine notify für den pdc. Aber vielen Dank für deine Hilfe :)
Hmmm...
Gerne!
So viel hab ich ja nicht gemacht...
Viel Erfolg noch!
Gruß, Joachim
Kennt jemand das Problem mit dem Dimmwert?
Mache ich die Grundeinstellungen über den Netfinder von Homematic?
Welche Grundeinstellungen?
Wenn du Register meinst, die kannst du auch über fhem setzen:
regset...
Hoffe dir kann jemand helfen!
Gruß, Joachim
Mit dem Netfinder kann man glaub die Dimmgeschwindigkeit, Startwert,...... normalerweise eingestellt werden. Aber vermutlich geht das dann über die Register. Das ist Neuland für mich. Da muss ich mich erstmal einarbeiten.
Aber vielleicht hat ja schon einer ein Beispiel bzw. die Lösung
Schon mal im Forum gesucht?
Also einfach mal entweder in die Forumssuche oder generelle Suchmaschine den Gerätetyp eingegeben?
Ich hab das (wie bereits geschrieben) mal gemacht und einige Treffer...
U.a. auch einen Thread wo es um Einstellungen etc. ging...
...vielleicht werden da ja die Register erläutert...
Ansonsten kannst du auch mal ein get regList beim Gerät absetzen (z.B. Detailansicht Weboberfläche) dann bekommst du die Liste möglicher Einstellungen...
Was sie dann bedeuten und welche Werte sinnvoll sind kannst du ja vielleicht rauskriegen wenn du gezielt nach bestimmten Parametern suchst...
Evtl. mal bei anderen HM-Dimmern ins Wiki schauen, vielleicht sind dort Parameter erläutert. Man kann vielleicht dann nicht direkt die dort genannten Werte übernehmen aber man kann vielleicht sehen was der Parameter generell bewirkt/bewirken soll...
Ähnliches gilt auch für das zugehörige ELV-Forum, sofern es für das Gerät Einträge gibt. Auch hier werden dann oft die Parameter erläutert. Eingestellt werden sie halt dann meist per CCU o.ä. aber sollte per regSet auch über fhem gehen...
EDIT: hab grad noch mal geschaut und noch kein list des Dimmers gesehen. Vielleicht stimmt da schon was nicht. Also nicht wie gepostet den Eintrag der Config sondern 'list DimmerName'. Und die Ausgabe dann hier mal einstellen...
Viel Erfolg, Joachim
P.S.: wenn es jetzt dann konkret um Einstellungen geht vielleicht den Thread-Titel konkreter benennen oder evtl. auch gezielt einen neuen öffnen. Vorher vielleicht mal die Suche anwerfen ob es nicht schon einen Thread mit den gesuchten Erläuterungen gibt.
habe nun get reglist gemacht, und genau die einzustellenden Werte tauchen in der Liste auf.
Wenn ich die Tage mehr Zeit habe, muss ich mich mal jetzt mit dieser list auseinander setzen.
list: register | range | peer | description
1: fuseDelay | 0 to 2.55s | | fuse delay
1: logicCombination | literal | | options:mul,plus,minusinv,invMul,plusinv,inactive,orinv,nor,minus,nand,andinv,mulinv,or,invMinus,xor,invPlus,and
1: ovrTempLvl | 30 to 100C | | overtemperatur level
1: powerUpAction | literal | | behavior on power up options:on,off
1: redLvl | 0 to 100% | | reduced power level
1: redTempLvl | 30 to 100C | | reduced temperatur recover
1: sign | literal | | signature (AES) options:on,off
1: statusInfoMinDly | 0 to 15.5s | | status message min delay special:unused
1: statusInfoRandom | 0 to 7s | | status message random delay
1: transmitTryMax | 1 to 10 | | max message re-transmit
3: lgActionTypeDim | literal | required | options:toggelDim,upDim,downDim,toggleToCntInv,toggleToCnt,off,jmpToTarget,toggelDimToCnt,toggelDimToCntInv
3: lgCtDlyOff | literal | required | Jmp on condition from delayOff options:geLo,ltLo,outside,between,ltHi,geHi
3: lgCtDlyOn | literal | required | Jmp on condition from delayOn options:geLo,ltLo,outside,between,ltHi,geHi
3: lgCtOff | literal | required | Jmp on condition from off options:geLo,ltLo,between,outside,geHi,ltHi
3: lgCtOn | literal | required | Jmp on condition from on options:geHi,ltHi,between,outside,ltLo,geLo
3: lgCtRampOff | literal | required | Jmp on condition from rampOff options:geLo,ltLo,outside,between,ltHi,geHi
3: lgCtRampOn | literal | required | Jmp on condition from rampOn options:between,outside,geHi,ltHi,geLo,ltLo
3: lgCtValHi | 0 to 255 | required | Condition value high for CT table
3: lgCtValLo | 0 to 255 | required | Condition value low for CT table
3: lgDimElsActionType | literal | required | options:toggelDimToCntInv,jmpToTarget,toggelDimToCnt,toggleToCnt,off,toggleToCntInv,downDim,upDim,toggelDim
3: lgDimElsJtDlyOff | literal | required | else Jump from delayOff options:rampOn,on,off,dlyOff,rampOff,no,dlyOn
3: lgDimElsJtDlyOn | literal | required | else Jump from delayOn options:dlyOn,no,rampOff,on,rampOn,off,dlyOff
3: lgDimElsJtOff | literal | required | else Jump from off options:on,rampOn,dlyOff,off,dlyOn,no,rampOff
3: lgDimElsJtOn | literal | required | else Jump from on options:dlyOn,no,rampOff,off,dlyOff,on,rampOn
3: lgDimElsJtRampOff | literal | required | else Jump from rampOff options:no,dlyOn,rampOff,on,rampOn,dlyOff,off
3: lgDimElsJtRampOn | literal | required | else Jump from rampOn options:off,dlyOff,rampOn,on,rampOff,dlyOn,no
3: lgDimElsOffTimeMd | literal | required | options:absolut,minimal
3: lgDimElsOnTimeMd | literal | required | options:absolut,minimal
3: lgDimJtDlyOff | literal | required | Jump from delayOff options:no,dlyOn,rampOff,on,rampOn,off,dlyOff
3: lgDimJtDlyOn | literal | required | Jump from delayOn options:off,dlyOff,rampOn,on,rampOff,no,dlyOn
3: lgDimJtOff | literal | required | Jump from off options:dlyOn,no,rampOff,on,rampOn,dlyOff,off
3: lgDimJtOn | literal | required | Jump from on options:rampOn,on,dlyOff,off,rampOff,no,dlyOn
3: lgDimJtRampOff | literal | required | Jump from rampOff options:off,dlyOff,on,rampOn,no,dlyOn,rampOff
3: lgDimJtRampOn | literal | required | Jump from rampOn options:rampOff,dlyOn,no,rampOn,on,off,dlyOff
3: lgDimMaxLvl | 0 to 100% | required | dimMaxLevel
3: lgDimMinLvl | 0 to 100% | required | dimMinLevel
3: lgDimStep | 0 to 100% | required | dimStep
3: lgMultiExec | literal | required | execution per repeat message options:off,on
3: lgOffDly | 0 to 111600s | required | off delay
3: lgOffDlyBlink | literal | required | blink when in off delay options:off,on
3: lgOffDlyNewTime | 0.1 to 25.6s | required | off delay blink time for low
3: lgOffDlyOldTime | 0.1 to 25.6s | required | off delay blink time for high
3: lgOffDlyStep | 0.1 to 25.6% | required | off delay step if blink is active
3: lgOffLevel | 0 to 100% | required | PowerLevel off
3: lgOffTime | 0 to 111600s | required | off time special:unused
3: lgOffTimeMode | literal | required | off time meant absolut or at least options:absolut,minimal
3: lgOnDly | 0 to 111600s | required | on delay
3: lgOnDlyMode | literal | required | options:setToOff,NoChange
3: lgOnLevel | 0 to 100.5% | required | PowerLevel on special:oldLevel
3: lgOnLvlPrio | literal | required | options:high,low
3: lgOnMinLevel | 0 to 100% | required | minimum PowerLevel
3: lgOnTime | 0 to 111600s | required | on time special:unused
3: lgOnTimeMode | literal | required | on time meant absolut or at least options:minimal,absolut
3: lgRampOffTime | 0 to 111600s | required | rampOffTime
3: lgRampOnTime | 0 to 111600s | required | rampOnTime
3: lgRampSstep | 0 to 100% | required | rampStartStep
3: shActionTypeDim | literal | required | options:toggelDim,upDim,downDim,toggleToCntInv,toggleToCnt,off,jmpToTarget,toggelDimToCnt,toggelDimToCntInv
3: shCtDlyOff | literal | required | Jmp on condition from delayOff options:geLo,ltLo,outside,between,ltHi,geHi
3: shCtDlyOn | literal | required | Jmp on condition from delayOn options:geLo,ltLo,outside,between,ltHi,geHi
3: shCtOff | literal | required | Jmp on condition from off options:geLo,ltLo,between,outside,geHi,ltHi
3: shCtOn | literal | required | Jmp on condition from on options:geHi,ltHi,between,outside,ltLo,geLo
3: shCtRampOff | literal | required | Jmp on condition from rampOff options:geLo,ltLo,outside,between,ltHi,geHi
3: shCtRampOn | literal | required | Jmp on condition from rampOn options:between,outside,geHi,ltHi,geLo,ltLo
3: shCtValHi | 0 to 255 | required | Condition value high for CT table
3: shCtValLo | 0 to 255 | required | Condition value low for CT table
3: shDimElsActionType | literal | required | options:toggelDimToCntInv,jmpToTarget,toggelDimToCnt,toggleToCnt,off,toggleToCntInv,downDim,upDim,toggelDim
3: shDimElsJtDlyOff | literal | required | else Jump from delayOff options:rampOn,on,off,dlyOff,rampOff,no,dlyOn
3: shDimElsJtDlyOn | literal | required | else Jump from delayOn options:dlyOn,no,rampOff,on,rampOn,off,dlyOff
3: shDimElsJtOff | literal | required | else Jump from off options:on,rampOn,dlyOff,off,dlyOn,no,rampOff
3: shDimElsJtOn | literal | required | else Jump from on options:dlyOn,no,rampOff,off,dlyOff,on,rampOn
3: shDimElsJtRampOff | literal | required | else Jump from rampOff options:no,dlyOn,rampOff,on,rampOn,dlyOff,off
3: shDimElsJtRampOn | literal | required | else Jump from rampOn options:off,dlyOff,rampOn,on,rampOff,dlyOn,no
3: shDimElsOffTimeMd | literal | required | options:absolut,minimal
3: shDimElsOnTimeMd | literal | required | options:absolut,minimal
3: shDimJtDlyOff | literal | required | Jump from delayOff options:no,dlyOn,rampOff,on,rampOn,off,dlyOff
3: shDimJtDlyOn | literal | required | Jump from delayOn options:off,dlyOff,rampOn,on,rampOff,no,dlyOn
3: shDimJtOff | literal | required | Jump from off options:dlyOn,no,rampOff,on,rampOn,dlyOff,off
3: shDimJtOn | literal | required | Jump from on options:rampOn,on,dlyOff,off,rampOff,no,dlyOn
3: shDimJtRampOff | literal | required | Jump from rampOff options:off,dlyOff,on,rampOn,no,dlyOn,rampOff
3: shDimJtRampOn | literal | required | Jump from rampOn options:rampOff,dlyOn,no,rampOn,on,off,dlyOff
3: shDimMaxLvl | 0 to 100% | required | dimMaxLevel
3: shDimMinLvl | 0 to 100% | required | dimMinLevel
3: shDimStep | 0 to 100% | required | dimStep
3: shMultiExec | literal | required | reg unused, placeholder only options:off,on
3: shOffDly | 0 to 111600s | required | off delay
3: shOffDlyBlink | literal | required | blink when in off delay options:off,on
3: shOffDlyNewTime | 0.1 to 25.6s | required | off delay blink time for low
3: shOffDlyOldTime | 0.1 to 25.6s | required | off delay blink time for high
3: shOffDlyStep | 0.1 to 25.6% | required | off delay step if blink is active
3: shOffLevel | 0 to 100% | required | PowerLevel off
3: shOffTime | 0 to 111600s | required | off time special:unused
3: shOffTimeMode | literal | required | off time meant absolut or at least options:absolut,minimal
3: shOnDly | 0 to 111600s | required | on delay
3: shOnDlyMode | literal | required | options:setToOff,NoChange
3: shOnLevel | 0 to 100.5% | required | PowerLevel on special:oldLevel
3: shOnLvlPrio | literal | required | options:high,low
3: shOnMinLevel | 0 to 100% | required | minimum PowerLevel
3: shOnTime | 0 to 111600s | required | on time special:unused
3: shOnTimeMode | literal | required | on time meant absolut or at least options:minimal,absolut
3: shRampOffTime | 0 to 111600s | required | rampOffTime
3: shRampOnTime | 0 to 111600s | required | rampOnTime
3: shRampSstep | 0 to 100% | required | rampStartStep
LgDimStep.
Je kleiner der Wert um so langsamer wird gefahren.
Kann ich zum Beispiel den Wert des LgDimStep im WebCmd anziegen lassen? Bzw. z.B über einen Slider ändern? Dazu müsste ich doch dann setList machen, aber irgendwie kann ich setList nicht finden bzw. müsste ich dann setReg nutzen?
Hat das schon jemand von Euch gemacht?
Hier solltest du alle Antworten finden:
https://wiki.fhem.de/wiki/HomeMatic#Register
Der Befehl lautet regSet...
Und ja, Register generell habe ich schon gesetzt...
...allerdings andere Register bei anderen Homematic Geräten...
Gruß, Joachim
Vielen dank für deine Geduld.
Wenn ich es richtig verstanden habe, muss ich das Register mit einem Slider indirekt realisieren. Habe mir nun einen Dummy mit Slider angelegt und versucht ein Notify zu erstellen, das mir den Wert in das Register schreibt.
Ich möchte den Startwert des Dimmers herabsetzen, und hab jetzt sämtliche Register schon versucht zu ändern, was auch möglich ist, da die geänderten Werte in den Registern auftauchen.
Aber bei einschalten sind es noch immer 100%. Habe ich die falschen Register? Es müsste doch das shOnLevel sein oder nicht?
Hier die 4 Register an denen ich mich versucht habe:
shDimMaxLvl
lgDimMaxLvl
shOnLevel
lgOnLevel
Hier mein Dummy und Notify:
define du_lgDimMaxLvl dummy
attr du_lgDimMaxLvl room 60_Esstischleuchte_1
attr du_lgDimMaxLvl setList state:slider,0,1,100
attr du_lgDimMaxLvl webCmd state
define n_lgDimMaxLvl notify du_lgDimMaxLvl set HM_4B137F_Sw regSet lgDimMaxLvl $EVENT self01
attr n_lgDimMaxLvl room 60_Esstischleuchte_1
Register sind Einstellungen am Gerät die man normalerweise einmal macht und bei Bedarf korrigiert...
...nichts was mal mit einem notify "ständig" ändert/anpasst...
...oder verstehe ich das notif etc. falsch.
Martin hat doch schon einen Hinweis auf ein Register gegeben, was hilft/helfen könnte...
Und bevor du wild Register einstellst solltest du erst mal herausfinden was die so tun (gut das sieht man [teilweise] anhand der Beschreibung von der Registerliste) und welche Werte für bestimmte Dinge die du erreichen willst etwas bringen...
Gruß, Joachim
Das Notify möchte ich nur für mich zum Einstellen nutzen auf der WebCmd. In der TabletUi tauchen die Einstellungen nicht auf. Liegt der Fehler daran evtl. mit den drei Kanälen zusammen?
HM_4B137F_Sw
HM_4B137F_Sw1_V_01
HM_4B137F_Sw1_V_02
Ich nutze den ersten Kanal HM_4B137F_Sw um den Aktor zu schalten. Aber schreibe ja im notify self 01.
Verstehe immer noch nicht warum du einen notify/dummy brauchst/willst...
Du kannst doch einfach das regSet Kommando in die Web-Cmd eintippen und gut...
Gut, du musst dann nicht verschiedene Werte eintippen...
...aber warum etwas simples wie einmalig ein Register ändern so verkomplizieren??
Außerdem: welcher Fehler??
Weil ich konnte nicht finden, dass du etwas bzgl. eines Fehlers geschrieben hättest.
Was kommt denn, wenn du die Zeile/Befehl des notify in die Web-Cmd eingibst?
Wie bist du auf die Register gekommen, die du verändern willst?
Machen die was du brauchst?
Macht der Vorschlag von Martin keinen Sinn??
Gruß, Joachim
Ja, hellsehen ist schwer ::)
Folgendenden Fehler habe ich:
Wenn ich den Wert ändere, egal ob direkt per regset im Register R-self01-shOnLevel auf 20 oder andere Werte sehe ich auch im Register den Wert. Beim Einschalten des Dimmers mit der Taste springt dieser auf 100.
Über den chanNo 01 kann ich den Dimmer über Webcmd schalten und Dimmen. Nutze ich die beiden anderen chanNo 02 und chanNo 03 dann kann ich auch das Licht nicht schalten oder Dimmen. Wem sind die Register R-self01 und R-self02 zugeordnet?
In der peerList sind self01 und self02 eingetragen.
Liegt es evtl. am peeren? Habe hier eine https://wiki.fhem.de/wiki/Homematic_Peering_Beispiele (https://wiki.fhem.de/wiki/Homematic_Peering_Beispiele) gefunden, komme mit den Befehlen nicht klar was sie wirklich machen
Du peerst (normalerweise) zwei Kanäle zweier unterschiedlicher HM-Geräte (wie dort geschrieben).
Z.B. Einen Schaltsender mit einem Schaltaktor. Dadurch schickt der Schaltsender direkt ein Signal an den Schaltaktor und das Licht (oder was immer der Schaltaktor schaltet) geht ohne laufende Zentrale an.
Ob das ein Fehler ist weiß ich nicht, wenn dann nicht erwartetes Verhalten...
Mit welchem Schalter schaltest du?
Gepeertem "echten" Schalter oder per Knopf auf der Weboberfläche?
Noch mal: bevor du wild irgendwelche Register änderst würde ich erst mal herausfinden was sie tun/was die Auswirkungen sind und welche Werte sinnvoll sind.
Schon mal nach den Registern gesucht?!
(Forum oder Web)
Schon mal andere Threads bzgl. Homematic Dimmer (deinem oder ähnliche) durchgelesen?!
Ich selbst habe keinen Homematic Dimmer und kann dir daher bzgl. Register etc. nicht helfen...
Viel Erfolg, Joachim
Jetzt muss ich doch nich mal was fragen. Wenn ich die drei Kanäle
HM_4B137F_Sw
HM_4B137F_Sw1_V_01
HM_4B137F_Sw1_V_02
habe, dann sollte doch der Dimmer auch über das WebCmd von HM_4B137F_Sw1_V_01 und HM_4B137F_Sw1_V_02 geschaltet werden können oder nicht?
Endlich habe ich den Startwert auf 20% bei R-self01-shOnLevel und R-self02-shOnLevel setzen können und beim ei schalten hat der Dimmer dann auch 20%. Habe den Dimmaktor neu gepairt.
Wenn ich aber aus der fhem einschalte macht er wieder 100% beim einschalten. Muss ich dies über ein Notify lösen?
Da wird das notify nicht helfen, am Ende ist es ja auch wieder ein set-Befehl...
Aber du kannst doch beim set pct auf 20% setzen, oder!?
Evtl. mal gezielt einen neuen Thread aufmachen für genau ein Problem...
...und am besten auch das Problem im Thread nennen...
Gruß, Joachim
Zitat von: inter#79 am 09 März 2017, 16:36:36
Jetzt muss ich doch nich mal was fragen. Wenn ich die drei Kanäle
HM_4B137F_Sw
HM_4B137F_Sw1_V_01
HM_4B137F_Sw1_V_02
habe, dann sollte doch der Dimmer auch über das WebCmd von HM_4B137F_Sw1_V_01 und HM_4B137F_Sw1_V_02 geschaltet werden können oder nicht?
Das Verhalten der virtuellen Kanäle muss aber vorher noch konfiguriert werden.
Siehe https://www.elv.de/elektronikwissen/virtuelle-homematic-aktorkanaele-und-ihre-verknuepfungslogik.html (https://www.elv.de/elektronikwissen/virtuelle-homematic-aktorkanaele-und-ihre-verknuepfungslogik.html)
Von hinten durch die Brust ins Auge :D ...
Ein paar Hinweise:
Moderne Dimmer haben drei Kanäle, einen realen und zwei virtuelle (_V_01 und _V_02 beim autocreate, beliebig umzubenennen). Diese Kanäle können trickreich für Direktverknüpfungen benutzt werden, hierbei hilft eine CCU- oder Konfiguratoroberfläche sehr, es geht aber auch in FHEM, ist aber etwas trickreich.
Default führen Manipulationen (Schalten, Dimmen) auf den virtuellen Kanälen zu keiner realen Aktion, weil die internen logischen Verknüpfungen deaktiviert sind.
Damit bleibt als erster Anlaufpunkt für alle Aktionen der erste (physikalische) Kanal.
self01 und self02 werden im Gerät sichtbar gemacht und stehen für alle drei Kanäle als Verknüpfungspartner zur Verfügung. Default sind sie sogar gepeert (zumindest bei mir).
Die Registersätze gelten jeweils für einen Verknüpfungspartner. Man kann also - wie hier schon geschehen - die Einschaltlevel (shOnLevel) begrenzen für den internen Taster - das gilt dann aber nur für diesen. Weitere Verknüpfungspartner haben wiederum eigene shOnLevel. Eine globale Einstellung gibt es m.W. nicht.
Daher wird auch FHEM immer bei "set ... on" auf 100% dimmen. "set ... pct x" (x=0-100) stellt einen Dimmlevel direkt ein. Daneben gibt es noch mehr Möglichkeiten mit Vorgabe der Rampenzeit etwa. "..." steht für den Namen des ersten Dimmerkanals.
Mit "attr ... webCmd aus:pct:an" habe ich ein recht einfaches Interface mit Slider. Dessen Verhalten folgt dem Steuer- und Rückmeldeverhalten des Dimmers. Schiebe ich den Slider etwa von 0 auf 38, passiert folgendes:
- Der Dimmer wird angesteuert und meldet den Start der Dimmrampe mit einem um 0.5 versetzen Wert des Startwertes zurück
- Dadurch springt der Slider auf 0
- Nach Erreichen von 38% meldet der Dimmer, dass er die 38% erreicht hat
- Dadurch springt der Slider auf 38.
Gleichzeitig ändert sich das (voreingestellte) Anzeigesymbol von der ausgeschalteten Lampe auf die Zahl 38. Erst bei 100 wird wieder die (gelb leuchtende) Lampe zu sehen sein. Hier kann man mit dem Attribut devStateIcon tunen. Bei Rollos gibt es Beispiele für 10%-weise Positionen, es gibt einen solchen Iconsatz auch für Lampen (light_light_dim_... etwa).
Wohlgemerkt: Das alles gilt für die Anzeige des Dimmerkanals selbst direkt in der Weboberfläche. Eine Steuerung über einen Dummy muss dann mit geeigneten Notifys erfolgen. Theoretisch ließe sich "off" mit "0" und "on" mit "100" ersetzen (Attribut "eventMap") und dann der Status des Dummys per Notify direkt als pct-Wert in den Dimmerkanal setzen. Praktisch nutze ich das nicht und will daher lieber kein falsches Beispiel geben.