FS20 Dimmer durch HM Dimmer erstezen

Begonnen von DC, 02 März 2013, 15:03:54

Vorheriges Thema - Nächstes Thema

DC

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
habe ich nichts gefunden (oder es nicht verstanden)

Was muss ich tun, um das FS20 Verhalten beim HM Dimmer zu bekommen ?
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone

martinp876

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

DC

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.
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone

martinp876

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





DC

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 ?
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone

martinp876

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