Thermostat: Eventname für die Event Watcher App?

Post Reply
kWave
Posts: 20
Joined: 11 Dec 2016 00:02

Thermostat: Eventname für die Event Watcher App?

Post by kWave » 21 Dec 2016 03:14

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?

maros
Posts: 103
Joined: 05 Apr 2014 11:21

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

Post by maros » 31 Dec 2016 00:59

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š
Z-Way 2.2.4 on Raspi B | My Zway GitHub repos | Amazon Wishlist to support module development

kWave
Posts: 20
Joined: 11 Dec 2016 00:02

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

Post by kWave » 31 Dec 2016 01:15

Hallo Maroš,

danke für deine Antwort.

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

maros
Posts: 103
Joined: 05 Apr 2014 11:21

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

Post by maros » 05 Feb 2017 14:05

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.
Z-Way 2.2.4 on Raspi B | My Zway GitHub repos | Amazon Wishlist to support module development

Post Reply