Hallo zusammen,
ich habe 2 HM-LC-DIM1T-FM im Einsatz. Diese lösen jeweils beim ON Signal in FHEM ein Script aus welches einen Timer erstellt und danach automatisch wieder ausschaltet.
Treppenhaus:on delete TreppenhausAus ; define TreppenhausAus at +00:01:00 set Treppenhaus 0 0 10
Soweit sogut. Möchte ich nun aber Dauerlicht habe ich das Problem das natürlich immer der Timer ausgelöst wird, selbst wenn ich direkt über das Web-Interface auf ON schalte.
Ist ja auch soweit richtig und logisch.
Hat jemand eine Idee wie ich das am besten umbasteln kann? Also z.B. Auslösen des Timers verhindern wenn ich über das Webinterface einschalte?!
Am liebsten wäre mir natürlich eine Unterscheidung zwischen Short und Long Press am Taster, aber das kriegt FHEM wohl nicht mit. ???
Ich weiß, dass ich es theoretisch auch über die Register des Aktors lösen könnte, würde aber gerne die Timer über FHEM laufen lassen.
Vielen Dank schonmal :)
EDIT:
Mir fällt grad ein ich könnte per WebInterface das Licht einfach auf 99% setzen. Dann ist der Status nicht ON und der Timer wird nicht aktiv.
Aber das geht doch bestimmt auch eleganter :o
Schalte das licht mit onfortimer ein, dann geht es ohne at wieder aus.... und ohne register.
Ein on geht dann mit on
Wenn ich den Aktor aber über die Taster aktiviere setzt dieser mir doch den Status auf ON. Und das ON löst den Timer aus.
Wenn ich jetzt den Timer durch einen OnforTimer ersetze ist der Effekt doch der gleiche?
Ein
Treppenhaus:onfortimer
bleibt bei Tastendruck am Aktor ja unberührt.
Wo ist mein Denkfehler? ???
Dann hast du recht der timer darf nur aufgezogen werden, wenn das on nicht von fhem kommt. Dann ist es in der tat kompliziert.
Waere mit registern einfach.
Zitat von: martinp876 am 18 Mai 2015, 21:47:52
Dann ist es in der tat kompliziert.
Kompliziert oder unmöglich? :)
Hast du eine Idee?
unmöglich ist nichts. aber m.e. nicht sinnvoll... meine Meinung.
du kannst bei einem "on" einen timer mit "at switchoff ..." starten, der nach x sec das Licht aus macht.
bei set_on kannst du einen timer starten "at dontswitchoff ..." der nach 10sec den switchoff löscht (delete).
dann wäre
set_on => start dontswitchoff 10sec
on => start switchoff 3min
nach 10 sec
delete switchoff
wenn kein set_on kommt wird nach 3 min ausgeschaltet.
Alternativ: setze bei set_on eine Variable deiner Wahl (reading,...) auf "manual_on"
diese löschst du, wenn ein "off" kommt (egal woher)
im at switchoff prüfst du, ob manual_on gesetzt ist - wenn ja, licht nicht aus.
Okay glaub das hab ich sogar kapiert. Werd die Tage versuchen das zu basteln. :)
Vielen Dank für die Hilfe ;)
EDIT:
Ich habe eine ganz einfache Lösung gefunden...Einfach per EventMap
/pct 99:Dauerlicht/
festlegen. Dann gibt der Aktor keinen ON Befehl raus und der Timer wird nicht gestartet.
Somit lässt sich problemlos über das WebInterface ein Dauerlicht schalten. Das eine fehlende Prozent sei vernachlässigt. :)