Hallo,
bei nachfolgendem DOIF:
([HM_WandthermostatEGWZ_Climate:measured-temp] > 20.2) (set HM_WandthermostatEGWZ_Climate desired-temp 20) DOELSE ([HM_WandthermostatEGWZ_Climate:measured-temp] < 20.2) (set HM_WandthermostatEGWZ_Climate desired-temp 20.5)
bekomme ich bei 20.2 folgenden Logfile Eintrag
di_TempEGWZ20_2Grad: 20.2 < 20.2: Unknown command 20.2, try help
Nachvollziehbar, da genau dieser Wert nicht definiert ist. Ist es möglich, diese Fehlermeldung zu vermeiden, mit >= bzw. <= schon, aber ich möchte genau für den Fall 20.2 keine Ausführungen.
Für Eure Hilfe besten Dank.
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:
ZitatNachvollziehbar, 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.html
EDIT:
Zitat
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
Hallo,
danke vorab für die Rückmeldung.
Mein HM Wandthermostat kennt nur Einstellungen in 0,5 Grad Schritten, bspw. 20 bzw. 20,5 Grad. Die Hysterese ist eingestellt auf 0.2. Suche einfach nach einer Möglichkeit Zwischenwerte einzustellen, um die Fussbodenheizung zu optimieren. Bei Einstellung 20 Grad ist es vorübergehend zeitweise zu "kalt", bei Einstellung 20,5 Grad wird es zeitweise zu warm.
Ich glaube ja nicht, dass eine (normalerweise sehr träge) Fussbodenheizung da überhaupt reagiert aber das musst du wissen...
Eine Hysterese sehe ich nicht, gab aber ja auch kein list...
...und ob eine Hysterese von 0,2 bei 0,5 Schrittweite überhaupt hilft ein Schwingen zu verhindern weiß ich nicht (gefühlt aber nein).
Besser wäre noch es ins passende Unterforum zu verschieben:
Zitat von: help DOIF
Module: 98_DOIF.pm Maintainer: damian-s Forum: Automatisierung/DOIF
Gruß, Joachim
Danke für Rückmeldung und Hinweis.
Gruß