FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: dikay am 10 Oktober 2015, 23:21:54

Titel: DOIF Zeitberechnung führt zu Syntax Error
Beitrag von: dikay am 10 Oktober 2015, 23:21:54
Hallo zusammen,

ich komme bei einem DOIF aktuell nicht weiter und hoffe ihr könnt mir helfen.
FHEM bringt immer einen Syntax-Error obwohl meiner Meinung nach eigentlich alles passen müsste.

Und zwar möchte ich über 2 Dummys den gewünschten Endzeitpunkt und die Dauer des Waschmaschinenprogramms manuell definieren. Das DOIF soll dann den Startzeitpunkt selbst berechnen und entsprechend loslegen.

dummy Plan_WAS_WashingMachine_DoneTime HH:MM
dummy Plan_WAS_WashingMachine_Duration "off" oder HH:MM

define DoIf_Plan_WAS_WashingMachine DOIF ([Plan_WAS_WashingMachine_Duration] ne "off" and [([Plan_WAS_WashingMachine_DoneTime]-[Plan_WAS_WashingMachine_Duration])])
(do something...)


Beim DOIF ich dann den Syntax-Error:
DoIf_Plan_WAS_WashingMachine DOIF: syntax error at (eval 1282) line 2, near "-)
"
: ([Plan_WAS_WashingMachine_DoneTime]-[Plan_WAS_WashingMachine_Duration])


Mein erster Test hingegen scheint problemlos zu laufen, da ich zuerst die Befürchtung hatte, dass er sich an dem möglichen "off" stören könnte:
define DoIf_Plan_WAS_WashingMachine DOIF ([Plan_WAS_WashingMachine_Duration] ne "off" and [[Plan_WAS_WashingMachine_DoneTime]])
(do something...)


Danke im Voraus
Grüße
dikay
Titel: Antw:DOIF Zeitberechnung führt zu Syntax Error
Beitrag von: Ellert am 12 Oktober 2015, 00:43:09
Bei einer älteren DOIF Version hat die Subtraktion nicht funktioniert, mach mal ein Update des Moduls.
Titel: Antw:DOIF Zeitberechnung führt zu Syntax Error
Beitrag von: dikay am 13 Oktober 2015, 21:02:05
Habe gerade ein Update + Restart gemacht. Der Fehler ist leider immer noch fast der selbe:


DoIf_Plan_WAS_WashingMachine DOIF: syntax error at (eval 76) line 2, near "-)
"
: ([Plan_WAS_WashingMachine_DoneTime]-[Plan_WAS_WashingMachine_Duration])
Titel: Antw:DOIF Zeitberechnung führt zu Syntax Error
Beitrag von: Sunny am 13 Oktober 2015, 21:59:15
Moin dikay,

hast Du per "setList" und "readingList" die Dummys für die abfrage vorbereitet?

Hier mal ein Beispiel von einem Dummy:
define Heizung_d dummy
attr Heizung_d event-on-change-reading .*
attr Heizung_d icon edit_settings
attr Heizung_d readingList Tag Nacht Frost Modus Nacht_Interval Tag_Interval
attr Heizung_d setList state:An,Aus,Auto,Eco Modus:Sommer,Winter,Wartung Frost:0,1 Nacht_Interval:0,60,300,600,900,1800,3600 Tag_Interval:0,60,300,600,900,1800,3600
attr Heizung_d webCmd "state":state:"Modus":Modus:"Frost":Frost:Interval Nacht:Nacht_Interval:Interval Tag:Tag_Interval:


Vielleicht hilft es Dir weiter...

Viele Grüße
Sunny

PS: Für DOIF kann, dann  z.B: [Heizung_d:Tag_Interval] genutzt werden.
oder bei Dir z.B.: [[dummy:zeit1]-[dummy:zeit2]]
Titel: Antw:DOIF Zeitberechnung führt zu Syntax Error
Beitrag von: Damian am 13 Oktober 2015, 22:16:22
Zitat von: dikay am 13 Oktober 2015, 21:02:05
Habe gerade ein Update + Restart gemacht. Der Fehler ist leider immer noch fast der selbe:


DoIf_Plan_WAS_WashingMachine DOIF: syntax error at (eval 76) line 2, near "-)
"
: ([Plan_WAS_WashingMachine_DoneTime]-[Plan_WAS_WashingMachine_Duration])


Poste hier die Ausgaben von Version DOIF

Gruß

Damian
Titel: Antw:DOIF Zeitberechnung führt zu Syntax Error
Beitrag von: dikay am 15 Oktober 2015, 18:44:07
Hier zunächst die Version:
File       Rev   Last Change

98_DOIF.pm  9422 2015-10-10 18:39:11Z damian-s


Und hier meine Dummys:

define Plan_WAS_WashingMachine_DoneTime dummy
attr setList state:13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00
webCmd state

define Plan_WAS_WashingMachine_Duration dummy
attr setList state:off,01:00,01:30,02:00,02:30,03:00,03:30,04:00
webCmd state


(Die Dummys sollen schön und einfach per iOS Smallscreen funktionieren, was ich bisher mit mehreren Readings in einem Dummy irgendwie nicht hinbekommen habe.)

Danke!