Hi Ihr,
hat jemand eine gute Idee, wie ein HM-Dimmer mit 2 Tasten einer Fernbedienung am besten zu bedienen ist? Also Einschalten, Ausschalten und ein gewünschtes Dimm-Level einstellen.
Ich denke, eine gute Lösung ist die, wie es zB ELRO macht:
-Taste Off -> schaltet immer aus
-Taste On -> wenn Dimmer aus ist -> schalte Dimmer ein (auf letzten Dimm-Level)
-> wenn Dimmer an ist -> starte dauerhaftes Hoch- und Runterdimmen. Kann dann mit einem weiteren Druck auf "on" auf dem gewünschten Level angehalten werden.
Das könnte man ja in fhem so nachprogrammieren. Aber gibt es eine Möglichkeit, einen Homematic-Dimmer in einen "Dauer-Dimm-Cycle"-Modus zu setzen? Also dass er permanent hoch- und runterdimmt bis man ihn irgendwann auf der gewünschten Stufe anhält? Ich denke, man kann auch das zur Not selbst programmieren, wäre aber wahrscheinlich etwas unschön.
Der Hintergrund ist der, dass ich eine OneForAll-Universal-Fernbedienung habe, die InterTechno-Funkbefehle senden kann. Ich möchte diese Befehle mit fhem empfangen und dann HM-Dimmer bedienen. Sozusagen fhem als Intertechno->Homematic-Gateway benutzen.
Bin natürlich auch für andere Ideen offen! Danke schonmal!
der dimmer hat eine statemachine - die beim Eintreffen eines Triggers gemäss der Quelle parametrisiert wird.
Wenn du als Parameter die OnTime und OffTime auf einen kurzen Wert setzt wird der dimmer nach dem On und Ablauf der Ontime wieder runter dimmen. Und umgekehrt.
Das Problem ist, dass der Parametersatz am Trigger hängt. (Trigger = Button und long oder short - jeder Button hat also 2 Trigger-parameter-saetze).
Wenn du also mit einem Button/short das geschaugel einschaltest kannst du es nur mit einem anderen Trigger abschalten.
Beispiel: einschalten mit kurzem Trigger, ausschalten mit langem trigger
Zitat von: martinp876 am 26 Mai 2014, 08:28:19
Wenn du als Parameter die OnTime und OffTime auf einen kurzen Wert setzt wird der dimmer nach dem On und Ablauf der Ontime wieder runter dimmen. Und umgekehrt.
Ok, danke, das klingt prinzipiell sehr gut. Ehrlich gesagt hab ich aber etwas Startschwierigkeiten. Hab bisher noch nichts mit Registern gemacht, aber hab jetzt versucht, mich etwas schlau zu lesen.
Es gibt da ja Register wie shOffTime/shOnTime und shRampOnTime/shRampOffTime sowie jeweils die Long-Varianten.
Ich hätte mir jetzt sowas vorgestellt, um ein permanentens Hoch/Runterdimmen mit jeweils 5 Sekunden Ramp-Time zu starten:
set wz_lightRed regSet shOnTime 1
set wz_lightRed regSet shOffTime 1
set wz_lightRed regSet shRampOnTime 5
set wz_lightRed regSet shRampOffTime 5
...und dann anstarten mit zB:
set wz_lightRed 100
Das regSet erwartet jedoch auf jeden Fall die Angabe eines Peers und auch die Unterscheidung "sh" und "lg" sehen aus als würde ein Peer erwartet werden, der lange und kurze Trigger sendet. Ich möchte das ja jedoch einfach aus fhem heraus starten (per notify getriggert). Könntest du mir vielleicht nochmal einen Schubs in die richtige Richtung geben? Ich hab irgendwie das Gefühl, ich bin hier auf dem Holzweg... Danke!
Prinzipiell hast du es wohl verstanden.
Du kannst also je peer 2 "Abläufe" festlegen - long und short.
Ferner kannst du mehrere peers "festlegen". Als peers kannst du buttons und schalter nutzen - aber auch virtuelle Aktoren (buttons) definieren und/oder buttons des "IO device" (hier würde ich eine vccu einrichten). Auch die eingebauten Taster sind sind hier zu finden.
Also erst einmal brauchst du buttons - real/virtuell/eingebaute - die die ggf. mit dem Aktor peeren musst.
Dann legst du fest, was der aktor tun soll, wenn der Trigger eines peers long/short kommt .
Nun kannst du von FHEM aus JEDEN button stimulieren
press [long|short] [on|off|<peer>] ...
also
set <actor> press
on/off ist ein sonderfall... für manche aktoren mit 2 internen Peers je Aktor (dimmer/blind)
set <actor> press short myVBtn01
ist identisch mit einem Tastendruck des peers myVBtn01
Beachte, das 'long' eingeschränkt arbeitet. Ein realer Long wird alle 0.4sec eine message schicken - und so ein dimmen erzeugen. Das geht so aus dem Web-interface nicht wirklich - es wird nur eine message "long" gesendet.
Ich danke dir für die ausführliche Beschreibung! Klappt jetzt alles (so grob)! Habe mir einen virtuellen Sensor angelegt, gepeert und die short-Register konfiguriert.
Ich kann nun mit dem short-press das Hoch/Runter anstarten und mit long-press stoppen. Aber ich muss sagen, dass ich nicht ganz verstehe, wie es kommt, dass "long" das Hoch/Runter wirklich anhält. Habe den long-Kanal in keinster Weise konfiguriert... Egal...
Jetzt muss ich das ganze nur noch sinnvoll in meine notify-Skripte einbauen.
Danke!