Ich habe mir da was gebastelt, was die Heizung Wetterabhängig steuern soll. Aber dieser DOIF-Abschnitt bereitet mir bisher gut 48h Kopfschmerzen.
define AutoRadiator DOIF (([WetterProplanta_temperature] >=15) and
([WetterProplanta_weather] eq 'sonnig') (set Heizung closed)
DOELSE (set Heizung desired-temp 22))
attr AutoRadiator devStateIcon .*:sani_heating_level_90
attr AutoRadiator room automatik
attr AutoRadiator state enabled
Aber ich erhalte die Fehlermeldung auf dem Webinterface (siehe Screenshot), die ich nicht via Google und diese Seite lösen konnte.
define AutoRadiator DOIF (([WetterProplanta:temperature] >=15) and
([WetterProplanta:weather] eq 'sonnig') (set Heizung closed)
DOELSE (set Heizung desired-temp 22))
DEVICE:READING
nicht DEVICE_READING
Du hast deine Anweisung in extra Klammern gesetzt, versuche es mal ohne.
define AutoRadiator DOIF ([WetterProplanta_temperature] >=15) and
([WetterProplanta_weather] eq 'sonnig') (set Heizung closed)
DOELSE (set Heizung desired-temp 22)
LG
Zähl mal die Klammern Deiner Bedingung :-\
(([WetterProplanta_temperature] >=15) and ([WetterProplanta_weather] eq 'sonnig'))
Da fehlt eine bzw sind 3 zuviel
([WetterProplanta_temperature] >=15 and [WetterProplanta_weather] eq 'sonnig')
http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity
Bei ELSE genauso - eine zuviel
(set Heizung desired-temp 22)
Gruß Otto
... und wenn Du die Klammern nicht selbst zählen willst: https://wiki.fhem.de/wiki/DOIF/Tipps_zur_leichteren_Bedienung
oder 48h Kopfschmerzen umgehen möchtest: https://wiki.fhem.de/wiki/DOIF/Tools_und_Fehlersuche
Naja das macht der integrierte Editor auch...
Wie ich jetzt erst verstanden habe, hat er aus unerfindlichen Gründen das komplette DOIF geklammert :-[
Gruß Otto
Für eure Hilfe besten Dank. Aber jetzt es überhaupt nicht mehr.
Jetzt ist bei mir die Verwirrung komplet. :o
configfile: AutoRadiator DOIF: expected DOELSEIF or DOELSE: and ([WetterProplanta_weather] eq 'sonnig') (set Heizung closed) DOELSE (set Heizung desired-temp 22)
Eure Korrekturen habe via Weboberfläche nach der vorherigen Bereinigung eingepflegt.
Zitat von: Tuxi70 am 13 März 2018, 11:24:30
bereitet mir bisher gut 48h Kopfschmerzen.
wow, sehr schmerzhaft, und dann auch noch so lange. üble sache!!!
nur nochmal als info:
screenshots posten ist nicht immer hilfreich.
hier wäre ein auszug aus dem logfile oder aber ein list <device> zielführender gewesen.
So sieht es jetzt bei Dir aus?
define AutoRadiator DOIF ([WetterProplanta_temperature] >=15 and [WetterProplanta_weather] eq 'sonnig') (set Heizung closed) DOELSE (set Heizung desired-temp 22)
Zitat von: Tuxi70 am 13 März 2018, 12:24:36
Für eure Hilfe besten Dank. Aber jetzt es überhaupt nicht mehr.
Jetzt ist bei mir die Verwirrung komplet. :o
configfile: AutoRadiator DOIF: expected DOELSEIF or DOELSE: and ([WetterProplanta_weather] eq 'sonnig') (set Heizung closed) DOELSE (set Heizung desired-temp 22)
Eure Korrekturen habe via Weboberfläche nach der vorherigen Bereinigung eingepflegt.
Das "configfile" zu bearbeiten ist keine gute Idee, wenn man nicht genau weiss wie.
Zitat von: Otto123 am 13 März 2018, 12:28:39
So sieht es jetzt bei Dir aus?
define AutoRadiator DOIF ([WetterProplanta_temperature] >=15 and [WetterProplanta_weather] eq 'sonnig') (set Heizung closed) DOELSE (set Heizung desired-temp 22)
Jetzt ja. Jetzt kommt nur eine Warnung.
setstate AutoRadiator 2018-03-13 12:45:27 warning condition c01: Argument "" isn't numeric in numeric ge (>=)\
poste mal ein list von Proplante bitte.
ich vermute immernoch dass du die bedingungen falsch hast. (_ anstatt :)
Zuviele Klammern, zuwenig Klammern, Unterstriche statt Doppelpunkte...
Und eine extrem aussagekräftige Überschrift ::).
Wahrscheinlich soll es das werden:
define AutoRadiator DOIF ([WetterProplanta:temperature] >=15 and [WetterProplanta:weather] eq 'sonnig') (set Heizung closed) DOELSE (set Heizung desired-temp 22)
PS: Ansichtlich als Einzeiler geschrieben!
In seinem Ausgangsthread hatte er ja im DOIF ordentliche Werte drin stehen. Deswegen war ich davon ausgegangen, die Namen (mit Unterstrich) sind richtig. Aber wahrscheinlich hat er es dort anders definiert und dann im DOIF die Readings abgeschrieben?
Habe kein Proplanta Wetter :)
Gruß Otto
WetterProplanta_temperature
Wird wohl ein Dummy sein. Aber vielleicht erzählt der Threadersteller mal genaueres und liefert vor allem mal ein list aller Devices.
Zitat von: CoolTux am 13 März 2018, 14:01:42
Aber vielleicht erzählt der Threadersteller mal genaueres und liefert vor allem mal ein list aller Devices.
und genau bis dahin warte ich nun, bevor das nächste ratespiel startet....
in meinem ProPlanta sind "weather" und "temperature" readings..... Die 2 Seiten List erspare ich euch. :-)
Das verwenden des Doppelpunktes löste das Problem. Nach einigen Kaffee sind auch die Kopfschmerzen Geschichte. 8)
Eine Listausgabe von Proplanta würde diesen Thread sprengen, glaub ich. ;) Das wären mehr Zeilen, wie eine DIN A4 Seite fassen könnte. Denn es werden umfangreiche Wetterdaten von neun Tagen aufgelistet. Mein Texteditor zählte da 575 Zeilen. ;)
Also quasi meine Lösung aus der ersten Antwort im Thread von 11:32.
Und dann haben wir uns 2 Seiten lang im Kreis gedreht. *lach*
setzt den Thread noch auf gelöst?
Final war es Antwort #12. Für das Schleudertrauma entschuldige ich mich. ;)