Hauptmenü

Ich steh auf dem Schlauch...

Begonnen von Hellspawn, 17 Oktober 2016, 08:42:23

Vorheriges Thema - Nächstes Thema

Hellspawn

Hallo seit gut einer Woche möchte ich meinen HM-SEC-MDIR-2 dazu überreden einen M-LC-Sw1PBU-FM für 30 Sekunden zu schalten. Wenn eine weitere Bewegung erkannt wird, dann soll sich die Dauer für weitere 30 Sekunden verlängern.

Aus dem Commandref den Tipp mit wait 0,30 übernommen aber er möchte partout nicht schalten. Er quittiert immer mit einer Fehlermeldung.:
perl error in condition: EventDoIf('FL_Bewegungsmelder',$hash,'motion',1) and (EventDoIf('FL_Bewegungsmelder',$hash,'brightness',1)<35) (set FL_Licht on, set Pushover1 msg 'Flur' 'Bewegung erkannt - Licht eingeschaltet') : syntax error at (eval 6853) line 1, near ") ("

Hat jemand eine Idee ???

Gruß
Carsten

Hier ein List
Internals:
   DEF        ## Licht per Bewegung ein
([FL_Bewegungsmelder:"motion"]
and
([FL_Bewegungsmelder:"brightness"]<35)
(set FL_Licht on,
set Pushover1 msg 'Flur' 'Bewegung erkannt - Licht eingeschaltet')
##DOELSEIF
## (set FL_Licht off,
## set Pushover1 msg 'Flur' 'Licht aus')
)
   NAME       di_LichtFlur
   NR         403
   NTFY_ORDER 50-di_LichtFlur
   STATE      initialized
   TYPE       DOIF
   Readings:
     2016-10-17 08:05:23   Device          FL_Bewegungsmelder
     2016-10-17 07:19:30   cmd             0
     2016-10-17 08:05:23   e_FL_Bewegungsmelder_events battery: ok,brightness: 32,cover: closed
     2016-10-17 08:05:23   error           perl error in condition: EventDoIf('FL_Bewegungsmelder',$hash,'motion',1) and (EventDoIf('FL_Bewegungsmelder',$hash,'brightness',1)<35) (set FL_Licht on, set Pushover1 msg 'Flur' 'Bewegung erkannt - Licht eingeschaltet') : syntax error at (eval 6550) line 1, near ") ("

     2016-10-17 07:19:30   state           initialized
   Condition:
     0          EventDoIf('FL_Bewegungsmelder',$hash,'motion',1) and (EventDoIf('FL_Bewegungsmelder',$hash,'brightness',1)<35) (set FL_Licht on, set Pushover1 msg 'Flur' 'Bewegung erkannt - Licht eingeschaltet')
   Devices:
     0           FL_Bewegungsmelder
     all         FL_Bewegungsmelder
   Do:
     0:
       0
   Helper:
     event      battery: ok,brightness: 32,cover: closed
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev FL_Bewegungsmelder
     triggerEvents:
       battery: ok
       brightness: 32
       cover: closed
     triggerEventsState:
       battery: ok
       brightness: 32
       cover: closed
   Internals:
   Itimer:
   Readings:
   Regexp:
     0:
     All:
   State:
   Trigger:
     all         FL_Bewegungsmelder
Attributes:
   do         resetwait
   room       DOIF
   wait       0,30

Ellert

Ich sehe eine zuviel geöffnete Klammer vor FL_Bewegungsmelder:"brightness".
Das hätte Dir bei der Erstellung im DEF-Editor die Klammerprüfung anzeigen sollen, s. https://forum.fhem.de/index.php/topic,45373.0.html und https://forum.fhem.de/index.php/topic,58237.0.html

Hellspawn

#2
So habe den Fehler gefunden....
und wenn man mal nachdenkt....

Lt Commandref :
attr di_on_for_timer wait 0,30

was passiert ?
es werden logischerweise ZWEI set Befehle im DOIF Zweig erwartet... ich hatte aber nur einen....
so sieht es jetzt richtig aus :
([FL_Bewegungsmelder:motion])
(set FL_Licht on)
(set FL_Licht off)

jetzt noch mit der Brightness gespielt dann hab ich alles...

Danke für die Hilfe...

Gruß
Carsten