@arteck sagte in Unbekannte Variable - durch Upgrades entstanden??:
@homoran
zeigmal das geraffel als javascript ..da kann man mehr sehen.
hab die Variable aber mittlerweile gegen den Trigger-Wert-Block getauscht
Spoiler
var druck, aus_counter, Druckwaechter;
// Beschreibe diese Funktion …
async function Not_Aus() {
setStateDelayed('hm-rpc.0.JEQ0646431.1.STATE' /* Poolpumpe.STATE */, false, 1000, false);
setState('Messwerte.0.Pool.Not-Aus' /* Not-Aus */, true, true);
}
on({ id: [].concat(['hm-rpc.0.NEQ1547414.3.STATE']), change: 'ne' }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
druck = (obj.state ? obj.state.val : '') - getState('Messwerte.0.Pool.Druckoffset').val;
if (druck > 120) {
// Pumpe Not-Aus bei zu viel Druck
setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>','<strong>Überdruck!</strong>','<br>','Der Pumpendruck beträgt ',druck,'kPa.<br> <br>'].join('')), true);
await Not_Aus();
}
});
on({ id: [].concat(['hm-rpc.0.JEQ0646431.1.STATE']), change: 'ne' }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
if ((obj.state ? obj.state.val : '')) {
setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<h3 style="color:lightgreen;">Pumpe an !</h3>','Wassertemperatur ',getState('hm-rpc.0.LEQ0773306.2.TEMPERATURE').val,' °C <br><br>'].join('')), true);
// Überprüfung ob sich nach Start Druck aufbaut
(() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
Druckwaechter = setInterval(async () => {
if (druck < 55) {
setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['Der Pumpendruck beträgt ',druck,'kPa, Pumpe zieht Luft! (',aus_counter + 1,')'].join('')), true);
aus_counter = (typeof aus_counter === 'number' ? aus_counter : 0) + 1;
if (aus_counter > 25) {
// Pumpe Not-Aus bei zu wenig Druck
(() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>',aus_counter,' mal Unterdruck. ','Der Pumpendruck beträgt ',druck,'kPa.<br> <br>'].join('')), true);
await Not_Aus();
}
} else {
setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['Der Pumpendruck beträgt ',druck,'kPa, Pumpe OK!'].join('')), true);
(() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
aus_counter = 0;
setState('Messwerte.0.Pool.Not-Aus' /* Not-Aus */, false, true);
}
}, 2000);
} else {
(() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
aus_counter = 0;
setStateDelayed('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<h3 style="color:orange;">Pumpe aus !</h3>','Wassertemperatur ',getState('hm-rpc.0.LEQ0773306.2.TEMPERATURE').val,' °C <br><br>'].join('')), true, 1000, false);
}
});
on({ id: [].concat(['hm-rpc.0.LEQ0773306.2.TEMPERATURE']), change: 'ne' }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
if (getState('hm-rpc.0.JEQ0646431.1.STATE').val && (obj.state ? obj.state.val : '') > 29.2) {
// Pumpe Not-Aus bei zu hoher Temperatur
setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>','<strong>Wasser zu warm!</strong>','<br>','Die Wassertemperatur beträgt ',(obj.state ? obj.state.val : ''),'°C.<br> <br>'].join('')), true);
setStateDelayed('hm-rpc.0.JEQ0646431.1.STATE' /* Poolpumpe.STATE */, false, 2000, false);
setState('Messwerte.0.Pool.Overheat' /* Overheat */, true, true);
} else if ((obj.state ? obj.state.val : '') < 28.6) {
setState('Messwerte.0.Pool.Overheat' /* Overheat */, false, true);
}
});
//