NEWS
Unterscheiden Manuelle Bedienung von automatischer
-
Hallo alle
Ich habe folgendes Problem:
Meine Klimaanlage ist eine Mitsubishi.
Diese kann gesteuert werden (also an/aus geschaltet) über:- Die MelCloud-App
- VIS
- über die Fernbedienung
In allen drei Fällen handelt es sich um das bewusste manuelle Abschalten oder Einschalten.
Zusätzlich gibt es aber noch ein Script das die Anlage je nach Temperatur ein und ausschaltet.
Nun hab ich das Problem, dass wenn man die Anlage einschaltet, weil man es doch entgegen der Automatik jetzt kühler haben will, das Script bei der nächsten Temperaturänderung (also im schlimmsten Fall nach 2min) die Anlage wieder abschaltet.
Das nervt natürlich.Ich müsste also eine manuelle Bedienung erkennen können und dann die Automatik -sagen wie mal für 2h - abschalten.
Das Problem das ich hier sehe:
Ich habe ja nur den Datenpunkt des MelCloud Adapters in IOBroker zur Verfügung. Und der wird auf true / false gesetzt unabhängig davon ob es das Script tut oder VIS oder die FB oder die App.
D.h.: Selbst wenn ich mir im Script eine Semaphore mache die auf true gesetzt wird, wenn das Script den Datenpunkt Power auf true setzt, wird ja dadurch der Datenpunkt selbst wieder getriggert und ich weiss im on(params[EG]["idKlima_Power"] schon wieder nicht wer den Event ausgelöst hat.
Hat jemand ne Idee?
Gruss Ralf -
@derrapf du kannst dir den Ursprung der Änderung ausgeben lassen
Da müsste dann die entsprechende Instanz ausgeworfen werden -
@derrapf sagte: Hat jemand ne Idee?
Im Trigger des Reglers eine Variable manuellEin auswerten.
const idKlima = ''; const klima = getState(idKlima); var manuellEin = klima.val && klima.c != scriptName; on(idKlima, function(dp) { manuellEin = dp.state.val && dp.state.c != scriptName; });