NEWS
Hysterese bei Temperatur Alarm
-
Hallo zusammen
ich stehe gerade etwas auf dem Schlauch, ich lass mich per Telegram informieren wenn die Temperatur in einem Raum über >25° steigt. Damit ich bei Temperaturen über 25° nicht ständig eine Nachricht bekommen soll nur informiert werden, wenn der letzte Wert unter 25° war.
nun hab ich aber das Problem das die Temperaturen auch gerne mal um genau 25° schwanken und jedes mal wenn die Temp kurz unter 25° war natürlich beim überschreiten wieder eine Nachricht getriggert wird.
Wie kann man das eleganter lösen? -
-
Hallo Paul
danke für deine Hilfe. Oben fehlte eine Information, deshalb funktioniert es wahrsheinlich nicht...
Die ganze Logik sieht so aus:
Das heisst ich über prüfe alle Raumtemperaturen gesammelt d.h. wenn eine Temperatur unter 23° wird die Variable zurück gesetzt, wenn ich es nach deinem Bsp. mache, oder sehe ich das falsch?
-
@mibr85 sagte: ich über prüfe alle Raumtemperaturen gesammelt
Mit Mehrfach-Trigger funktioniert es natürlich so nicht. Wie viele Räume sind es, deren Temperatur überwacht werden soll?
-
@paul53
leider mehr als 20 -
-
@paul53
Vielen Dank das funktioniert genau wie es soll.eine Kleinigkeit verwundert mich noch.
um den gekürzten Namen des Temp. Sensors in der Nachricht auszugeben, nutze ich eine Funktion:let name = getObject(ObjectID).common.name; name = name.replace(" Ist-Temperatur", ""); return name;
Leider wird als Name immer noch alles zB Dach Ist-Temperatur mit " Ist-Temperatur" ausgegeben.
So sieht es im ganzen aus:
-
@mibr85 sagte: nutze ich eine Funktion:
Nein, die Funktion wird nicht aufgerufen.
Der Datenpunkt-Name wird dem Trigger übergeben und den hast Du verwendet. Wenn du ihn kürzen willst, dann erstelle eine Funktion Name(name):return name.replace(' Ist-Temperatur', '');
-
@paul53
Hab es eingefügt wie beschrieben, leider gibt er mir den namen des Scripts zurück "script.js.Nachrichten_an_Telegram.test"...return name.replace(' Ist-Temperatur', '');
-
@mibr85 sagte: gibt er mir den namen des Scripts zurück
Der Variablenbezeichner
name
ist im Javascript-Adapter vordefiniert, sollte man also nicht verwenden. Dann ändere mal die Funktion in kurzName(Name).return Name.replace(' Ist-Temperatur', '');
-
Vielen Dank für den tollen Support es läuft wie gewünscht