Hallo zusammen,
Derzeit stelle ich von FS20 auf HM um. Mehrere Wandsender kann ich allerdings noch nicht ablösen.
Aktuell: FS20 Wandsender steuert mit einem Kanal einen FS20 Dimmer (Befehl DimUpDown)
Ziel: FS20 Wandsender steuert HM Dimmer HM-LC-Dim1L-PI:
- Taste kurz gedrückt: toggle (leicht über ein notify realisierbar)
- Taste lang gedrückt: HM Dimmer mit FS20 DimUpDown verhalten
Das Problem:
Ich finde in der Doku nur RampOn und RampOff, dafür brauche ich aber 2 Kanäle, wenn ich das richtig verstanden habe.
Auch bei http://www.homematic-inside.de/tecbase/homematic/development/item/experten-modus-verstehen (//www.homematic-inside.de/tecbase/homematic/development/item/experten-modus-verstehen)
habe ich nichts gefunden (oder es nicht verstanden)
Was muss ich tun, um das FS20 Verhalten beim HM Dimmer zu bekommen ?
Hallo DC
jetzt kennen ich fs20 nicht und auch nicht das verhalten der Wandsender.
Bei HM schickt ein sender bei langem druck alle ~0.4 sec einen trigger. Wie macht dies FS20? Kommen da regelmaessige trigger, die man umsetzen kann? dann ist es nicht sooo kompliziert.
Lass mal hören
Gruss
Martin
Bei FS20 gibt es einen Befehl DimUpDown:
Der Aktor merkt sich, in welche Richtung er zuletzt gedimmt hat. Es wird solange gedimmt, bis 100% bzw. 0% erreicht sind, dann wird die Richtung umgeschaltet.
Beispiel: aus, heller, heller, heller, an, dunkler dunkler, dunkler, aus, heller, heller.... usw.
Dadurch kann man mit einer Taste den Dimmer komplett steuern. Der FS20 Sender sendet bei langer Betätigung diesen DimUpDown Befehl. Der Befehl wird alle 1-2 Sekunden wiederholt, solange die Taste gedrückt ist. Bei kurzer Betätigung der Taste wird der Toggle Befehl gesendet. Eigentlich ähnlich wie beim HM Schalter. Der sendet ja auch "Btn_0x Long" und "Btn_0x Short".
Mein Ansatz ist ein Notify:# --- FS20 -> HM Notifies ---
define FS2HM_Dimmer.toggle notify FS20_Dimmer.toggle set HM_Dimmer toggle
define FS2HM_Dimmer.dim notify FS20_Dimmer.dimupdown set HM_Dimmer xxxxx
Die zweite Zeile funktioniert, für die dritte Zeile finde ich den notwendigen Befehl nicht.
ZitatBei FS20 gibt es einen Befehl DimUpDown:
Der Aktor merkt sich, in welche Richtung er zuletzt gedimmt hat.Es wird solange gedimmt, bis 100% bzw. 0% erreicht sind, dann wird die Richtung umgeschaltet.
das verstehe ich so nicht. Auch bei FS20 muss der Aktor erfahren, wie lange gedrückt wurde und wann lossgelassen wird.
Ich rede nicht von den FHEM kommandos. Hier kann HM und sicher auch FS20 ein Kommandos gesendet werden das gestlegt - in einem Kommando - auf welchen Level und in welcher Zeit gedimmt werden soll. Das ich aber nicht dein Problem - oder?
Du willst auf einen taster druecken und das licht soll so lange heller oder dunkler werden bis du los laesst.
=> bin ich auf der richtigen Spur?
Einen HM-taster kann man so peeren, dass mit einer Taste hoch oder runter gedimmt werden kann, kein Problem. Aber dein FS20 dimmer kann nicht gepeert werden, das muss ueber FHEM gemacht werden.
ah - da stehts: der FS20 schalter sendet alle 1-2sec. Das ist eine grosse Toleranz.
High level: Du musst also den HM Aktor so einstellen, dass er 2 sec lang in eine Richtung dimmt. Wenn dann das naechste kommando kommt, wieder 2 sec. Wenn nicht ist stop.
Eine kürzere Zeit waere schöner - aber du solltest die maximal erlaubte nehmen.
Du musst einen 'Link' hernehmen, in dem du das Verhalten des Aktors definieren kannst.
a) du erzeugst einen virtuellen Schalter
- define vb CUL_HM 112233
- set vb virtual 1 # 1 button sollte reichen
b) du peerst ihn (erzeugst den Link)
- set vb_Btn1 devicepair 0 <dimmerchannel> set single
c) du programmierst den aktor/channel/link
set <dimChan> regSet <name> <value>
lgDimStep | 0 to 100%
lgRampOffTime | 0 to 111600s schrittdauer
lgRampOnTime | 0 to 111600s schrittdauer
lgRampSstep | 0 to 100% schrittweite je tastendruck/message
d) auslösen kannst du einen schritt dann mit dem Kommando
set vb_Btn1 press short sollte - ohne registeraenerung - die Lampe ein/ausschalten - also toggeln
set vb_Btn1 press long - löst einen dimmstep aus. Sollte zwischen den steps eine zu lange pause sein wird die dimmrichtung geaendert (quasi ein dimm-toggel).
Default dauer zwischen den messages ist 0,4 sec bei HM
Gruss Martin
ZitatDu willst auf einen taster druecken und das licht soll so lange heller oder dunkler werden bis du los laesst.
=> bin ich auf der richtigen Spur?
ja
Zitatein Kommandos gesendet werden das gestlegt - in einem Kommando - auf welchen Level und in welcher Zeit gedimmt werden soll.
Eben genau das ist nicht der Fall. Es gibt weder einen Level noch eine Zeit ! Der Ziel-Level in dem Moment festgelegt, wo das menschlichen Auge ihn erkennt und der Taster losgelassen wird
Zitatset vb_Btn1 press short
set vb_Btn1 press long
Verstehe ich das richtig: Virtuellen Sender anlegen, peeren und dann via Notify mit dem FS20 Taster synchronisieren ?
ZitatEben genau das ist nicht der Fall. Es gibt weder einen Level noch eine Zeit ! Der Ziel-Level in dem Moment festgelegt, wo das menschlichen Auge ihn erkennt und der Taster losgelassen wird
da hast du mich falsch verstanden - da bin ich bei dir.
ZitatVerstehe ich das richtig: Virtuellen Sender anlegen, peeren und dann via Notify mit dem FS20 Taster synchronisieren ?
ich denke ja.
Den HMdimmer kannst du immer einen step hoch oder runter dimmen indem du einen 'press long' schickst.
Der FS20 generiert trigger fuer einen FS20 aktor. Die kommen regelmaessig, bis helligkeit erreicht.
Du musst also die trigger umsetzen und an den HM-aktor schicken.
FS20 auswerten ist deine Aufgabe.
Den trigger fuer HM erreichst du mit "press long". der macht einen helligkeit + oder - stepX.
Wenn du das Prinzip soweit hast, teste es erst einmal. Dann kommen noch details wie
- wann dimmen wir hoch. wann runter
- wie lange sind die dim-steps
- timing FS20 button und Aktor-dim-step adjustment.
- wie schnell soll gedimmt werden
Alles machbar.
Baue erst einmal den virtuellen Aktor und spiele mit dem press-long am web-interface.
Dann wird sicher eineges klarer
Gruss
martin