NEWS
Blockly-Script Thermostat/Heizung
-
@kaba sagte Heizung zwar bei 17 Grad einschaltet (bzw. <17), jedoch nicht mehr abschaltet.
Sie muss bei >= 18 °C abschalten.
-
@paul53
Ja, das tut sie leider nicht. Sie schaltet gar nicht mehr ab. -
@kaba sagte: tut sie leider nicht.
Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
var BadezimmerSollwert, heizung; BadezimmerSollwert = 16; // Fenster on({id: 'zigbee.0.00158d0003a00d06.opened', change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("hs100.0.192_168_178_33.state"/*HeizungBad*/, false); }); // Heizung on({id: 'hs100.0.192_168_178_33.state', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') { BadezimmerSollwert = 19; } else { BadezimmerSollwert = 16; } }); // Temperatur on({id: 'hm-rpc.1.000E5BE9A77AD0.1.ACTUAL_TEMPERATURE', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (!getState("zigbee.0.00158d0003a00d06.opened").val) { if ((obj.state ? obj.state.val : "") <= BadezimmerSollwert) { heizung = true; } else if ((obj.state ? obj.state.val : "") >= parseFloat(BadezimmerSollwert) + 1) { heizung = false; } if (heizung != getState("hs100.0.192_168_178_33.state").val) { setState("hs100.0.192_168_178_33.state"/*HeizungBad*/, heizung); } } }); on({id: 'zigbee.0.00158d0003a00d06.opened', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a00d06.opened").val == true && getState("hm-rpc.1.00115A4996E621.4.LEVEL").val < 100) { setState("hm-rpc.1.00115A4996E621.4.LEVEL"/*RA_Bad:4.LEVEL*/, 100); } });
-
Ich habe die Temperatur noch angepasst und ergänzt, dass wenn Abends das Rollo schon geschlossen ist, es beim öffnen des Fensters hoch fährt.
-
Ganz schön kompliziert….
Du hast doch ein Homematic Thermostat, warum dann per Script die Temperatursteuerung nachbilden?
Du setzt beim Thermostat deine Comfort und Eco Temperaturen. Das HM Thermostat hat im Kanal 7 den DP „Decision Value. Der ist bei Heizung aus =0 und bei Heizung ein =200.
Das Blockly hat dann nur die Funktion
wenn Decision Value = 0 dann wlan Dose aus
Sonst
WLAN Dose einDu schreibst leider nicht was für einen Fensterkontakt du hast. Wenn das auch ein Homematic tfk ist, kannst du den per Direktverknüpfung mit dem HM Thermostat verbinden und musst dich auch nicht mehr per Script drum kümmern, ob Fenster auf oder zu.
Für das händische Einschalten der Heizung direkt an der WLAN Dose, wählst du vorher am HM Thermostat mit der linken Taste den Manu Mode. Wenn die Regelung wieder greifen soll wählst du Auto Mode.
Damit das nicht vergessen geht kann man die Umschaltung auf Auto mit einem Script z.B. nachts um 00:00 automatisieren. -
@kaba
Im Skript sind keine Fehler zu erkennen. Das Skript läuft in der JS-Instanz 0? Wenn ja, füge mal Debug-Blöcke in den Temperatur-Trigger ein, um die Temperatur und den Sollwert zu loggen. -
@kaba sagte: ergänzt, dass wenn Abends das Rollo schon geschlossen ist, es beim öffnen des Fensters hoch fährt.
Das solltest Du in einem Trigger mit dem Ausschalten der Heizung zusammenfassen.
-
Danke für deinen Vorschlag, ich habe allerings "nur" das Thermostat ohne Tasten. Der Fensterkontakt ist nicht von HM.
-
Ja, läuft in der nuller Instanz. Habe ich soeben eingefügt.
-
Vielen Dank, gute Idee. Habe ich so umgesetzt
-
@paul53 sagte in Blockly-Script Thermostat/Heizung:
@kaba
Im Skript sind keine Fehler zu erkennen. Das Skript läuft in der JS-Instanz 0? Wenn ja, füge mal Debug-Blöcke in den Temperatur-Trigger ein, um die Temperatur und den Sollwert zu loggen.Ich habe den Fehler bzw. das Problem gefunden. Ich habe die Temperatur ja nachträglich noch angepasst (auf 16 Grad) scheinbar ist irgendwo aber noch die 17 gespeichert, denn die Heizung ist gerade bei >=18 aus gegangen.