Hauptmenü

Problem mit $we

Begonnen von fhemguru66, 25 Februar 2016, 22:08:57

Vorheriges Thema - Nächstes Thema

fhemguru66

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?

Bennemannc

Hallo,

if (!$we) - das ! gehört in die Klammer.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

marvin78

Bitte mehr Informationen liefern. Zeige mal den gesamten Code.

fhemguru66

#3
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.

Damian

Wo siehst du denn die Meldung $we unbekannt? Wie sieht sie denn aus?

Gruß

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

fhemguru66

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.

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

fhemguru66

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.

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

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

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