Ich bin zwar jetzt nicht der absolute Anfänger, aber ich verzweifle an der Variable $we. Diese wir im Logfile als: "Unknown command (!($we)), try help." geloggt. Davor und danach stehen nur geschaltete Lampen, die mit DOIF definiert sind.
Im type "holiday" wird aber alles richtig angezeigt. Aber in DOIF nicht beachtet. Es ist immer Wochentag.
Hat jemand eine Idee, wo ich beginnen soll zu suchen?
Hallo,
if (!$we) - das ! gehört in die Klammer.
Gruß Christoph
Bitte mehr Informationen liefern. Zeige mal den gesamten Code.
Vielen Dank für den Tipp.
Habe vergessen zu schreiben: Ich verwende keine direkte $we oder !$we - Alle Zeitsteurungen werden mit DOIF gemacht. Darum wundert es mich auch. Vor DOIF hat alles funktioniert.
Ich möchte es versuchen mehr Infos zu liefern. Es ist ja leider nicht eindeutig zuzuordnen welche Zeitstuerung "spinnt".
z.B.:
(([05:30]|8) or ([06:30]|7) or ([{sunset(-3600,"16:00","20:15")}]))
(set GA_Lichtkette_Zaun on)
DOELSEIF (([23:59:30]) or ([08:00]))
(set GA_Lichtkette_Zaun off)
Diese wird trotz Definition am Wochenende um 05:30 eingeschaltet (dann die Meldung $we unbekannt) - habe ich gar nicht direkt definiert. Dachte das macht DOIF eigenständig.
2.Bsp:
(([05:30]|8) or ([06:30]|7) or ([{sunset(-1200,"17:00","20:45")}]))
(set GA_Licht_Eingang on)
DOELSEIF (([08:30] or [23:58:30]))
(set GA_Licht_Eingang off)
List für 1. Bsp.:
Internals:
DEF (([05:30]|8) or ([06:30]|7) or ([{sunset(-3600,"16:00","20:15")}]))
(set GA_Lichtkette_Zaun on)
DOELSEIF (([23:59:30]) or ([08:00]))
(set GA_Lichtkette_Zaun off)
NAME di_GA_Lichtkette_Zaun
NR 603
NTFY_ORDER 50-di_GA_Lichtkette_Zaun
STATE Ein
TYPE DOIF
Readings:
2016-02-26 17:05:20 cmd_event timer_3
2016-02-26 17:05:20 cmd_nr 1
2016-02-26 17:05:20 state Ein
2016-02-26 05:30:00 timer_1_c1 27.02.2016 05:30:00
2016-02-26 06:30:00 timer_2_c1 27.02.2016 06:30:00
2016-02-26 17:05:20 timer_3_c1 27.02.2016 17:06:51
2016-02-25 23:59:30 timer_4_c2 26.02.2016 23:59:30
2016-02-26 08:00:01 timer_5_c2 27.02.2016 08:00:00
Condition:
0 (DOIF_time_once($hash,$hash->{timer}{0},$wday,"")|8) or (DOIF_time_once($hash,$hash->{timer}{1},$wday,"")|7) or (DOIF_time_once($hash,$hash->{timer}{2},$wday,""))
1 (DOIF_time_once($hash,$hash->{timer}{3},$wday,"")) or (DOIF_time_once($hash,$hash->{timer}{4},$wday,""))
Days:
Devices:
Do:
0:
0 set GA_Lichtkette_Zaun on
1:
0 set GA_Lichtkette_Zaun off
Helper:
event timer_3
globalinit 1
last_timer 5
sleeptimer -1
timerdev
timerevent timer_3
triggerDev
timerevents:
timer_3
triggerEvents:
timer_3
Internals:
Interval:
Itimer:
Localtime:
0 1456547400
1 1456551000
2 1456589211
3 1456527570
4 1456556400
Readings:
Realtime:
0 05:30:00
1 06:30:00
2 17:06:51
3 23:59:30
4 08:00:00
Regexp:
State:
Time:
0 05:30:00
1 06:30:00
2 {sunset(-3600,"16:00","20:15")}
3 23:59:30
4 08:00:00
Timecond:
0 0
1 0
2 0
3 1
4 1
Timer:
0 0
1 0
2 0
3 0
4 0
Timers:
0 0 1 2
1 3 4
Triggertime:
1456527570:
localtime 1456527570
Hash:
1456547400:
localtime 1456547400
Hash:
1456551000:
localtime 1456551000
Hash:
1456556400:
localtime 1456556400
Hash:
1456589211:
localtime 1456589211
Hash:
Attributes:
cmdState Ein|Aus
room Garten,Zeitsteuerung
Hoffe, dass man diesen Infos was anfangen kann.
Wo siehst du denn die Meldung $we unbekannt? Wie sieht sie denn aus?
Gruß
Damian
Danke!
Wie in 1. Meldung:
Diese wir im Logfile als: "Unknown command (!($we)), try help."
Im Logfile.
Ich habe mir auch grade die komplette Config heruntergezogen. Mit Dateisuche nach "(!($we))" hatte ich aber keinen Erfolg.
Könnte mich auch nicht mehr daran erinnern, dass ich noch sowas drinnen hätte. Scheint aus einem Modul zu kommen. Welches weiss ich aber noch nicht.
Werde noch weitersuchen.
Zitat von: fhemguru66 am 26 Februar 2016, 20:01:37
Danke!
Wie in 1. Meldung:
Diese wir im Logfile als: "Unknown command (!($we)), try help."
Im Logfile.
Ich habe mir auch grade die komplette Config heruntergezogen. Mit Dateisuche nach "(!($we))" hatte ich aber keinen Erfolg.
Könnte mich auch nicht mehr daran erinnern, dass ich noch sowas drinnen hätte. Scheint aus einem Modul zu kommen. Welches weiss ich aber noch nicht.
Werde noch weitersuchen.
Eine solche Meldung kommt, wenn man auf der FHEM-Ebene (!($we)) absetzt. Es kommt nicht aus dem DOIF-Modul selbst.
Gruß
Damian
Ich habe sicher nichts per Hand eingegeben.
Es kommt ja auch nicht bei allen Zeitsteuerungen vor. Heute, hat wohl nicht (!($we)) sondern (($we)) im Log gestanden - also wird das Wochenende wohl erkannt, jedoch nicht berücksichtigt. Meine Jalousien sind trotzdem um 05:42 statt am Wochende 06:42 hochgefahren. Ist im Log auch so eingetragen.
In den DOIF's verwende ich ja nur die '8' bzw. '7' dafür.
Ich hatte auch nicht das DOIF direkt im Verdacht, da es nicht alle DOIF's betrifft.
Habe auch schon ein update force gemacht. Leider kein Erfolg.
Mir gehen die Ideen aus.
Zitat von: fhemguru66 am 27 Februar 2016, 19:20:06
Ich habe sicher nichts per Hand eingegeben.
Es kommt ja auch nicht bei allen Zeitsteuerungen vor. Heute, hat wohl nicht (!($we)) sondern (($we)) im Log gestanden - also wird das Wochenende wohl erkannt, jedoch nicht berücksichtigt. Meine Jalousien sind trotzdem um 05:42 statt am Wochende 06:42 hochgefahren. Ist im Log auch so eingetragen.
In den DOIF's verwende ich ja nur die '8' bzw. '7' dafür.
Ich hatte auch nicht das DOIF direkt im Verdacht, da es nicht alle DOIF's betrifft.
Habe auch schon ein update force gemacht. Leider kein Erfolg.
Mir gehen die Ideen aus.
Ich habe auch nicht behauptet, dass du es per Hand angibst, sondern dass es irgendwo auf der FHEM-Ebene (das kann in einem DOIF-Modul oder at oder notify usw. sein) benutzt wird und nicht auf der Perl-Ebene, also nicht im Sourcecode von DOIF.
Gruß
Damian
Wenn dein DOIF-Modul an falschen Tagen schaltet, dann solltest du die aktuelle Version von DOIF verwenden, es gab da ein Problem mit der aktuellen 5.7 FHEM-Version.
Gruß
Damian