Hauptmenü

DOIF mit Zeit und THRESHOLD

Begonnen von majorshark, 06 November 2015, 11:20:10

Vorheriges Thema - Nächstes Thema

majorshark

Hallo Forum.

Ich habe hier ein Problem mit dem DOIF und ich finde den Fehler nicht.

Meine Definition:
define Licht_Weihnacht DOIF ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel")  (set ELRO_B on) DOELSE (set ELRO_B off)

erzeugt bspw. 05:30 Uhr folgende Fehlermeldung:
2015.11.06 05:30:00 2: Licht_Weihnacht: perl error in condition: DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and TH_Helligkeit:dunkel: syntax error at (eval 75601) line 1, near "TH_Helligkeit:"

Jetzt habe ich schon verschieden Dinge getestet (Klammern, Anführungszeichen) bekomme aber die Fehlermeldung nicht weg. Schalten nach Zeit geht aber.
'TH_Helligkeit:state' bezieht sich hier auf ein 'THRESHOLD' und dessen Reading 'state'.

Danke schon mal im voraus.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Damian

Zitat von: majorshark am 06 November 2015, 11:20:10
Hallo Forum.

Ich habe hier ein Problem mit dem DOIF und ich finde den Fehler nicht.

Meine Definition:
define Licht_Weihnacht DOIF ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel")  (set ELRO_B on) DOELSE (set ELRO_B off)

erzeugt bspw. 05:30 Uhr folgende Fehlermeldung:
2015.11.06 05:30:00 2: Licht_Weihnacht: perl error in condition: DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and TH_Helligkeit:dunkel: syntax error at (eval 75601) line 1, near "TH_Helligkeit:"

Jetzt habe ich schon verschieden Dinge getestet (Klammern, Anführungszeichen) bekomme aber die Fehlermeldung nicht weg. Schalten nach Zeit geht aber.
'TH_Helligkeit:state' bezieht sich hier auf ein 'THRESHOLD' und dessen Reading 'state'.

Danke schon mal im voraus.

Poste hier Ausgabe von: list Licht_Weihnacht

Gruß

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

majorshark

list Licht_Weihnacht

Internals:
   DEF        ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel")
(set ELRO_B on)
DOELSE
(set ELRO_B off)
   NAME       Licht_Weihnacht
   NR         273
   NTFY_ORDER 50-Licht_Weihnacht
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-11-06 16:53:06   Device          TH_Helligkeit
     2015-11-06 16:53:07   cmd_event       TH_Helligkeit
     2015-11-06 16:53:07   cmd_nr          1
     2015-11-06 16:53:06   e_TH_Helligkeit_state dunkel
     2015-11-06 16:53:07   state           cmd_1
     2015-11-06 10:27:16   timer_1_c1      07.11.2015 05:30:00
     2015-11-06 10:27:16   timer_2_c1      07.11.2015 01:00:00
   Condition:
     0          DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf('TH_Helligkeit','state','') eq "dunkel"
   Days:
   Devices:
     0           TH_Helligkeit
     all         TH_Helligkeit
   Do:
     0:
       0          set ELRO_B on
     1:
       0          set ELRO_B off
   Helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           TH_Helligkeit:state
     all         TH_Helligkeit:state
   Realtime:
     0          05:30:00
     1          01:00:00
   State:
   Time:
     0          05:30:00
     1          01:00:00
   Timecond:
     0          0
     1          0
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0  1
   Trigger:
Attributes:


Danke schon mal.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Damian

Zitat von: majorshark am 06 November 2015, 16:56:35
list Licht_Weihnacht

Internals:
   DEF        ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel")
(set ELRO_B on)
DOELSE
(set ELRO_B off)
   NAME       Licht_Weihnacht
   NR         273
   NTFY_ORDER 50-Licht_Weihnacht
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-11-06 16:53:06   Device          TH_Helligkeit
     2015-11-06 16:53:07   cmd_event       TH_Helligkeit
     2015-11-06 16:53:07   cmd_nr          1
     2015-11-06 16:53:06   e_TH_Helligkeit_state dunkel
     2015-11-06 16:53:07   state           cmd_1
     2015-11-06 10:27:16   timer_1_c1      07.11.2015 05:30:00
     2015-11-06 10:27:16   timer_2_c1      07.11.2015 01:00:00
   Condition:
     0          DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf('TH_Helligkeit','state','') eq "dunkel"
   Days:
   Devices:
     0           TH_Helligkeit
     all         TH_Helligkeit
   Do:
     0:
       0          set ELRO_B on
     1:
       0          set ELRO_B off
   Helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           TH_Helligkeit:state
     all         TH_Helligkeit:state
   Realtime:
     0          05:30:00
     1          01:00:00
   State:
   Time:
     0          05:30:00
     1          01:00:00
   Timecond:
     0          0
     1          0
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0  1
   Trigger:
Attributes:


Danke schon mal.

Die Fehlermeldung passt nicht zu dieser Definition.

Gemeldete Fehlermeldung:

DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and TH_Helligkeit:dunkel

ist nicht


DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf('TH_Helligkeit','state','') eq "dunkel"


Gruß

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

majorshark

Komisch. Was ist das dann für ein Logeintrag?
Heute Morgen habe ich kein entsprechenden Logeintrag gefunden. Es scheint ganz normal zu funktionieren. Muss ich mal weiter beobachten.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch: