[Gelöst aber anders] DOIF: Triggern auf UserAttr

Begonnen von Bastel-Frank, 20 Januar 2020, 13:44:59

Vorheriges Thema - Nächstes Thema

Bastel-Frank

Hallo zusammen,

ich habe für ein Device "Lampe" einen UserAttr "Zustand" definiert. Nun möchte ich mit Doif darauf triggern. [Device:Zustand] eq "aus" funktioniert leider nicht. Wie geht es richtig?

Viele Grüße
Frank

CoolTux

Meinst Du wirklich Attribut oder nicht doch Reading.
Das ändern eines Attributes wirft ein globalen Event welcher Ausgewertet werden muss. Weiß nicht ob DOIF das so einfach kann.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Bastel-Frank

Ich meine das Attribut, welches ich vorher mit "userattr Zustand:an,aus" definiert habe.

CoolTux

Leider kann ich in der DOIF Doku nichts zu Attributs Ereignissteuerung finden.

Ein Notify könnte so aussehen

defmod notify_Test notify global:ATTR.dummytest.Licht.on a b

Hier würde das Notify nur auf das setzen des Attributes Licht mit dem Wert on vom Device dummytest reagieren.

a b ist nur ein Platzhalter für den eigentlichen FHEM Befehl der dann passieren soll.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Hi,

Ich vermute hier liegt ein grundsätzliches Missverständnis vor. Ein Attribut ist eigentlich nicht dazu gedacht Ereignisse auszulösen. Dafür gibt es readings bzw. userreadings. Meine Empfehlung wäre daher das Konstrukt auf userreadings umzubauen und damit die Standard-Eventverarbeitung zu nutzen.

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Bastel-Frank

Ich habe userattr gewählt, da ich dann per Auswahlbox sehr schön einen Wert in der fhem-Oberfläche auswählen kann. Gibt es etwas vergleichbares bei den Readings?

KernSani

Zitat von: Bastel-Frank am 20 Januar 2020, 14:19:47
Ich habe userattr gewählt, da ich dann per Auswahlbox sehr schön einen Wert in der fhem-Oberfläche auswählen kann. Gibt es etwas vergleichbares bei den Readings?
Bei dummies (ich glaube auch bei DOIF) kann man mit setList arbeiten, dann bekommst du das auch auf der Übersicht, nicht nur in der Detailansicht. Was genau willst du denn erreichen, also was ist das Gesamtszenario, das du abbilden möchtest? 
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Bastel-Frank

Mein Szenario:
Ich möchte für eine schaltbare (mobile) Steckdose einen Modus einstellen, als was der Schalter gerade eingesetzt wird, z.B. "Weihnachten", "Bewässerung" oder "Aus". Dann soll das zugehörige DOIF darauf reagieren, dass ein globaler Wert z.B. Weihnachts_Modus sagt, dass alle Schalter die als "Modus = Weihnachten" konfiguriert sind, eingeschaltet werden sollen.

KernSani

Zitat von: Bastel-Frank am 20 Januar 2020, 14:29:46
Mein Szenario:
Ich möchte für eine schaltbare (mobile) Steckdose einen Modus einstellen, als was der Schalter gerade eingesetzt wird, z.B. "Weihnachten", "Bewässerung" oder "Aus". Dann soll das zugehörige DOIF darauf reagieren, dass ein globaler Wert z.B. Weihnachts_Modus sagt, dass alle Schalter die als "Modus = Weihnachten" konfiguriert sind, eingeschaltet werden sollen.
Ich wiederhole nocheinmal in meinen Worten (damit ich das richtig verstehe): Du möchtest nicht, dass bei Änderung des Attributs eine AKtion ausgelöst wird, sondern du möchtest dir eine Automatisierung bauen, die bei Eintreten eines bestimmten Ereignisses (z.B. es ist Winter und wird dunkel) alle Geräte bei denen ein definiertes Attribut einen gewissen Wert hat (Weihnachten steht auf "an") geschaltet werden?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Bastel-Frank


CoolTux

Dann brauchst Du das mit dem Attribut Event doch gar nicht. Benutze statt dessen FILTER

set Weihnachtsbeleuchtung=on:FILTER=state=off on

Geschalten werden alle Geräte auf on mit dem Attribut Weihnachtsbeleuchtung und den Wert des Attributes on und die state off haben
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Bastel-Frank

Zitat von: CoolTux am 20 Januar 2020, 14:47:22
Dann brauchst Du das mit dem Attribut Event doch gar nicht. Benutze statt dessen FILTER

set Weihnachtsbeleuchtung=on:FILTER=state=off on

Geschalten werden alle Geräte auf on mit dem Attribut Weihnachtsbeleuchtung und den Wert des Attributes on und die state off haben

Auch eine sehr schöne Lösungsmöglichkeit, wäre ich nicht drauf gekommen  :)

Bastel-Frank

Umgesetzt, funktioniert. Vielen Dank für den Tipp  ;D.