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.
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.))
)