NEWS
Event handling abbrechen bzw. Event verwerfen
-
Hallo allerseits,
ich möchte gerne ein Event abbrechen. Wenn ich also folgenden code habe:
on({id: /.*\.thermostat\.SET$/, change: 'ne'}, function (data) { ... setState(localRoomTemperature, data.state.val); // set local room temp. if (isWindowOpen) { // cancel event handling here so that temperature is not increased when window is open } // proceed normally, so that the thermostats temperatur is set as desired (only when window is closed) });
Es geht darum, dass ich Temperatur-Datenpunkte für jeden Raum habe. (unter 0_userdata). Diese werden geschrieben, sobald jemand per Webinterface oder am Thermostat selbst die Temperatur ändert. Sobald der Temperatur-DP für einen Raum gesetzt ist, wird der Raum nicht mehr über ein Profil gesteuert (Tageszeitsteuerung).
Nach einer definierten Zeit wird dieser lokale Temperatur-DP wieder zurückgesetzt und der Raum wird wieder per Heizprofil gesteuert.Habe bisher dazu leider nichts finden können. Kennt jemand hier eine Lösung?
-
@hans009 Du musst dich in der Abbruchbeding nur ein "return"; einfügen, dann wird die Funktion doch sofort verlassen.
Oder verstehe ich da was nicht?
-
@mickym du hast Recht, insofern ich sofort aus dem Eventhandler raus will. Das Problem jedoch ist, dass der Thermostat-DP aus dem Event trotzdem gesetzt wird. In dem Event-Handler schreibe ich ja quasi einen extra user-Datenpunkt.
Ich möchte aber den Thermostat-DP nicht schreiben, wenn das Fenster auf ist.
Man könnte das auch anders lösen, aber dann muss ich bei mir leider sehr viel in den Skripten ändern