Hallo, gibt es eine Möglichkeit bei einen Trigger die Aktion zu unterdrücken oder verzögert auszuführen?
Hintergrund:
Ich möchte dass beim Ausschalten der Hauptbeleuchtung automatisch die Hintergrundbeleuchtung im Wohnzimmer einschaltet wenn es dunkel ist.
Im normalen Fall würde der Trigger auf das Ausschalten der Hauptlampen reagieren, aber das hat zur Folge, dass man für einige Sekunden komplett im Dunkeln ist bevor die Hintergrundbeleuchtung einschaltet.
Frage ist also:
Gibt es eine Möglichkeit das Ausschalten der Hauptlampen zu verzögern obwohl der Trigger ausgelöst wird?
Zumindest einige Sekunden bis die Hintergrundbeleuchtung eingeschaltet ist.
Mir fällt als alternative nur eine Mehrteilige Schaltsequenz ein die zuerst die Hintergrundbeleuchtung einschaltet und dann die Hauptbeleuchtung aus, aber damit hab ich ja keinen automatischen Trigger mehr.
Hast du denn dein notify schon!?
Was gehen sollte (raw definition):
defmod nSequenz notify Dummy:off set Hintergrundbeleuchtung on;; sleep 10;; set Hauptbeleuchtung off
Siehe auch: https://wiki.fhem.de/wiki/Notify#Zeitverz.C3.B6gert_schalten
EDIT: gerade noch mal gelesen! Wie soll das denn gehen!? Wenn das Hauptlicht auf off "gegangen ist" (also AUS ist) kommt doch erst das worauf das Hintergrundlicht angehen soll... Das müsste ja schon vorher ahnen, dass gleich der Event "aus" des Hauptlichtes kommt... Da musst du noch mal drüber nachdenken! ;) Je nach Aktor (Homematic z.B. Glaube: irgendwas mit delay) kannst du im Aktor einstellen, dass er später erst den Befehl umsetzen soll. In der Zeit kann ja das Hintergrundlicht schon mal angehen. Was auch geht bzw. was du brauchst ist etwas das dazu führt, dass das Hauptlicht NACH dem Hintergrundlicht ausgeschaltet wird. Ich habe sowas (mit besagtem sleep) aber bei mir mache ich das über die Harmony (FB) oder per Sprache. D.h. der Trigger ist nicht das bereits ausgegangene!!! Hauptlicht, sondern etwas ganz anderes...
EDIT2: wenn du eine Verzögerung beim Aktor (also in dessen HW/SW) fest einstellst, dann reagiert das nat. IMMER verzögert, auch das bedenken...
Gruß, Joachim
bei homematic aktoren kann man eine ausschaltverzögerung für "gepeerte" taster konfigurieren.
Sollte komplett unnötig sein. Schalter - Hauptlicht aus - Hintergrund an. Fertig.
Bitte Mal den Code Posten, welche Device sind beteiligt, wie (notify etc)?
Zitat von: frank am 25 April 2020, 10:35:02
bei homematic aktoren kann man eine ausschaltverzögerung für "gepeerte" taster konfigurieren.
Hmm, ich hab zumindest auch ein Register für onDelay gefunden...
Gruß, Joachim
Zitat von: MadMax-FHEM am 25 April 2020, 10:52:53
Hmm, ich hab zumindest auch ein Register für onDelay gefunden...
onDly register für einschaltverzögerung
offDly register für ausschaltverzögerung
zum einfachen spielen mit den registern link in meiner signatur nutzen. ;)
Zitat von: frank am 25 April 2020, 11:31:35
onDly register für einschaltverzögerung
offDly register für ausschaltverzögerung
zum einfachen spielen mit den registern link in meiner signatur nutzen. ;)
Ich will ja nicht damit spielen ;)
Aber danke!
Hab mir das schon mal angeschaut...
...sehr interessant!
Leider habe ich alles schon seit Jahren eingestellt...
...und das passt soweit :)
Ich dachte in dem Fall eher an den TE (der sich nicht äußert ;) ):
Ausschalten wie auch immer, dann verzögert geht das Licht aus...
...hmmm, aber ich sehe schon: wann kommt dann der Event, dass off...
Vermutlich ebenso, wenn das Licht aus ist ;)
Da hilft wohl nur: zurück in die Zukunft für die Lichter ;)
Gruß, Joachim
Zitathmmm, aber ich sehe schon: wann kommt dann der Event, dass off...
Vermutlich ebenso, wenn das Licht aus ist
genau.
ausserdem sollte das reading timedOn während der "nachlaufzeit" des offDly-timers on anzeigen.
bei dimmern kann man das licht während der nachlaufzeit sogar blinken lassen.
sehr praktisch zb für treppenhaus-lichttimer. kurz vorm ausschalten eine blinkphase einbauen, damit man rechtzeit nachtriggern kann.
ansatz von madmax passt schon, man muss nur den "hauptschalter" als dummy machen. wenn dein device keine ausschaltverzögerung hat ... notify und per at +10 sec. deine hauptbeleuchtung ausschalten ... notify zum koppeln zum einschalten vom schalter an hauptleuchte nciht enthalten ...
defmod dy_dummy_hauptleuchte dummy
defmod dy_dummy_hintergrundleuchte dummy
defmod dy_dummy_schalter dummy
defmod ntf_schalter_off dy_dummy_schalter:off set dy_dummy_hintergrundleuchte on;;define at_licht_aus at +00:00:10 set dy_dummy_hauptleuchte off
Das at kann man sich leicht sparen durch sleep...
Aber ohne Rückmeldung vom TE wird das hier eh nix...
Gruß, Joachim
vorteil von at ist, dass du es abbrechen kannst. sleep so viel ich weiß nicht. z. b. wenn man den schalter versehentlich ausschaltet und sofort wieder an. ein sleep würde dann ungewollt ausschalten, das at kannst du entfernen.
schaun wir mal was der te dazu sagt ....
Sleep geht auch...
https://fhem.de/commandref_DE.html#sleep
P.S.: ich würde (wenn schon) beim at statt einem define ein defmod nehmen... ;)
Gruß, Joachim
Erstmal danke für die ganzen Vorschläge. Leider habe ich noch einige andere Dinge zu tun, so dass ich mich nicht immer sofort zurückmelden kann.
Mein aktuelles Notify sieht folgendermaßen aus
define Wandlampen_deaktivieren notify wz_wandlampen:off set wz_hintergrundbeleuchtung on
wz_Wandlampen entsprechen der Hauptbeleuchtung; wz_hintergrundbeleuchtung ist ein structure aus zwei einzelnen dezenteren Lampen die als indirekte Hintergrundbeleuchtung dienen.
Da eben das "Zukunftsproblem" existiert habe ich es aktuell über einen Commandbefehl mit sleep gelöst
wz_hintergrundbeleuchtung on; sleep 5 quiet; wz_wandlampen off
Dieser lässt sich am Handy aber nicht sichtbar auslösen, bzw. die Auslösung wird nicht angezeigt, so dass man nie sicher ist ob es funktioniert wenn man die Lampen nicht direkt sieht.
Akuell sind die Lampen über DECT200 Zwischenstecker angesteuert, sollen aber in naher Zukunft zumindest teilweise durch Phillipps Hue-Birnen mit Bridge ersetzt werden.
Das mit dem ondelay und offdelay klingt interessant, muss ich mir morgen mal in Ruhe ansehen. Klingt aber so, als ob es dass nur mit Homematik-Aktoren gibt, richtig?
Wo ist eigentlich der unterschied zwischen define und defmod?
Die genannten Register sind vermutlich nur bei Homematic bzw. musst du halt dann schauen was deine Lampen etc. können...
define es wird etwas definiert, wenn es schon existiert -> Fehler
defmod es wird etwas definiert, wenn es schon existiert -> verändert / wenn noch nicht -> angelegt
Gruß, Joachim
So, hat zwar etwas gedauert (neuer Job hat mir kaum Zeit gelassen), aber nun mal eine Rückmeldung.
Bei den Fritzdect 200 gibt es leider keine derartigen Delay-Einstellungen, weder für on noch für off.
Sollte also noch jemand eine Idee haben ...
Zitat von: MarkoP am 02 Mai 2020, 14:24:03
So, hat zwar etwas gedauert (neuer Job hat mir kaum Zeit gelassen), aber nun mal eine Rückmeldung.
Bei den Fritzdect 200 gibt es leider keine derartigen Delay-Einstellungen, weder für on noch für off.
Sollte also noch jemand eine Idee haben ...
haben die gegebenen Ideen nicht funktioniert?
@kadettilac89
Ich sagte ja, dass die Dect200 von AVM diese Readings nicht haben.
Mein System auf andere Devices umzustellen ist zwar geplant, geht aber nicht von heute auf morgen.
Zitat von: MarkoP am 04 Mai 2020, 07:47:21
@kadettilac89
Ich sagte ja, dass die Dect200 von AVM diese Readings nicht haben.
Mein System auf andere Devices umzustellen ist zwar geplant, geht aber nicht von heute auf morgen.
Das war eines von mehreren Möglichkeiten ...
https://forum.fhem.de/index.php/topic,110564.msg1046861.html#msg1046861
auch wenns keine Rückmeldung gab ... völlig anderer Ansatz ... readingproxy
DAs sei die dect-Steckdose
defmod dect FBDECT 20 30
attr dect room 1NEW
das ist der proxy .. Schaltverzögerung 3 Sekunden ... per on-for-timer
defmod proxy readingsProxy dect:state
attr proxy room 1NEW
attr proxy setFn {($CMD eq "off")?"on-for-timer 3":$CMD}
attr proxy setList on off
attr proxy webCmd on:off
dect funktioniert weiterhin wie gewollt, on, off ... alles funktionstüchtig. dein licht schaltest aber über proxy. funktion on wie sonst auch, funktion off 3 sekunden verzögert. näheres dazu im wiki oder commandref zu readingsProxy
Sorry, hatte de Threat für mich abgehakt, daher hab ich nicht mehr reingeschaut.
De Idee ist interessant, werde ich mal ausprobieren.