FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Schuetze5 am 19 Juni 2017, 09:24:14

Titel: Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Schuetze5 am 19 Juni 2017, 09:24:14
Hallo ich stehe gerade ein bisschen auf dem Schlauch, ich schalte meine Hautürbeleuchtung über ein at ein:

*{sunset(900,"17:00","20:58")} set AK_Haustuerbeleuchtung on


und Sonntag, Montag, Dienstag, Mittwoch und Donnerstag über dieses at wieder aus:

*21:00:00 { if(($wday == 1 || $wday == 2 || $wday == 3 || $wday == 4 || $wday == 0)&&(Value("DauerlichtHaustuer") eq "Aus")) {fhem("set AK_Haustuerbeleuchtung off") }}


Freitag und Samstag wird über :

*23:59:00 { if(($wday == 5 || $wday == 6)&&(Value("DauerlichtHaustuer") eq "Aus")) {fhem("set AK_Haustuerbeleuchtung off") }}
ausgeschaltet.

Das funktioniert auch soweit nur das die Lampe immer um 20:58 Uhr eingeschaltet wird und das ist Freitag und Samstag im Sommer schon ärgerlich.
Wie kann ich das vereinfachen damit die Lampe engeschaltet wird wenn folgende Bedingungen erfüllt sind:
- es wird zwischen 17:00 und 21:00 Uhr dunkel
- die Lampe soll von Sonntag bis Donnerstag um 21:00 Uhr ausgeschaltet werde bzw. garnicht eingeschaltet werden
- die Lampe soll Freitag und Samstag um 23:59Uhr ausgeschaltet werden
- mit dem dummy DauerlichtHaustuer soll die Automatik ein und ausgeschaltet werden

Ich hoffe das ich es vernünftig erklärt habe was ich möchte und wäre über eine Hilfe sehr dankbar.
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Otto123 am 19 Juni 2017, 09:51:20
Moin,

ich habe diese Bedingungen nicht so kompliziert wie Du gemacht und steure das alles über ein DOIF und bei Bedarf über die Anwesenheit.
Um Dein bestehende Lösung aber einfach zu erweitern, fällt mir eine meiner ersten Aktionen in FHEM ein. Ich habe einen dummy Tageslicht, den setze ich über zwei at einfach bei Sonnenaufgang auf 1 und bei Sonnenuntergang auf 0. Ich wollte nicht an vielen Stellen eine einfache Abfrage.

Den nimmst Du einfach als zusätzliche Bedingung if Tageslicht == 0 dann schalte Licht ein.

Gruß Otto
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: rabehd am 19 Juni 2017, 10:41:20
Mein Vorschlag wäre ein DOIF, für mich am übersichtlichsten, da alle Bedingungen im einem Device.

Was heißt Automatik? Gilt das fürs Ein- und Ausschalten?
Die Änderung am dummy DauerlichtHaustuer könnte für das DOIF das Attribut disable setzen. So mache ich das mit der Weihnachsbeleuchtung.

Ausschalten:
Wenn Licht an und Zeitpunkt erfüllt.
Wie wäre es mit einen Party-Modus der Abgefragt wird und so noch andere Zeiten schaltet?

Einschalten:
Wenn Wochentag Sonntag bis Donnerstag und Sonnenuntergang+900 kleiner 21:00, dann Einschalten zum Sonnenuntergang+900, aber frühstens 17:00
oder
Wenn Wochentag Freitag oder Samstag, dann Einschalten zum Sonnenuntergang+900, aber frühstens 17:00


Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Schuetze5 am 19 Juni 2017, 15:56:22
@rabehd
das mit einem DOIF hatte ich auch schon überlegt nur mir fehlt der ansatz wie.
Party Schaltung brauch ich nicht, dann kann ich ja die Automatik ausschalten und das Licht per Hand an und aus machen.

ZitatAusschalten:
Wenn Licht an und Zeitpunkt erfüllt.
Wie wäre es mit einen Party-Modus der Abgefragt wird und so noch andere Zeiten schaltet?

Einschalten:
Wenn Wochentag Sonntag bis Donnerstag und Sonnenuntergang+900 kleiner 21:00, dann Einschalten zum Sonnenuntergang+900, aber frühstens 17:00
oder
Wenn Wochentag Freitag oder Samstag, dann Einschalten zum Sonnenuntergang+900, aber frühstens 17:00

oder hat jemand ein Beispiel was ungefähr in die Richtung.

Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: rabehd am 19 Juni 2017, 16:03:20
wo ist das Problem?

Kurz mal zu DOIF einlesen.
Die jeweiligen Bedingungen für ein und aus aufschreiben (hilft).

Dann das DOIF ganz einfach (mit z.B. je einer einfachen Bedingung für ein und aus) definieren.
Dann die jeweiligen Bedingungen/Fälle ergänzen. (deswegen aufschreiben).

Testen....Fertig
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Schuetze5 am 19 Juni 2017, 16:13:03
Danke ich teste mal.
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Schuetze5 am 21 Juni 2017, 11:39:01
Hab gerade mal ein bisschen gelesen und probiert, kann das so funktionieren?


(
[({sunset()}+900)] and
[?17:00-20:58]
)     
(set AK_Haustuerbeleuchtung on) 
DOELSEIF
(
(
[21:00|So Mo Di Mi Do] or
[23:58|Fr Sa]
) and
[DauerlichtHaustuer] eq "Aus"
)     
(set AK_Haustuerbeleuchtung off)


Danke
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Otto123 am 21 Juni 2017, 11:51:55
Nein, probiere es aus -> {{sunset()}+900} in die Kommandozeile und {sunset(900)} in die Kommandozeile :)

Gruß Otto
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: rabehd am 21 Juni 2017, 12:06:11
Zitat von: Schuetze5 am 21 Juni 2017, 11:39:01
Hab gerade mal ein bisschen gelesen und probiert, kann das so funktionieren?

Wenn Du es probiert hast, dann weisst Du es auch.
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Schuetze5 am 21 Juni 2017, 12:16:45
Probiert ein DOIF zu schreiben  ;)
Die Lampen sollten ja heute Abend  eigentlich nicht an gehen, da sunset 22:59Uhr ist.
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Otto123 am 21 Juni 2017, 12:36:40
Zitat von: Schuetze5 am 21 Juni 2017, 12:16:45
Probiert ein DOIF zu schreiben  ;)
Die Lampen sollten ja heute Abend  eigentlich nicht an gehen, da sunset 22:59Uhr ist.
Weit im Norden? Oder mit einer sehr "tiefen" Einstellung.  ;)
sunset(900) liefert die Zeit 15 min nach dem sunset() bzw. sunset("CIVIL") wo die Sonne schon 6 grad unter dem Horizont steht. Der ist bei mir heute um 22:18 Uhr.

Was ich damit eigentlich sagen will: Sonnenuntergang ist auch eine Frage des Standpunktes  8)

Gruß Otto
Titel: Antw:Beleuchtung sunset, Wochentage, Zeit
Beitrag von: Schuetze5 am 21 Juni 2017, 12:43:19
sunset 900 passt, so hat es ja immer mit den at Programm gelaufen (siehe oben).
Bei meinem alten Programm war halt das Problem das die Lampe um 20:58Uhr eingeschaltet wurde und dann Freitag und Samstag schon an war obwohl noch kein sunset war.
Wenn das jetzt so mit dem DOIF funktioniert ist das auf jedenfall einfacher so.

Danke nochmal an alle