DOIF(BEDINGUNG) (BEFEHL)
DOELSIF(BEDINGUNG) (BEFEHL)
DOELSE(BEFEHL)
Bei DOELSE gibt es KEINE Bedingung, sondern nur einen Befehl.
Übersetz das doch mal:
Wenn dann
Wenn was anderes dann
Ansonsten
Bei ansonsten gibt es KEINE Bedingung...
EDIT:
Nachvollziehbar, da genau dieser Wert nicht definiert ist.
wo soll da was nicht definiert sein?
EDIT: du bekommst den Eintrag (vermutlich) bei allen Werten, die nicht über 20,2 sind, da dann DOELSE gilt und damit siehe oben...
EDIT: es wird ja das was nach DOELSE folgt als BEFEHL interpretiert und "([HM_WandthermostatEGWZ_Climate:measured-temp] < 20.2)" ist kein (vernünftiger) Befehl...
EDIT: andere Frage: was willst du tun? Selbst mit korrektem Code sieht das Konstrukt komisch aus und den Sinn kann ich auch nicht nachvollziehen. Ein Thermostat sorgt doch selbst dafür, dass die eingestellte Temp gehalten wird... Und ohne Hysterese wird das vermutlich "schwingen"... Und: warum kein komplettes list? Warum keine "code-Tags"? Wie hier zu lesen:
https://forum.fhem.de/index.php/topic,71806.0.htmlEDIT:
aber ich möchte genau für den Fall 20.2 keine Ausführungen
nutze kein DOIF aber ich denke so:
DOIF ([HM_WandthermostatEGWZ_Climate:measured-temp] > 20.2) (set HM_WandthermostatEGWZ_Climate desired-temp 20)
DOELSEIF ([HM_WandthermostatEGWZ_Climate:measured-temp] < 20.2) (set HM_WandthermostatEGWZ_Climate desired-temp 20.5)
DOELSE
EDIT: allerdings bleibt mir der Sinn weiterhin verborgen...
Gruß, Joachim