FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: chq am 02 November 2018, 10:09:15

Titel: holiday-we innerhalb eines Perl-Modus-DOIFs
Beitrag von: chq am 02 November 2018, 10:09:15
Hallo,

es besteht hier offenbar ein Problem mit der Implementierung von Holiday.

Ich möchte einen Teil meiner "normalen DOIFs" in Perl-Modus-DOIFs umbauen.

{if([10:05:18]){set_State("idle")}} ## idle

{if ([Bewohner:state] eq "home" and [Wetterstation:luminosity] >= "36000" and [Wetterstation:UVR] >= "350" and [HM_drehgriffEsszimmer:state] ne "open")
{
if ((!we and [17:00-00:00]) or we)
{
{if([twilight:azimuth] >= "219" and [twilight:azimuth] < "265" and [twilight:elevation:d1] <= "28.7" and [twilight:elevation:d1] > "23.3" and [?HM_rolloEsszimmer:control] > "92") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 92");set_State("Linker Platz 1.Reihe 1.Fenster")}} ## L11
{if([twilight:azimuth] >= "265" and [twilight:azimuth] < "292" and [twilight:elevation:d1] <= "30.3" and [twilight:elevation:d1] > "24.5" and [?HM_rolloEsszimmer:control] > "92") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 92");set_State("Linker Platz 1.Reihe 2.Fenster")}} ## L12
{if([twilight:azimuth] >= "292" and [twilight:azimuth] < "301" and [twilight:elevation:d1] <= "22.3" and [twilight:elevation:d1] > "18.7" and [?HM_rolloEsszimmer:control] > "92") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 92");set_State("Linker Platz 1.Reihe 3.Fenster")}} ## L13
{if([twilight:azimuth] >= "202" and [twilight:azimuth] < "229" and [twilight:elevation:d1] <= "23.7" and [twilight:elevation:d1] > "18.4" and [?HM_rolloEsszimmer:control] > "92") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 92");set_State("Rechter Platz 1.Reihe 1.Fenster")}} ## R11
{if([twilight:azimuth] >= "229" and [twilight:azimuth] < "265" and [twilight:elevation:d1] <= "30.5" and [twilight:elevation:d1] > "26.2" and [?HM_rolloEsszimmer:control] > "92") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 92");set_State("Rechter Platz 1.Reihe 2.Fenster")}} ## R12
{if([twilight:azimuth] >= "265" and [twilight:azimuth] < "288" and [twilight:elevation:d1] <= "30.1" and [twilight:elevation:d1] > "25.5" and [?HM_rolloEsszimmer:control] > "92") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 92");set_State("Rechter Platz 1.Reihe 3.Fenster")}} ## R13

{if([twilight:azimuth] >= "219" and [twilight:azimuth] < "265" and [twilight:elevation:d1] <= "23.3" and [twilight:elevation:d1] > "15.6" and [?HM_rolloEsszimmer:control] > "84") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 84");set_State("Linker Platz 2.Reihe 1.Fenster")}} ## L21
{if([twilight:azimuth] >= "265" and [twilight:azimuth] < "292" and [twilight:elevation:d1] <= "24.5" and [twilight:elevation:d1] > "17.6" and [?HM_rolloEsszimmer:control] > "84") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 84");set_State("Linker Platz 2.Reihe 2.Fenster")}} ## L22
{if([twilight:azimuth] >= "292" and [twilight:azimuth] < "301" and [twilight:elevation:d1] <= "18.7" and [twilight:elevation:d1] > "12.6" and [?HM_rolloEsszimmer:control] > "84") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 84");set_State("Linker Platz 2.Reihe 3.Fenster")}} ## L23
{if([twilight:azimuth] >= "202" and [twilight:azimuth] < "229" and [twilight:elevation:d1] <= "18.4" and [twilight:elevation:d1] > "13.8" and [?HM_rolloEsszimmer:control] > "84") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 84");set_State("Rechter Platz 2.Reihe 1.Fenster")}} ## R21
{if([twilight:azimuth] >= "229" and [twilight:azimuth] < "265" and [twilight:elevation:d1] <= "26.2" and [twilight:elevation:d1] > "18.3" and [?HM_rolloEsszimmer:control] > "84") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 84");set_State("Rechter Platz 2.Reihe 2.Fenster")}} ## R22
{if([twilight:azimuth] >= "265" and [twilight:azimuth] < "288" and [twilight:elevation:d1] <= "25.5" and [twilight:elevation:d1] > "18.5" and [?HM_rolloEsszimmer:control] > "84") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 84");set_State("Rechter Platz 2.Reihe 3.Fenster")}} ## R23

{if([twilight:azimuth] >= "219" and [twilight:azimuth] < "265" and [twilight:elevation:d1] <= "15.6" and [twilight:elevation:d1] > "8.0" and [?HM_rolloEsszimmer:control] > "78") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 78");set_State("Linker Platz 3.Reihe 1.Fenster")}} ## L31
{if([twilight:azimuth] >= "265" and [twilight:azimuth] < "292" and [twilight:elevation:d1] <= "17.6" and [twilight:elevation:d1] > "8.9" and [?HM_rolloEsszimmer:control] > "78") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 78");set_State("Linker Platz 3.Reihe 2.Fenster")}} ## L32
{if([twilight:azimuth] >= "292" and [twilight:azimuth] < "301" and [twilight:elevation:d1] <= "12.6" and [twilight:elevation:d1] > "6.4" and [?HM_rolloEsszimmer:control] > "78") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 78");set_State("Linker Platz 3.Reihe 3.Fenster")}} ## L33
{if([twilight:azimuth] >= "202" and [twilight:azimuth] < "229" and [twilight:elevation:d1] <= "13.8" and [twilight:elevation:d1] > "6.6" and [?HM_rolloEsszimmer:control] > "78") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 78");set_State("Rechter Platz 3.Reihe 1.Fenster")}} ## R31
{if([twilight:azimuth] >= "229" and [twilight:azimuth] < "265" and [twilight:elevation:d1] <= "18.3" and [twilight:elevation:d1] > "10.2" and [?HM_rolloEsszimmer:control] > "78") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 78");set_State("Rechter Platz 3.Reihe 2.Fenster")}} ## R32
{if([twilight:azimuth] >= "265" and [twilight:azimuth] < "288" and [twilight:elevation:d1] <= "18.5" and [twilight:elevation:d1] > "11.0" and [?HM_rolloEsszimmer:control] > "78") {set_Reading("doifState","fhemCmd");fhem_set("HM_rolloEsszimmer pct 78");set_State("Rechter Platz 3.Reihe 3.Fenster")}} ## R33
}
}
}


Als Fehlermeldung bekomme ich das hier angezeigt:

condition c02: Bareword "we" not allowed while "strict subs" in use at (eval 391662) line 3.
Bareword "we" not allowed while "strict subs" in use at (eval 391662) line 3.


Wie müsste ich Holiday denn einbauen, um keine Fehlermeldung mehr zu erhalten?

Gruß Chris
Titel: Antw:holiday-we innerhalb eines Perl-Modus-DOIFs
Beitrag von: Otto123 am 02 November 2018, 10:37:59
Hi,

wie immer mit $we anstatt nur we? ;D
Aber von dem DOIF Perl habe ich ansonsten keine Ahnung.

Gruß Otto