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
Bei einer älteren DOIF Version hat die Subtraktion nicht funktioniert, mach mal ein Update des Moduls.
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])
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]]
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
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!