FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: mele am 11 Februar 2018, 09:22:14

Titel: Wie auszuführenden Befehl zusammensetzen
Beitrag von: mele am 11 Februar 2018, 09:22:14
Hi,

ich versuche gerade etwas mit Hilfe von 2 DOIFs umzusetzen.

di_1 ermittelt mit vielen Bedingungen zuverlässig einen Beschattungsstatus, z.B. BG oder BS (= state).

In der 99_myUtils.pm existieren 2 Prozeduren: BG_proc und BS_proc

di_2 soll nun dynamisch BG_proc oder BS_proc ausführen.  Um Codezeilen zu sparen würde ich den Aufruf gerne dynamisch gestalten.
Habe das mit ({[[di_1]:state]_proc}) probiert, was aber leider nicht läuft. Ziel war ({BG_proc}) bei di_1:state=BG.

Hat hier jemand einen Tipp für mich?

Vielen Dank vorab,

Manuel

Titel: Antw:Wie auszuführenden Befehl zusammensetzen
Beitrag von: Ellert am 11 Februar 2018, 09:38:11
Vielleicht eval "[di_1:state]_proc"
Titel: Antw:Wie auszuführenden Befehl zusammensetzen
Beitrag von: mele am 11 Februar 2018, 09:56:05
Zitat von: Ellert am 11 Februar 2018, 09:38:11
Vielleicht eval "[di_1:state]_proc"

So getestet und läuft:

define di_2 DOIF ([9:55]) ({eval "[di_1:state]_proc"})

Danke Ellert!!!