Re: 2-Punkt-Regler (Heizung)
Guten Morgen,
ich habe mich hier an dieses Skript gehalten. https://forum.iobroker.net/topic/1087/2-punkt-regler-heizung?loggedin=true
Ich habe kein HM sondern die Option die Temp über Netatmo zu bekommen und über einen Shelly das Relais zu steuern.
Mein Versuch ist dieser hier:
// 2-Punkt-Regler Raumheizung
// Variablen erstellen
createState('Heizung.MeinZimmer_2Punkt_HZ', {
name: 'MeinZimmer_2Punkt_HZ'
});
setState('Heizung.MeinZimmer_2Punkt_HZ', false);
createState('Heizung.MeinZimmer_Sollwert_HZ', {
name: 'MeinZimmer_Sollwert_HZ'
});
setState('Heizung.MeinZimmer_Sollwert_HZ', 23.0);
// halbe Hysterese in K
var hh = 0.1;
var xid = getIdByName('netatmo.0.Dijonstraße.MeinZimmer.Temperature.Temperature'/*Temperature*/);
var wid = getIdByName('javascript.0.Heizung.MeinZimmer_Sollwert_HZ'/*MeinZimmer Sollwert HZ*/);
var yid = getIdByName("javascript.0.Heizung.MeinZimmer_2Punkt_HZ");
var x = getState(xid).val; // Istwert in °C
var w = getState(wid).val; // Sollwert in °C
console.log(x);
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();
});
Als erstes erstelle ich mir die beiden States Sollwert und Heizen 2 Punkt. Wobei der nur zum Test ist. Im Final kann ich eigentlich direkt den Shelly State schalte.
Ist mein Skript soweit ok?
Ich bekomme im Log warnungen.
javascript.0 2021-02-15 11:06:17.729 info (1101) script.js.Skripte.Heizung_MeinZimmer: registered 2 subscriptions and 0 schedules
javascript.0 2021-02-15 11:06:17.727 info (1101) script.js.Skripte.Heizung_MeinZimmer: null
javascript.0 2021-02-15 11:06:17.727 warn (1101) at script.js.Skripte.Heizung_MeinZimmer:21:9
javascript.0 2021-02-15 11:06:17.725 warn (1101) getState "undefined" not found (3)
javascript.0 2021-02-15 11:06:17.724 warn (1101) at script.js.Skripte.Heizung_MeinZimmer:20:9
javascript.0 2021-02-15 11:06:17.721 warn (1101) getState "undefined" not found (3)
javascript.0 2021-02-15 11:06:17.701 info (1101) Start javascript script.js.Skripte.Heizung_MeinZimmer
Ich habe zu beginn einfach mal die States nach erstellung definiert, damit die nicht NULL sind.
Danke schön.