Nabend, ich bin in FHEM noch relativ neu und "frickel" mir gerade so meine Szenarien zusammen. Einiges funktioniert dank diverser Tutorials auch ganz gut, aber nun stehe vor einem Problem wo ich mich frage was der "beste" Weg ist.
Szenario:
Im Badezimmer befindet sich ein Yeelight welches aber (noch) über einen konventionellen Lichtschalter ein- und ausgeschaltet wird. Mein erstes Ziel war dass es Tagsüber hell sein soll, aber Abends zunächst auf einen gelbliches und später auf ein gedimmtes rötliches Licht wechseln soll.
Dies habe ich mit folgendem DOIF hinbekommen:
([23:00-07:00] and [badlicht] eq "present") (set bz_badlicht rgb ff0000, set bz_badlicht bright 90)
DOELSEIF ([07:01-21:59] and [badlicht] eq "present") (set bz_badlicht rgb ffffff,set bz_badlicht bright 100)
DOELSEIF ([22:00-22:59] and [badlicht] eq "present") (set bz_badlicht rgb ffcc00,set bz_badlicht bright 90)
Nun hätte ich aber ganz gern das jeder Wechsel nur 1x am Tag ausgelöst wird damit ich gelegentlich auch noch via Alexa andere Farben einstellen kann und FHEM es nicht wieder sofort zurückgestellt. Da die Lampe immer wieder vom Strom getrennt ist scheidet die Möglichkeit einen festen Zeitpunkt pro Setting zu wählen aus.
Ich hatte eigentlich gehofft dass es ausreichen würde do always zu entfernen, aber dann schaltet sie gar nicht mehr. Ich dachte dass sich bei jedem Schaltvorgang der cmd ändern müsste und dies daher die Lösung sein müsste, aber wahrscheinlich habe ich das doif / do always Konzept noch nicht ganz verstanden.
Wie bekomme ich das am besten umgesetzt?
Besten Dank vorab,
Leif
Schon mal repeatsame und cmdpause probiert?
Danke, ich versuche mal repeatsame.
Bei cmdpause stehe ich vor der Hürde dass ich dann stets einen individuellen Abstand bis zum nächsten Zeitfenster bräuchte.
Hier stimmt die Logik vorne und hinten nicht. Wenn man FHEM ohne weitere Bedingung sagt, dass innerhalb eines bestimmten Zeitraums die Leuchte, wenn "present", auf einen Wert gestellt werden soll, macht FHEM das auch.
Wenn ich das nur unter der Bedingung haben möchte, dass die Leuchte nicht von anderer Stelle geschaltet wurde, muss diese Bedingung natürlich in den Befehl hinein - etwa indem abgefragt wird, welche Farbe das Licht gerade hat.
LG
pah
Danke amenomade, mittels
repeatsame 1
scheint es sich nun so zu verhalten wie gewünscht.
Zitat von: Prof. Dr. Peter Henning am 12 November 2017, 06:14:43
Hier stimmt die Logik vorne und hinten nicht.
Wenn ich das nur unter der Bedingung haben möchte, dass die Leuchte nicht von anderer Stelle geschaltet wurde, muss diese Bedingung natürlich in den Befehl hinein - etwa indem abgefragt wird, welche Farbe das Licht gerade hat.
Stimmt, da gibt es bestimmt einen eleganteren eleganteren Weg. Problematisch fand ich nur dass ich ja zu bestimmten Zeitpunkten wieder in die "normale" Schleife aus Farbwechseln wieder zurück möchte. Mit repeatsame scheint es nun wie gewünscht zu laufen, aber spätestens bei der nächsten Baustelle werde ich mal versuchen es anders aufzubauen.