Heizungsregelung - Unknown command if, try help.

Begonnen von brede, 25 Oktober 2015, 08:04:59

Vorheriges Thema - Nächstes Thema

brede

Hallo,

seit ein paar Tagen ist mir aufgefallen, dass die angelegte Temperaturregelung eines Heizkörpers nicht mehr fuinktioniert.
Es wird nur dieser eine Heizkörper über die Anwesenheit geregelt.
Das hat wochenlang problemlos funktioniert.
Mit dem Hinweis "unknown command IF" komm ich nicht weiter ... wäre schön, wenn jemand helfen könnte.

Hier der Auszug aus dem LOG:

2015.10.24 20:03:23 3: Watchdog HzNilsOff triggered
2015.10.24 20:03:23 3: CUL_HM set HeizungNils_Clima tempListMon prep 16:00 14.0 22:00 17.0 24:00 14.0
2015.10.24 20:03:23 3: CUL_HM set HeizungNils_Clima tempListTue prep 16:00 14.0 22:00 17.0 24:00 14.0
2015.10.24 20:03:23 3: CUL_HM set HeizungNils_Clima tempListWed prep 16:00 14.0 22:00 17.0 24:00 14.0
2015.10.24 20:03:23 3: CUL_HM set HeizungNils_Clima tempListThu prep 16:00 14.0 22:00 17.0 24:00 14.0
2015.10.24 20:03:23 3: CUL_HM set HeizungNils_Clima tempListFri prep 14:00 14.0 23:00 17.0 24:00 17.0
2015.10.24 20:03:23 3: CUL_HM set HeizungNils_Clima tempListSat prep 14:00 14.0 23:00 17.0 24:00 17.0
2015.10.24 20:03:23 3: CUL_HM set HeizungNils_Clima tempListSun exec 14:00 14.0 22:00 17.0 24:00 14.0
2015.10.24 20:03:23 3: Unknown command if, try help.
2015.10.25 07:04:32 3: Watchdog HzNilsOn triggered
2015.10.25 07:04:32 3: CUL_HM set HeizungNils_Clima tempListMon prep 14:00 14.0 22:00 22.0 24:00 17.0
2015.10.25 07:04:32 3: CUL_HM set HeizungNils_Clima tempListTue prep 14:00 14.0 22:00 22.0 24:00 17.0
2015.10.25 07:04:32 3: CUL_HM set HeizungNils_Clima tempListWed prep 14:00 14.0 22:00 22.0 24:00 17.0
2015.10.25 07:04:32 3: CUL_HM set HeizungNils_Clima tempListThu prep 14:00 14.0 22:00 22.0 24:00 17.0
2015.10.25 07:04:32 3: CUL_HM set HeizungNils_Clima tempListFri prep 14:00 14.0 23:00 22.0 24:00 20.0
2015.10.25 07:04:32 3: CUL_HM set HeizungNils_Clima tempListSat prep 13:00 14.0 23:00 22.0 24:00 20.0
2015.10.25 07:04:32 3: CUL_HM set HeizungNils_Clima tempListSun exec 13:00 14.0 22:00 22.0 24:00 17.0
2015.10.25 07:04:32 3: Unknown command if, try help.


Code aus der fhem.cfg
define HzNilsOn watchdog HandyNils:present 00:01 HandyNils:absent if ([HeizungNils_Clima:controlMode] ne "auto") (set HeizungNils_Clima controlMode auto);; setstate HzNilsOff defined;; {SetTempListDa_HeizungNils_Clima}
attr HzNilsOn regexp1WontReactivate 1
attr HzNilsOn room Nils

define HzNilsOff watchdog HandyNils:absent 00:30 HandyNils:present if ([HeizungNils_Clima:controlMode] ne "auto") (set HeizungNils_Clima controlMode auto);; setstate HzNilsOn defined;; {SetTempListWeg_HeizungNils_Clima}
attr HzNilsOff regexp1WontReactivate 1
attr HzNilsOff room Nils


Code aus der 99..
#------------------------ Temperaturliste Nils ----------------------------------
#Nach dem Speichern das Thermostat aktualisieren mit dem Kommandozeilenbefehl {SetTempListDa_HeizungNils_Clima}

