Temperatur Vergleich mit Nummer
Verfasst: 1. Okt 2022 08:09
Ich bekomme schon wieder etwas nicht hin, wo ich mir eigentlich vorgestellt habe das es einfach sein sollte.
Wie in diesem Thread zu sehen, möchte ich die Öffnung der Fenster überwachen, und mich warnen lassen, wenn sie zu lange auf sind.
Jetzt wollte ich das noch Temperatur abhängig machen. Also z.B. nur ausführen, wenn die Außentemperatur unter 15°C liegt.
Jetzt habe ich schon einiges mit Blockly probiert, aber der Vergleich der Temperatur mit einem Wert liefert nicht true, obwohl er in meinen Augen true sein sollte.
Das Problem liegt, so denke ich, dass der Wert vom Item als String geliefert wird. Nach einigem googeln, habe ich rausgelesen, das man eine Variable erstellen sollte, damit man diese mit einer Zahl vergleichen kann. Aber leider funktioniert dies auch nicht.
Das Item selber ist als reine Nummer angelegt. Ist kein UoM.
Wie macht so einen Vergleich richtig?
Ist dies eigentlich der richtige Forum Bereich um Fragen zu Regeln zu stellen?
Die Forums Suche ist leider etwas störrisch, den die Suchbegriffe werden ignoriert, da sie zu oft vorkommen. Nur fielen mir keine anderen passenden Stichworte ein. Ich bin mir auch sicher, dass ich nicht der erste bin, der einen Vergleich mit einem Temperaturwert anstellen will.
Ein Link zu einem Thema, wo es behandelt wird, wäre auch super.
Vielen Dank.
Wie in diesem Thread zu sehen, möchte ich die Öffnung der Fenster überwachen, und mich warnen lassen, wenn sie zu lange auf sind.
Jetzt wollte ich das noch Temperatur abhängig machen. Also z.B. nur ausführen, wenn die Außentemperatur unter 15°C liegt.
Jetzt habe ich schon einiges mit Blockly probiert, aber der Vergleich der Temperatur mit einem Wert liefert nicht true, obwohl er in meinen Augen true sein sollte.
Das Problem liegt, so denke ich, dass der Wert vom Item als String geliefert wird. Nach einigem googeln, habe ich rausgelesen, das man eine Variable erstellen sollte, damit man diese mit einer Zahl vergleichen kann. Aber leider funktioniert dies auch nicht.
Das Item selber ist als reine Nummer angelegt. Ist kein UoM.
Code: Alles auswählen
var Temperatur;
var scriptExecution = Java.type('org.openhab.core.model.script.actions.ScriptExecution');
var zdt = Java.type('java.time.ZonedDateTime');
if (typeof this.timers === 'undefined') {
this.timers = [];
}
Temperatur = itemRegistry.getItem('SensEgg58_Temperatur').getState();
if (typeof this.timers['WohnzimmerFensterTimer'] === 'undefined' || this.timers['WohnzimmerFensterTimer'].hasTerminated()) {
this.timers['WohnzimmerFensterTimer'] = scriptExecution.createTimer(zdt.now().plusSeconds(10), function () {
if (itemRegistry.getItem('FensterkontaktWohnzimmer_Wert1').getState() == 'OPEN' && Temperatur < 15) {
events.sendCommand('EchoWohnen_Sprich', 'Wohnzimmer Fenster schließen');
if (typeof this.timers['WohnzimmerFensterTimer'] !== 'undefined') { this.timers['WohnzimmerFensterTimer'].reschedule(zdt.now().plusSeconds(10)); }
}
})
} else {
this.timers['WohnzimmerFensterTimer'].reschedule(zdt.now().plusSeconds(10));
}
Ist dies eigentlich der richtige Forum Bereich um Fragen zu Regeln zu stellen?
Die Forums Suche ist leider etwas störrisch, den die Suchbegriffe werden ignoriert, da sie zu oft vorkommen. Nur fielen mir keine anderen passenden Stichworte ein. Ich bin mir auch sicher, dass ich nicht der erste bin, der einen Vergleich mit einem Temperaturwert anstellen will.
Ein Link zu einem Thema, wo es behandelt wird, wäre auch super.
Vielen Dank.