NEWS
Thermostat DAnfoss programieren
-
Hallo,
ich möchte gern mein Danfoss LC13 programieren.
Das heist:
montag bis Freitag von 18Uhr 22Uhr und 6Uhr bis 8Uhr -> 20°C sonst 15°C
Samstag bis Sonntag von 8Uhr 22Uhr -> 20°C sonst 15°C
Kannn man das einstellen mit Iobrocker, es war möglich mit domoticz aber ich habe nicht gefunden mit IOBrocker ?
danke
-
niemand ?
-
Ich habe das über JavaScript gelöst, beim direkten Programmieren kann ich dir leider auch nicht helfen. Sollte wenn dan aber über die Datenpunkte gehen.
-
Ich habe das über JavaScript gelöst, beim direkten Programmieren kann ich dir leider auch nicht helfen. Sollte wenn dan aber über die Datenpunkte gehen. `
Interessant
kann ich dein script bekommen
-
Aber sicher, ist aber nicht wirklich schön programmiert, das geht mit Sicherheit wesentlich besser (waren meine ersten Schritte)
Die Datenpunkte musst du dir natürlich anpassen:
var hPlan = { 0 : {Heizung :'Wohnzimmer', Datenpunkt : 'zwave.0.NODE2.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '6:30', schaltWert :17}, 2 :{schaltzeit : '7:30', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :4}, }, 1 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 2 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 3 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 4 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 5 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 6 : { 1 :{schaltzeit : '7:30', schaltWert :17}, 2 :{schaltzeit : '9:00', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :17}, 4 :{schaltzeit : '23:30', schaltWert :4}, } }, 1 : {Heizung :'Esszimmer', Datenpunkt : 'zwave.0.NODE3.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '6:30', schaltWert :17}, 2 :{schaltzeit : '7:30', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :4}, }, 1 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 2 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 3 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 4 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 5 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 6 : { 1 :{schaltzeit : '7:30', schaltWert :17}, 2 :{schaltzeit : '9:00', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :17}, 4 :{schaltzeit : '23:30', schaltWert :4}, } }, 3 : {Heizung :'Kinderzimmer', Datenpunkt : 'zwave.0.NODE5.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '7:30', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 1 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 2 : { 1 :{schaltzeit : '7:30', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 3 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 4 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 5 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 6 : { 1 :{schaltzeit : '7:30', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, } }, 4 : {Heizung :'Schlafzimmer', Datenpunkt : 'zwave.0.NODE6.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 1 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 2 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 3 : { 1 : {schaltzeit :'6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 4 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 5 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 6 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, } } } function Wochentag() { var date = new Date(); var Tag = date.getDay(); return Tag } function Uhrzeit() { // Uhrzeit ermitteln var date = new Date(); var Minuten = date.getMinutes(); if (Minuten < 10) {Minuten = '0'+Minuten}; // wenn Minuten einstellig, dann fuege eine Null hinzu Minuten = date.getHours()+':'+Minuten; // Stunden + Minuten return Minuten } function HeizplanCheck() { for (let anzahlHeizungen in hPlan) { // Anzahl der Heizungen im Heizplan abfragen und nacheinander aufrufen for(let anzahlSchaltzeiten in hPlan[anzahlHeizungen][Wochentag()]) { // Anzahl der Schaltzeiten jeder Heizung für den heutigen Tag abfragen und nacheinander aufrufen if (hPlan[anzahlHeizungen][Wochentag()][anzahlSchaltzeiten].schaltzeit == Uhrzeit()) { // Paßt Schaltzeit zur aktuellen Zeit? setState(hPlan[anzahlHeizungen].Datenpunkt/*Heizung ID*/, hPlan[anzahlHeizungen][Wochentag()][anzahlSchaltzeiten].schaltWert); // Wenn ja, dann Heizung umstellen // sendTo("pushover", "send", { // message: 'Heizung umgestellt' /*+ hPlan[anzahlHeizungen].Heizung + 'auf' hPlan[anzahlHeizungen][Wochentag()][anzahlSchaltzeiten].schaltWert */, // sound: "" // }); }; } } } setInterval(HeizplanCheck , 60000); // alle 60 Sekunden Heizplan prüfen
-
Aber sicher, ist aber nicht wirklich schön programmiert, das geht mit Sicherheit wesentlich besser (waren meine ersten Schritte)
Die Datenpunkte musst du dir natürlich anpassen:
var hPlan = { 0 : {Heizung :'Wohnzimmer', Datenpunkt : 'zwave.0.NODE2.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '6:30', schaltWert :17}, 2 :{schaltzeit : '7:30', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :4}, }, 1 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 2 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 3 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 4 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 5 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 6 : { 1 :{schaltzeit : '7:30', schaltWert :17}, 2 :{schaltzeit : '9:00', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :17}, 4 :{schaltzeit : '23:30', schaltWert :4}, } }, 1 : {Heizung :'Esszimmer', Datenpunkt : 'zwave.0.NODE3.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '6:30', schaltWert :17}, 2 :{schaltzeit : '7:30', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :4}, }, 1 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 2 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 3 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 4 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 5 : { 1 :{schaltzeit : '7:00', schaltWert :19}, 2 :{schaltzeit : '22:15', schaltWert :4}, }, 6 : { 1 :{schaltzeit : '7:30', schaltWert :17}, 2 :{schaltzeit : '9:00', schaltWert :19}, 3 :{schaltzeit : '22:15', schaltWert :17}, 4 :{schaltzeit : '23:30', schaltWert :4}, } }, 3 : {Heizung :'Kinderzimmer', Datenpunkt : 'zwave.0.NODE5.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '7:30', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 1 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 2 : { 1 :{schaltzeit : '7:30', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 3 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 4 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 5 : { 1 :{schaltzeit : '6:45', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, }, 6 : { 1 :{schaltzeit : '7:30', schaltWert :19}, 2 :{schaltzeit : '18:45', schaltWert :19}, } }, 4 : {Heizung :'Schlafzimmer', Datenpunkt : 'zwave.0.NODE6.THERMOSTAT_SETPOINT.Heating_1_1', 0 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 1 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 2 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 3 : { 1 : {schaltzeit :'6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 4 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 5 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, }, 6 : { 1 :{schaltzeit : '6:00', schaltWert :19}, 2 :{schaltzeit : '22:00', schaltWert :19}, } } } function Wochentag() { var date = new Date(); var Tag = date.getDay(); return Tag } function Uhrzeit() { // Uhrzeit ermitteln var date = new Date(); var Minuten = date.getMinutes(); if (Minuten < 10) {Minuten = '0'+Minuten}; // wenn Minuten einstellig, dann fuege eine Null hinzu Minuten = date.getHours()+':'+Minuten; // Stunden + Minuten return Minuten } function HeizplanCheck() { for (let anzahlHeizungen in hPlan) { // Anzahl der Heizungen im Heizplan abfragen und nacheinander aufrufen for(let anzahlSchaltzeiten in hPlan[anzahlHeizungen][Wochentag()]) { // Anzahl der Schaltzeiten jeder Heizung für den heutigen Tag abfragen und nacheinander aufrufen if (hPlan[anzahlHeizungen][Wochentag()][anzahlSchaltzeiten].schaltzeit == Uhrzeit()) { // Paßt Schaltzeit zur aktuellen Zeit? setState(hPlan[anzahlHeizungen].Datenpunkt/*Heizung ID*/, hPlan[anzahlHeizungen][Wochentag()][anzahlSchaltzeiten].schaltWert); // Wenn ja, dann Heizung umstellen // sendTo("pushover", "send", { // message: 'Heizung umgestellt' /*+ hPlan[anzahlHeizungen].Heizung + 'auf' hPlan[anzahlHeizungen][Wochentag()][anzahlSchaltzeiten].schaltWert */, // sound: "" // }); }; } } } setInterval(HeizplanCheck , 60000); // alle 60 Sekunden Heizplan prüfen ```` `
Danke aber Was heisst 0 ? Montag und 6 Sonntag? ich habe nicht die Info gefunden
danke
-
Genau, das Script war ja eigentlich nur für mich gedacht
-
ok das ist gleich von montag bis freitag, kann man das nicht kleiner das schreiben ?
Dann müssen das ganze weniger einstellen.
Kann man variablen auch haben
Zum beispiel AbendTemperatur als Variabl = 20° ?
Danke
-
Es geht fast alles, aber da mußt du dir das Script anpassen. Tage werden vom System in Zahlen zurückgegeben und du müßtest das dann halt entsprechend handeln
-
Hallo Schoku80,
bist du bei deiner Heizungsregelung schon weitergekommen? Ich hab nämlich den gleichen Regeler bzw. ebenfalls eine Fernwärmeheizung. Ich bin zwar kein Pogrammierer aber falls ich irgendwie helfen kann.
Christian
-
Hallo Christian,
Bei mir läuft alles über ds Script, zur Zeit reicht mir das
-
Es geht fast alles, aber da mußt du dir das Script anpassen. Tage werden vom System in Zahlen zurückgegeben und du müßtest das dann halt entsprechend handeln `
Ok danke, aber woher weiss du ob Tag 1 ist Montag oder Sonntag ?
-
Das ist von Javascript vorgegeben, wenn du den aktuellen Tag abfragst, bekommst du eine Zahl zurückgegeben.