Hallo,
ich habe an meiner Heizung zwei LED´s, die folgendes signalisieren sollen:
LED_rot: Soll angehen, wenn die Vorlauftemperatur über 55 Grad geht und ausgehen, wenn sie unter 50 Grad ist.
LED_gelb: Soll angehen, wenn die Kaltwassertemperatur unter 14 Grad geht und ausgehen, wenn sie über 15 Grad ist.
Dazu habe ich folgende Befehlskette geschrieben, die aber leider nicht funktioniert:
#Heizung LED rot Aufheizen
define HZ_Aufheizen dummy
attr HZ_Aufheizen event-on-change-reading state
attr HZ_Aufheizen room Test
define HZ_AufheizenSwitch DOIF ([Hz_Vorlauf] >55)(set LED_rot on) DOELSEIF ([Hz_Vorlauf] <50) (set LED_rot off)
attr HZ_AufheizenSwitch event-on-change-reading 1
attr HZ_AufheizenSwitch room Test
#Heizung LED gelb Kaltwasser
define HZ_Kaltwasser dummy
attr HZ_Kaltwasser event-on-change-reading state
attr HZ_Kaltwasser room Test
define HZ_KaltwasserSwitch DOIF ([Kaltwasser] >15)(set LED_gelb off) DOELSEIF ([Kaltwasser] <14) (set LED_gelb on)
attr HZ_KaltwasserSwitch event-on-change-reading 1
attr HZ_KaltwasserSwitch room Test
Kann mir jemand sagen, wo der Fehler ist?
Vielen Dank!
Frage: Was willst Du mit attr HZ_AufheizenSwitch event-on-change-reading 1 erreichen (eigentlich gehören da ja namen von Readings hin)
Frage: Was ist denn Hz_Vorlauf ein device (was steht dann im state) oder ein Reading eines anderen Devices?
Frage: Stehen da wirklich dann Zahlen drin (für die Vergleiche)
Zitat von: viegener am 05 März 2017, 16:06:52
Frage: Was willst Du mit attr HZ_AufheizenSwitch event-on-change-reading 1 erreichen (eigentlich gehören da ja namen von Readings hin)
Frage: Was ist denn Hz_Vorlauf ein device (was steht dann im state) oder ein Reading eines anderen Devices?
Frage: Stehen da wirklich dann Zahlen drin (für die Vergleiche)
Ich versuche die Fragen mal zu beantworten:
Frage1: Ich weiß auch nicht genau, warum das da drin ist, ich habe es aus irgendeinem Post übernommen. Aber auch wenn ich es lösche funktioniert es nicht.
Frage2:Im State von Hz_Vorlauf steht "Tem: 65,9"
Frage3:Siehe Frage 2
Was vielleicht auch noch wichtig ist: Die Temperaturen kommen über einen ESP8266.
Nach Deinem Post denke ich, dass es vielleicht an Frage2 liegt. Vielleicht muss ich da anstatt der Zahl was anderes eintragen (z.B. Tem: 50).
Ist aber nur eine Idee und werde ich mal ausprobieren.
zu 1 - nimm das raus das ist sinnfrei und bringt eher Fehler als Nutzen
zu 2 - das ist schonmal ein Problem denn "Tem: ..." lässt sich nicht wirklich mit einer Zahl vergleichen. Das ist so in der Art nachts ist es kälter als draussen... Du müsstest also erstmal aus dem Buchstabensalat "Tem:.." etwas machen, das geht bei DOIF durch ein ":d"
Also zum Beispiel [Hz_Vorlauf:state:d]
Du kannst aber auch schauen, ob es nicht ein spezielles Reading gibt in dem nur der Zahlenwert steht?
Entsprechend für Kaltwasser
Zitat von: viegener am 05 März 2017, 17:51:31
zu 1 - nimm das raus das ist sinnfrei und bringt eher Fehler als Nutzen
zu 2 - das ist schonmal ein Problem denn "Tem: ..." lässt sich nicht wirklich mit einer Zahl vergleichen. Das ist so in der Art nachts ist es kälter als draussen... Du müsstest also erstmal aus dem Buchstabensalat "Tem:.." etwas machen, das geht bei DOIF durch ein ":d"
Also zum Beispiel [Hz_Vorlauf:state:d]
Du kannst aber auch schauen, ob es nicht ein spezielles Reading gibt in dem nur der Zahlenwert steht?
Entsprechend für Kaltwasser
Wenn ich Dich richtig verstanden habe kann ich es dann so
([Hz_Vorlauf:state:d] >55) (set LED_rot on) DOELSEIF ([Hz_Vorlauf:state:d] <50) (set LED_rot off)
oder so (beim Fühler "Kaltwasser" steht unter Readings "Temperatur5" die Gradzahl (also nur eine Zahl))
([Kaltwasser:Temperatur5] >20) (set LED_gelb off) DOELSEIF ([Kaltwasser:Temperatur5] <14) (set LED_gelb on)
machen. Korrekt?
Wäre zumindest mal einen Versuch wert ;)
Ja auf kurzen Blick sieht das ok aus, aber Du wirst es ausprobieren wollen und feststellen, ob die LEDs auch wirklich angehen, und zwar durch Variationen der Temperatur
Zitat von: viegener am 05 März 2017, 19:02:43
Wäre zumindest mal einen Versuch wert ;)
Ich habe beides ausprobiert und es scheint zu funktionieren.
Vielen Dank!!!