sub
SetTempListDa_HeizungNils_Clima()
{
{ fhem ("set HeizungNils_Clima tempListMon prep 14:00 14.0 22:00 22.0 24:00 17.0")};
{ fhem ("set HeizungNils_Clima tempListTue prep 14:00 14.0 22:00 22.0 24:00 17.0")};
{ fhem ("set HeizungNils_Clima tempListWed prep 14:00 14.0 22:00 22.0 24:00 17.0")};
{ fhem ("set HeizungNils_Clima tempListThu prep 14:00 14.0 22:00 22.0 24:00 17.0")};
{ fhem ("set HeizungNils_Clima tempListFri prep 14:00 14.0 23:00 22.0 24:00 20.0")};
{ fhem ("set HeizungNils_Clima tempListSat prep 13:00 14.0 23:00 22.0 24:00 20.0")};
{ fhem ("set HeizungNils_Clima tempListSun exec 13:00 14.0 22:00 22.0 24:00 17.0")};
}

sub
SetTempListSommer_HeizungNils_Clima()
{
{ fhem ("set HeizungNils_Clima tempListMon prep 14:00 14.0 22:00 14.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListTue prep 14:00 14.0 22:00 14.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListWed prep 14:00 14.0 22:00 14.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListThu prep 14:00 14.0 22:00 14.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListFri prep 14:00 14.0 23:00 14.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListSat prep 13:00 14.0 23:00 14.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListSun exec 13:00 14.0 22:00 14.0 24:00 14.0")};
}

#Nach dem Speichern das Thermostat aktualisieren mit dem Kommandozeilenbefehl {SetTempListWeg_HeizungNils_Clima}
sub
SetTempListWeg_HeizungNils_Clima()
{
{ fhem ("set HeizungNils_Clima tempListMon prep 16:00 14.0 22:00 17.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListTue prep 16:00 14.0 22:00 17.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListWed prep 16:00 14.0 22:00 17.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListThu prep 16:00 14.0 22:00 17.0 24:00 14.0")};
{ fhem ("set HeizungNils_Clima tempListFri prep 14:00 14.0 23:00 17.0 24:00 17.0")};
{ fhem ("set HeizungNils_Clima tempListSat prep 14:00 14.0 23:00 17.0 24:00 17.0")};
{ fhem ("set HeizungNils_Clima tempListSun exec 14:00 14.0 22:00 17.0 24:00 14.0")};
}

1;

marvin78

Dein Problem ist, dass da

unknown command if

steht und eben nicht

unknown command IF

Wenn du IF verwendest möchtest, solltest du din deinen wahtchdogs auch IF schreiben und wenn eine Fehlermeldung kommt, solltest du diese auch genau lesen. Dass das mal funktioniert hat, ist sehr unwahrscheinlich.

brede

Peinlich - steht ja auch in der Referenz etwas zur Groß- und Kleinschreibung.
Verwundert bin ich nur, weil das seit Monaten so in der Form lief und ich am Code keine Veränderung vorgenommen hatte.
Zwischenzeitlich hatte ich 2-3 Updates - wäre das eine Erklärung?

Log vom April - da war die Welt noch in Ordnung.

2015.04.02 07:41:28 3: Watchdog HzNilsOff triggered
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListMon prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListTue prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListWed prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListThu prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListFri prep 14:00 14.0 23:00 18.0 24:00 18.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListSat prep 14:00 14.0 23:00 18.0 24:00 18.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListSun exec 14:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:43:37 3: CUL_HM set HeizungNils_Clima getConfig

Damian

Zitat von: brede am 25 Oktober 2015, 09:14:49
Peinlich - steht ja auch in der Referenz etwas zur Groß- und Kleinschreibung.
Verwundert bin ich nur, weil das seit Monaten so in der Form lief und ich am Code keine Veränderung vorgenommen hatte.
Zwischenzeitlich hatte ich 2-3 Updates - wäre das eine Erklärung?

Log vom April - da war die Welt noch in Ordnung.

2015.04.02 07:41:28 3: Watchdog HzNilsOff triggered
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListMon prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListTue prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListWed prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListThu prep 16:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListFri prep 14:00 14.0 23:00 18.0 24:00 18.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListSat prep 14:00 14.0 23:00 18.0 24:00 18.0
2015.04.02 07:41:29 3: CUL_HM set HeizungNils_Clima tempListSun exec 14:00 14.0 22:00 18.0 24:00 14.0
2015.04.02 07:43:37 3: CUL_HM set HeizungNils_Clima getConfig


Früher arbeitete FHEM, was FHEM-Befehle angeht, nicht kontextsensitiv, d. h. if wurde auf der FHEM-Ebene als IF erkannt.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF