NEWS
2-Punkt-Regler (Heizung)
-
Folgendes Script realisiert die 2-Punkt-Regelung einer Raumheizung:
// 2-Punkt-Regler Raumheizung // Raumkurzname am Anfang des Datenpunktnamen und als JS-Gruppenname var raum = name.split(".")[2]; // halbe Hysterese in K var hh = 0.1; var xid = getIdByName(raum + ".Temperatur"); var wid = getIdByName(raum + ".Sollwert"); var yid = getIdByName(raum + ".Heizen"); var x = getState(xid).val; // Istwert in °C var w = getState(wid).val; // Sollwert in °C function hys() { if (x <= w - hh) setState(yid, true); else if (x >= w + hh) setState(yid, false); } hys(); // Script start on(xid, function(dp) { x = dp.state.val; hys(); }); on(wid, function(dp) { w = dp.state.val; hys(); });
-
Guten Abend zusammen,
ich möchte gerne das 2-Punkt-Regler Script verwenden.
Ich verstehe nicht wie die Datenpunkte (letztlich die Temperatur und der Sollwert meines Raumthermostaten) in diesem Script verwendet werden.
In den Objekten an meinem Thermostat habe ich in dem Datenpunkt der Temperatur einen Namen eingetragen (Wohnen.Temperatur).
In der ersten Zeile des Scripts:
// Raumkurzname am Anfang des Datenpunktnamen und als JS-Gruppenname
var raum = name.split(".")[2];
wird doch die Variable "raum" sozusagen deklariert, und mit dem Ergebniss der "Split" Funktion welche sich auf "name" bezieht gefüllt. Ich verstehe nicht woher dieser Name kommt.
Ich habe das "name" durch "Wohnen" zum Test ersetzt.
Dann bekomme ich fogende Fehlermeldung im Log: Wohnen is not defined at script.js.common.Test_Heizung
Ich glaube ich habe hier den grundsätzlichen Zusammenhang noch nicht geblickt, kann mir jemand einen Tipp geben?
Viele Grüße
Matthias
-
Das Script muss unter der Gruppe "Wohnen" erstellt werden, wenn die Namen der Datenpunkte mit "Wohnen." beginnen, nicht unter "common".
-
Hallo,
vielen Dank für deinen Hinweis, jetzt funktioniert es!
Gruß
Matthias