FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Morgennebel am 28 Oktober 2018, 20:00:56

Titel: DOIF (klassischer Modus) und Filter auf ein Userreading im Ausführungsteil?
Beitrag von: Morgennebel am 28 Oktober 2018, 20:00:56
Moin Moin,


gegeben sei ein Userreading namens "ControlledLights" und ein Userreading "PctValue" in einem Dummy "Test".

Das erste Userreading führt eine Liste von Devicenamen, die mit Komma getrennt sind.
Das zweite Userreading führt einen prozentualen "Dimmlevel".


ControlledLights       HUEDevice1,HUEDevice2,HM_SCHEUENE_LightsLeft,HM_CARPORT_LightsRight
pctValue               44


Diese Gerätenamen basieren auf unterschiedlichen Protokollen und sind unterschiedlichen Typs, in diesem Beispiel Philipe HUE Lights und Homematic. Es können Dimmer, RGB-Dimmer und Schalter gemischt vorkommen.

Dieses Userreading soll nun im klassischen Ausführungsteil mit FILTER= verarbeitet werden, z.B.

set [Test:ControlledLights]:FILTER=TYPE=HUL_CM:FILTER=subtype=switch on

Laut Commandref kann set mit einer kommaseparierten Liste von Gerätenamen in der Kombination mit FILTER= arbeiten, aber wie klappt dies mit klassischem DOIF?

Funktioniert eine eine Erweiterung, wenn ich auch noch das zweite Userreading einbinde, also z.B.

set [Test:ControlledLights]:FILTER=TYPE=HUL_CM:FILTER=subtype=dimmer:FILTER=pct!=[Test:pctValue] pct [Test:pctValue]

um alle Dimmer der Geräteliste, die nicht auf dem Wert pctValue sind auf diesen zurückzusetzen?

Meine Versuche und Experimente waren nicht so erfolgreich.

Vielen Dank für die Hilfe,

Ciao, -MN
Titel: Antw:DOIF (klassischer Modus) und Filter auf ein Userreading im Ausführungsteil?
Beitrag von: Damian am 28 Oktober 2018, 20:13:31
Bei mir funktioniert

defmod di_test2 DOIF ([FS])(set [$SELF:bla] on)

mit Reading bla: bla1,bla2

Wenn es nicht funktioniert, dann hat das etwas mit der set-Filter-Syntax zutun und weniger mit DOIF.
Titel: Antw:DOIF (klassischer Modus) und Filter auf ein Userreading im Ausführungsteil?
Beitrag von: amenomade am 28 Oktober 2018, 20:38:39
Was ist TYPE=HUL_CM ?? :o
Titel: Antw:DOIF (klassischer Modus) und Filter auf ein Userreading im Ausführungsteil?
Beitrag von: Morgennebel am 28 Oktober 2018, 20:40:30
Ein Buchstabenverwuxler....

CUL_HM sollte es heissen...

Ciao, MN