FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Bastel-Frank am 20 Januar 2020, 13:44:59

Titel: [Gelöst aber anders] DOIF: Triggern auf UserAttr
Beitrag von: Bastel-Frank am 20 Januar 2020, 13:44:59
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
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: CoolTux am 20 Januar 2020, 13:47:07
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.
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: Bastel-Frank am 20 Januar 2020, 13:49:28
Ich meine das Attribut, welches ich vorher mit "userattr Zustand:an,aus" definiert habe.
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: CoolTux am 20 Januar 2020, 14:01:09
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.
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: KernSani am 20 Januar 2020, 14:15:07
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
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag 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?
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: KernSani am 20 Januar 2020, 14:25:07
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? 
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag 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.
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: KernSani am 20 Januar 2020, 14:43:04
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?
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: Bastel-Frank am 20 Januar 2020, 14:44:52
Ja, das ist richtig.
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag 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
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: Bastel-Frank am 20 Januar 2020, 14:50:19
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  :)
Titel: Antw:DOIF: Triggern auf UserAttr
Beitrag von: Bastel-Frank am 21 Januar 2020, 09:18:46
Umgesetzt, funktioniert. Vielen Dank für den Tipp  ;D.