Page 1 of 1

Thermostat: Eventname für die Event Watcher App?

Posted: 21 Dec 2016 03:14
by kWave
Hallo,

Immer wenn die Temperatur meines Heizkörper-Thermostats geändert wird (sowohl durch "Handbetrieb" als auch übers UI oder per Automatik) möche ich eine bestimmt Szene ausführen.

Ich möchte gerne das dazugehörige Event mit der Event Watcher App abfangen.

Das Event soll in der Konfiguration der App wie folgt angegeben werden:
These events trigger the processing of actions. Use the exact event name ie. 'presence.home'
Aber ich kann einfach nicht herausfinden wie das Event für mein Gerät heißen muss.

In der (etwas knappen) Doku zur App auf Github stehen als Beispiel nur Standardevents wie "presence.home" oder "rain.start".

Ideen?

Re: Thermostat: Eventname für die Event Watcher App?

Posted: 31 Dec 2016 00:59
by maros
Das kannst du mit der Event Watcher App leider nicht machen. Event Watcher lauscht nur auf globale controller Events (die zB. von diversen Modulen erzeugt werden), während Änderungen bei Devices (zB metrics:level) ein controller.device Event auslösen (mit dem Device im Event Payload).

Soweit ich weiss gibt es im Moment kein Modul das deinen Anwendungsfall abdeckt. Mit der CustomUserCodeZWay App kannst du dein Szenario mit ein paar Zeilen JavaScript Code abdecken

Cheers
Maroš

Re: Thermostat: Eventname für die Event Watcher App?

Posted: 31 Dec 2016 01:15
by kWave
Hallo Maroš,

danke für deine Antwort.

Hättest du eventuell einen Code-Ansatz für mich? (JS kann ich)

Re: Thermostat: Eventname für die Event Watcher App?

Posted: 05 Feb 2017 14:05
by maros

Code: Select all

var self = this;
self.controller.devices.get(deviceId).on('change:metrics:level',function(e) {
    self.controller.devices.get(sceneId).performCommand('on');
});
Das hier sollte reichen. Statt 'change:metrics:level' kannst du auch 'modify:metrics:level' benutzen - das kommt aus dem BaseModule (muss installiert und aktiv sein) und wird nur bei tatsächlichen Änderungen aufgerufen.