FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: FunkOdyssey am 19 Januar 2017, 21:10:33

Titel: Geschwungene/Eckige Klammern in IF maskieren?
Beitrag von: FunkOdyssey am 19 Januar 2017, 21:10:33
Kann mir jemand hier einen Tipp geben?
Quelle: https://forum.fhem.de/index.php/topic,39983.msg564708.html#msg564708

Folgendes DOIF mit einer Parameterübergabe in eckigen/geschwungenen Klammern:

(
[doorbell:state] =~ "Short"
)
(
IF ([Dreambox:state] eq "on")
(msg screen Es klingelt an der Haustür.),
IF ([rr_Bewohner1] eq "home")
(msg push @rr_Bewohner1 Es klingelt an der Haustür. O[{"Pushover_SOUND":"bike"}]),
IF ([rr_Bewohner2] eq "home")
(msg push @rr_Bewohner2 Es klingelt an der Haustür.)
)


Es erscheint folgender Fehler:


IF ([rr_Bewohner1] eq "home") (msg push @rr_Bewohner1 Es klingelt an der Haustür O[{"Pushover_SOUND":"bike"}]): IF: unknown Device: {"Pushover_SOUND"





Nachtrag
Ich habe zu spät bemerkt, dass es gar kein DOIF, sondern ein IF-Problem ist.
In einem DOIF funktioniert das einwandfrei. Aber ich habe halt im Code oben die Verschachtelung, die halt immer so einem Fehler führt.
Titel: Antw:Geschwungene/Eckige Klammern in IF maskieren?
Beitrag von: FunkOdyssey am 20 Januar 2017, 14:25:28
Hmm, das gefällt mir optisch nicht unbedingt. Aber es funktioniert auf folgende Art und Weise:


(
[doorbell:state] =~ "Short"
)
(
IF ([Dreambox:state] eq "on")
((msg screen Es klingelt an der Haustür.)),
IF ([rr_Bewohner1] eq "home")
({fhem('msg push @rr_Bewohner1 Es klingelt an der Haustür. O[{"Pushover_SOUND":"bike"}]')}),
IF ([rr_Bewohner2] eq "home")
((msg push @rr_Bewohner2 Es klingelt an der Haustür.))
)