FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: tfriedrich85 am 25 April 2020, 20:21:08

Titel: gelöst - Doif im Perl Funktionsaufruf
Beitrag von: tfriedrich85 am 25 April 2020, 20:21:08
Hallo zusammen,

ich nutze ein Doif um damit einen LED Stripe zu steuern, das funktioniert auch. Allerdings möchte ich die Farbe des Strips an die Tageszeit anpassen und habe mir dazu eine Funktion (Lichtfarbe) in myutilys geschrieben, die mir je nach Tageszeit einen Hex- Farbcode zurückliefert.
Ruft man die Funktion über die Befehlszeile auf wird der korrekte Farbcode ausgegeben.

Diesen Farbcode muss nun in ein "set" Befehl und das funktioniert nicht. Seht selbst

Der DOELSEIF für White funktioniert und soll als Beispiel dienen.


## cmd_21: White
DOELSEIF ([$SELF:effect] eq "white") (
set [$SELF:device] nfx line 1 149 FFFFFF
)
## cmd_22: Zeit
DOELSEIF ([$SELF:effect] eq "zeit") (
set [$SELF:device] nfx line 1 149 [{Lichtfarbe()}]  ## RGB
)


Ich bin sicher das ist nur ein Syntax Fehler...
Titel: Antw:Doif im Perl Funktionsaufruf
Beitrag von: tfriedrich85 am 25 April 2020, 20:41:51
Hallo,

ich bin ein Stück weitergekommen über ein:

DOIF_Readings - Farbe:{Lichtfarbe()}

## cmd_22: Zeit
DOELSEIF ([$SELF:effect] eq "zeit") (
set [$SELF:device] nfx line 1 149 [$SELF:Farbe]


Wie kann ich denn diese Readings regelmäßig aktualiesiern?

Gruß Tobias
Titel: Antw:Doif im Perl Funktionsaufruf
Beitrag von: Damian am 25 April 2020, 21:11:13
Du kannst im ersten DOIF setzen:

set [$SELF:device] nfx line 1 149 {(Lichtfarbe())}  ## RGB

DOIF_Readings arbeiten nur  eventbasiert und nicht zeitgesteuert.
Titel: Antw:Doif im Perl Funktionsaufruf
Beitrag von: tfriedrich85 am 26 April 2020, 10:09:54
Danke, für die Aufklärung der Syntax! Es funktioniert!
Gruße Tobias