Hallo zusammen,
ich will erreichen, dass wenn es draußen mehr als 16 Grad sind die Heizungen auf "OFF" gehen. Wenn keiner da ist (Hier über einen Dummy) 16 Grad Gehalten werden, und es Kälter ist als 16 Grad und jemand da ist, sollen die Heizungen auf "AUTO" laufen.
Bekomme aber den Fehler nicht aus dem Ding:
define HZGTest notify (Wetter|PresentDummy1) {\
if (ReadingsVal("Wetter","temp_c","") >= 16 && Value("PresentDummy1") eq "%") {\
fhem ("set KZLHeizungK04 controlManu off");;\
}\
elsif {\
if (ReadingsVal("Wetter","temp_c","") < 16 && Value("PresentDummy1") eq "off") {\
fhem ("set KZLHeizungK04 controlManu 16.0");;\
}\
else {\
if (ReadingsVal("Wetter","temp_c","") < 16 && Value("PresentDummy1") eq "on") {\
fhem ("set KZLHeizungK04 controlMode auto");;\
}\
}}}
define PresentDummy1 dummy
attr PresentDummy1 fp_WPlan 450,400,2,
attr PresentDummy1 setList state:on,off
attr PresentDummy1 webCmd state
Wo habe ich mich verschrieben ???? Hilfe
Wie oft kommt denn dein EVENT von "Wetter" ?
Gruß
Damian
Alle 60 Minuten
Aber es gibt kein Update wenn die Werte sich nicht ändern
Zitat von: noanda am 23 März 2014, 22:23:28
Alle 60 Minuten
das geht ja noch, sonst würdest du sehr oft deine Heizung schalten:
Was hältst du von:
define HZGTest notify (Wetter|PresentDummy1)
IF ([Wetter:temp_c] >= 16)
(set KZLHeizungK04 controlManu off)
ELSE (
IF ([PresentDummy1] eq "off")
(set KZLHeizungK04 controlManu 16.0)
ELSE
(set KZLHeizungK04 controlMode Auto)
)
Bei weiteren Fragen hier schauen: http://forum.fhem.de/index.php/topic,17895.msg118503.html#msg118503
Gruß
Damian
Super danke, werde es morgen testen. Muss morgen so früh raus. Wie gesagt Knoten im Kopf.
Hallo Damian,
habe es gestern mal geteste, geht bei mir leider nicht. Obwohl update und Update force, bekomme ich immer noch die Medlunf Comand Unkow. Wo finde ich Dein Modul zum nachinstallieren?
Ich denke es geht, aber ich habe das Modul nich und damit natürlich kein Zugriff auf den Befehl.
Zitat von: noanda am 25 März 2014, 08:10:38
Hallo Damian,
habe es gestern mal geteste, geht bei mir leider nicht. Obwohl update und Update force, bekomme ich immer noch die Medlunf Comand Unkow. Wo finde ich Dein Modul zum nachinstallieren?
Ich denke es geht, aber ich habe das Modul nich und damit natürlich kein Zugriff auf den Befehl.
Wie kommst du denn sonst an die FHEM-Module? Ich habe den Download bewusst gestrichen, damit es keinen Wildwuchs mit verschiedenen Versionen des Befehls gibt.
Gruß
Damian
Ist ja auch richtig, normal über Update, aber ich kann ja nicht mal sehen ob es drauf ist, denn ich habe den Namen des Moduls nicht.
98_IF.pm
Werde nachher mal schauen ob ich die schon habe. Vielen Dank
Und ob der Befehl in FHEM korrekt installiert ist, einfach IF in der Kommadozeile aufrufen, dann sollte die Syntax des Befehls auf dem Bildschirm kommen:
IF (<condition>) (<FHEM commands1>) ELSE (<FHEM commands2>)
Gruß
Damian
Obwohl IF Richtig installiert ist, und ich über
reload 98_IF
das Modul aufrufen kann, auch die Eingabe von IF:
IF (<condition>) (<FHEM commands1>) ELSE (<FHEM commands2>)
bekomme ich beim speicher die Meldung:
Usage: define notify IF: no left bracket: Unknown command (set, try help. Unknown command ELSE, try help. IF: unknown Device: PresentDummy1 Unknown command (set, try help. Unknown command ELSE, try help. Unknown command (set, try help. Unknown command ), try help.
Sas mache ich falsch ?
Zeige doch einfach mal den Code, den Du gerade tatsächlich versuchst, zu verwenden.
Zitat von: noanda am 25 März 2014, 12:06:45
bekomme ich beim speicher die Meldung:
Usage: define notify IF: no left bracket: Unknown command (set, try help. Unknown command ELSE, try help. IF: unknown Device: PresentDummy1 Unknown command (set, try help. Unknown command ELSE, try help. Unknown command (set, try help. Unknown command ), try help.
IF mekert doch bereits, dass ihm eine Klammer fehlt.
Ohne Code können wir hier lange raten.
Gruß
Damian
Hallo Damian,
zum Testen habe ich eigentlich Deinen Code 1:1 übernommen.
define HZGTest notify (Wetter|PresentDummy1)
IF ([Wetter:temp_c] >= 16)
(set KZLHeizungK04 controlManu off)
ELSE (
IF ([PresentDummy1] eq "off")
(set KZLHeizungK04 controlManu 16.0)
ELSE
(set KZLHeizungK04 controlMode Auto)
)
define PresentDummy1 dummy
attr PresentDummy1 fp_WPlan 450,400,2,
attr PresentDummy1 setList state:on,off
attr PresentDummy1 webCmd state
Aber vielleicht suche ich noch mal. Wie gesagt gerade Knoten im Kopf
Wenn die Fehlermeldung nicht eindeutig ausfällt, dann kannst du immer Teile deines Befehls in der Kommandozeile testen, hier z. B.
IF ([Wetter:temp_c] >= 16) (set KZLHeizungK04 controlManu off)
wenn das klappt kannst du probieren:
IF ([PresentDummy1] eq "off") (set KZLHeizungK04 controlManu 16.0) ELSE (set KZLHeizungK04 controlMode Auto)
und dann, wenn alles funktioniert, beide zusammengesetzt ohne notify
IF ([Wetter:temp_c] >= 16) (set KZLHeizungK04 controlManu off) ELSE (IF ([PresentDummy1] eq "off")(set KZLHeizungK04 controlManu 16.0) ELSE (set KZLHeizungK04 controlMode Auto))
und als letztes in notify kopieren.
So sollte man das Problem relativ schnell einkreisen können.
Gruß
Damian
Da fällt mir gerade auf, dass du mir wahrscheinlich deine cfg-Datei gezeigt hast. Den Befehl musst du aber in der DEF-Zeile des notifys eingeben, dann kommt in der cfg-Datei immer ein \ am Ende jeder Zeile.
Bitte nach Möglichkeit nie die cfg-Datei editieren.
Gruß
Damian