sunset in Abhängigkeit von weiteren Bedingungen einschränken

Begonnen von Spartacus, 29 September 2014, 14:50:29

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: Spartacus am 02 Oktober 2014, 08:40:34
Hi,
Kann jemand sagen, was dieses reading twilight_weather <40 bedeutet? Verstehe die Abhängigkeit  hier nicht. Was wird bei diesem Reading mit 40 verglichen? Bzw. Was sagt dieser Wert aus?

Danke,
Christian

Die commandref schweigt sich dazu aus. Dem Namen nach würde ich auf wetterabhängige Helligkeit tippen. Was es auch immer sein mag - der Wert wird kleiner wenn es dunkler wird und umgekehrt.
Genaueres kann Autor des Moduls dazu sagen. Für die Steuerung sollte die obige Feststellung aber ausreichen. Die 30 habe ich mal aus dem Bauch genommen. Du musst bei dir einfach schauen, welchen Wert du hast, wenn deine gewünschte Dämmerung erreicht ist.

Gruß

Damian


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Spartacus

Hallo,
ich habe noch ein Problem mit dem DOIF:

Folgendes soll realisiert werden:

((freitags oder samstags oder "wenn morgen Feiertag ist") und es dunkel genug ist) soll die Lampe bis 22:30 leuchten
(an allen anderen Tagen und wenn es dunkel genug ist) bis 21:00.
aber ich finde noch nicht einmal meinen Syntax-Error! DOIF: no right bracket: [{sunset(0
Irgendwo ist der Wurm drin...
define GartenLeuchte DOIF (([{sunset(0,"17:00","20:30")}-22:30|56] or [Feiertag:tomorrow] !~ m/none/) and [twilight:twilight_weather] <30) (set lamp on) DOELSE ([{sunset(0,"17:00","20:30")}-21:00] and [twilight:twilight_weather] <30) (set lamp on) DOELSE (set lamp off)

Feiertag ist vom Typ holiday und wird in fhem korrekt angezeigt (bei Tomorrow steht "Tag der deutschen Einheit")
Danke und Gruß,
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Damian

Zitat von: Spartacus am 02 Oktober 2014, 11:42:57
Hallo,
ich habe noch ein Problem mit dem DOIF:

Folgendes soll realisiert werden:

((freitags oder samstags oder "wenn morgen Feiertag ist") und es dunkel genug ist) soll die Lampe bis 22:30 leuchten
(an allen anderen Tagen und wenn es dunkel genug ist) bis 21:00.
aber ich finde noch nicht einmal meinen Syntax-Error! DOIF: no right bracket: [{sunset(0
Irgendwo ist der Wurm drin...
define GartenLeuchte DOIF (([{sunset(0,"17:00","20:30")}-22:30|56] or [Feiertag:tomorrow] !~ m/none/) and [twilight:twilight_weather] <30) (set lamp on) DOELSE ([{sunset(0,"17:00","20:30")}-21:00] and [twilight:twilight_weather] <30) (set lamp on) DOELSE (set lamp off)

Feiertag ist vom Typ holiday und wird in fhem korrekt angezeigt (bei Tomorrow steht "Tag der deutschen Einheit")
Danke und Gruß,
Spartacus

Die Sache mit sunset verliert durch twilight ohnehin an Bedeutung, daher reicht:

define GartenLeuchte DOIF (
([17:00-22:30|56] or
[17:00-22:30] and  [Feiertag:tomorrow] ne "none" or
[17:00-21:00|01234] and [Feiertag:tomorrow] eq "none"
) and [twilight:twilight_weather] <30)
  (set lamp on)
DOELSE
  (set lamp off)


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Spartacus

Hi Damian,
vielen Dank für Deine Unterstützung. Jetzt muss ich nur noch die Silvester-Ausnahme einstellen und die Leuchte brennt bis Neujahr um 02:00, korrekt? Oder muss das Silvester am Anfag der DOIF stehen, damit es zuerst behandelt wird!
define GartenLeuchte DOIF (
([17:00-22:30|56] or
[17:00-22:30] and  [Feiertag:tomorrow] ne "none" or
[17:00-21:00|01234] and [Feiertag:tomorrow] eq "none" or
[17:00-02:00] and [Feiertag:today] eq "Silverster"
) and [twilight:twilight_weather] <30)
  (set lamp on)
DOELSE
  (set lamp off)


Spartacus.
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Damian

Zitat von: Spartacus am 02 Oktober 2014, 14:17:42
Hi Damian,
vielen Dank für Deine Unterstützung. Jetzt muss ich nur noch die Silvester-Ausnahme einstellen und die Leuchte brennt bis Neujahr um 02:00, korrekt? Oder muss das Silvester am Anfag der DOIF stehen, damit es zuerst behandelt wird!
define GartenLeuchte DOIF (
([17:00-22:30|56] or
[17:00-22:30] and  [Feiertag:tomorrow] ne "none" or
[17:00-21:00|01234] and [Feiertag:tomorrow] eq "none" or
[17:00-02:00] and [Feiertag:today] eq "Silverster"
) and [twilight:twilight_weather] <30)
  (set lamp on)
DOELSE
  (set lamp off)


Spartacus.

Die Reihenfolge ist hier unerheblich. Das sollte so funktionieren.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Steffen

Hallo!

Kurz gefragt was hat eigentlich dieses Reading zu bedeuten?


timer_1_c1 02.10.2014 19:16:27 2014-10-02 14:10:33
timer_2_c1 02.10.2014 21:00:00 2014-10-02 14:10:33


Mfg Steffen

Damian

Zitat von: Steffen am 02 Oktober 2014, 17:31:44
Hallo!

Kurz gefragt was hat eigentlich dieses Reading zu bedeuten?


timer_1_c1 02.10.2014 19:16:27 2014-10-02 14:10:33
timer_2_c1 02.10.2014 21:00:00 2014-10-02 14:10:33


Mfg Steffen

Das sind die gesetzten Timer in der ersten Bedingung c1 (condition 1). Der eine schlägt um 19:16:17 Uhr zu und der andere um 21:00 Uhr. Beide werden noch heute (02.10.2014) aktiv.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Steffen

Zitat von: Damian am 02 Oktober 2014, 17:46:11
Das sind die gesetzten Timer in der ersten Bedingung c1 (condition 1). Der eine schlägt um 19:16:17 Uhr zu und der andere um 21:00 Uhr. Beide werden noch heute (02.10.2014) aktiv.

Gruß

Damian

Ok auch bei diesen Bedingungen:

([{sunset(0,"17:00","20:30")}-21:00] and [myTwilight:twilight_weather] <40 and [AbendLicht] eq "off" and ([Doreen] eq "Anwesend" or [Steffen] eq "Anwesend")) (set AbendLicht on)


Danke erstmal für deine schnelle Antwort...
Ok und ich dachte da würde schon geschaltet werden wenn, Twilight unter 40 ist?
Warum ist dann der Timer auf 19:16:17?

Damian

Zitat von: Steffen am 02 Oktober 2014, 17:51:37
Ok auch bei diesen Bedingungen:

([{sunset(0,"17:00","20:30")}-21:00] and [myTwilight:twilight_weather] <40 and [AbendLicht] eq "off" and ([Doreen] eq "Anwesend" or [Steffen] eq "Anwesend")) (set AbendLicht on)


Danke erstmal für deine schnelle Antwort...
Ok und ich dachte da würde schon geschaltet werden wenn, Twilight unter 40 ist?
Warum ist dann der Timer auf 19:16:17?

ja, aber nur in dem angegebenen Intervall.

Wie ich schon geschrieben habe, macht sunset in Verbindung mit Twilight nicht unbedingt viel Sinn.

Du kannst auch


([15:00-21:00] and [myTwilight:twilight_weather] <40 and ([Doreen] eq "Anwesend" or [Steffen] eq "Anwesend")) (set AbendLicht on)


angeben, es wird eh erst geschaltet wenn es dunkel wird  ;)

Und and [AbendLicht] eq "off"  solltest du aus der Bedingung herausnehmen, sonst beißt sich die Katze in den Schwanz. Das habe ich aber vorher schon erläutert.


Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Steffen

Zitat von: Damian am 02 Oktober 2014, 17:58:12

Und and [AbendLicht] eq "off"  solltest du aus der Bedingung herausnehmen, sonst beißt sich die Katze in den Schwanz. Das habe ich aber vorher schon erläutert.
Gruß

Damian

Ok, danke mit "Sunset" hatte mich eh gefragt ob es nötig wär hatte es hier im Forum nur aufgeschnappt!
Das [AbendLicht] eq "off" wollte ich aber eigentlich einbinden da mein Frau es auch per Handy Aktivieren tut und nun wusste ich nicht ob dann "AbendLicht" doppelt ausgeführt wird, weil da reagieren die Hue Lampen immer Allergisch drauf?!

Mfg Steffen

Damian

Zitat von: Steffen am 02 Oktober 2014, 18:05:42
Ok, danke mit "Sunset" hatte mich eh gefragt ob es nötig wär hatte es hier im Forum nur aufgeschnappt!
Das [AbendLicht] eq "off" wollte ich aber eigentlich einbinden da mein Frau es auch per Handy Aktivieren tut und nun wusste ich nicht ob dann "AbendLicht" doppelt ausgeführt wird, weil da reagieren die Hue Lampen immer Allergisch drauf?!

Mfg Steffen

ja, dann baue besser einen Filter ein:

statt

... (set AbendLicht on)

...(set AbendLicht:FILTER=STATE!=on on)


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Spartacus

Hi,
bei mir sieht das so aus:

( ([17:00-22:30|56] or  [17:00-22:30] and  [Feiertag:tomorrow] ne "none" or 
[17:00-21:00|01234] and [Feiertag:tomorrow] eq "none" ) and [myTwilight:twilight_weather] <30 or
[17:00-02:00] and [Feiertag:today] eq "Silverster")   
(set EnO_FMS61_B on) 
DOELSE    (set EnO_FMS61_B off)



timer_1_c1 03.10.2014 17:00:00|56 2014-10-02 17:00:00
timer_2_c1 02.10.2014 22:30:00|56 2014-10-02 16:50:49
timer_3_c1 03.10.2014 17:00:00 2014-10-02 17:00:00
timer_4_c1 02.10.2014 22:30:00 2014-10-02 16:50:49
timer_5_c1 03.10.2014 17:00:00|012342014-10-02 17:00:00
timer_6_c1 02.10.2014 21:00:00|01234 2014-10-02 16:50:49
timer_7_c1 03.10.2014 17:00:00 2014-10-02 17:00:00
timer_8_c1 03.10.2014 02:00:00 2014-10-02 16:50:49


Das würde dann ja heißen, dass Timer 2, 4 und 6 heute noch aktiv werden.
Heute gilt, Abschalten um 22:30, da morgen Feiertag ist. Das heisst, timer 6 dürfte nicht gesetzt sein, oder?
und morgen ist auch nicht Silverster (Timer 8). Da stimmt doch dann etwas nicht, oder?
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Damian

Zitat von: Spartacus am 02 Oktober 2014, 18:20:09
Hi,
bei mir sieht das so aus:

( ([17:00-22:30|56] or  [17:00-22:30] and  [Feiertag:tomorrow] ne "none" or 
[17:00-21:00|01234] and [Feiertag:tomorrow] eq "none" ) and [myTwilight:twilight_weather] <30 or
[17:00-02:00] and [Feiertag:today] eq "Silverster")   
(set EnO_FMS61_B on) 
DOELSE    (set EnO_FMS61_B off)



timer_1_c1 03.10.2014 17:00:00|56 2014-10-02 17:00:00
timer_2_c1 02.10.2014 22:30:00|56 2014-10-02 16:50:49
timer_3_c1 03.10.2014 17:00:00 2014-10-02 17:00:00
timer_4_c1 02.10.2014 22:30:00 2014-10-02 16:50:49
timer_5_c1 03.10.2014 17:00:00|012342014-10-02 17:00:00
timer_6_c1 02.10.2014 21:00:00|01234 2014-10-02 16:50:49
timer_7_c1 03.10.2014 17:00:00 2014-10-02 17:00:00
timer_8_c1 03.10.2014 02:00:00 2014-10-02 16:50:49


Das würde dann ja heißen, dass Timer 2, 4 und 6 heute noch aktiv werden.
Heute gilt, Abschalten um 22:30, da morgen Feiertag ist. Das heisst, timer 6 dürfte nicht gesetzt sein, oder?
und morgen ist auch nicht Silverster (Timer 8). Da stimmt doch dann etwas nicht, oder?
Spartacus

Gesetzter Timer heißt nicht ausführen. Es wird lediglich das Modul um diese Zeit zusätzlich getriggert. Die Entscheidung zur Ausführung wird anhand der Bedingung gemacht.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

( ([17:00-22:30|56] or  [17:00-22:30] and  [Feiertag:tomorrow] ne "none" or 
[17:00-21:00|01234] and [Feiertag:tomorrow] eq "none" ) and [myTwilight:twilight_weather] <30 or
[17:00-02:00] and [Feiertag:today] eq "Silverster")   
(set EnO_FMS61_B on) 
DOELSE    (set EnO_FMS61_B off)


Das ist aber eine andere Definition als zuvor von dir gepostet. Hier ist die Silversterschaltung unabhängig von der Helligkeit.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Spartacus

Stimmt,
hat er etwas verschluckt bei cut&paste:
(
([17:00-22:30|56] or
[17:00-22:30] and  [Feiertag:tomorrow] ne "none" or
[17:00-21:00|01234] and [Feiertag:tomorrow] eq "none" or
[17:00-02:00] and [Feiertag:today] eq "Silverster"
) and [twilight:twilight_weather] <30) (set EnO_FMS61_B on) DOELSE (set EnO_FMS61_B off)

..so steht es in fhem.
aber die Timer sind so, wie oben gesetzt.
Silverster soll auch abhängig von der Dunkelheit sein.
Spartacus.

S
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R