Hallo Leute,
irwie bin ich zu blöde glaub ich.
Mein Wunsch ist es, beim Event der FB_Calllist über ein notify die Lautstärke der Musik steuern zu lassen.
Doch das will einfach nicht so wie ich will!!! GRML
Folgender bisheriger Aufbau:
define n_Anruf notify FritzBox_CL:1-state:.* {
if((Value("FritzBox_CL.1-state") == "=> ((o))")||(Value("FritzBox_CL.1-state") == "<= ((o))")){
fhem ("set iTunes volume 0")
}elsif((Value("FritzBox_CL.1-state") == "=> X")||(Value("FritzBox_CL.1-state") == "=> O_O")||(Value("FritzBox_CL.1-state") == "<=")||(Value("FritzBox_CL.1-state") == "=>")){
fhem ("set iTunes volume 60")
}
}
(die / hab ich hier mal weg gelassen und verstehen sich natürlich von selbst)
Könnte jetzt mal euren Hirnschmalz gebrauchen.
Will nicht noch 100 Anrufe tätigen und weiter testen. XD
DANKE euch!
== sollte vmtl. eq heissen, da Stringvergleich. Veilleicht gibt es auch andere Problemen.
Ich wuerde das Problem Schritt-fruer-Schritt angehen, und in telnet oder in der FHEMWEB Kommandzeile _nacheinander_ eingeben, und Ergebnis pruefen:
{ Value("FritzBox_CL.1-state") }
{ Value("FritzBox_CL.1-state") == "=> ((0))" ? "J" : "N" }
{ fhem ("set iTunes volume 0") }
usw.
FritzBox_CL:1-state passt nicht zu FritzBox_CL.1-state. Wie lautet der Gerätename? Warum verwendest Du einmal ":" und sonst "."?
Hallo,
du nutzt ebenfalls die falsche Funktion um den Readings-Wert zu ermitteln.
http://fhem.de/commandref_DE.html#perl
ZitatValue(<devicename>)
gibt den Status eines Gerätes zurück (entsprechend dem Ausdruck in Klammern, den Sie beim List-Befehl sehen).
Um ein Reading-Wert zu erhalten musst du die Funktion ReadingsVal nehmen:
ZitatReadingsVal(<devicename>,<reading>,<defaultvalue>)
Gibt den Inhalt der "readings" zurück (den Inhalt der in dem "Readings"-Abschnitt von "list device" angezeigt wird)
Also bspw.
define n_Anruf notify FritzBox_CL:1-state:.* {
if((ReadingsVal("FritzBox_CL", "1-state", "") eq "=> ((o))")||(ReadingsVal("FritzBox_CL", "1-state", "") eq "<= ((o))")){
fhem ("set iTunes volume 0")
}elsif((ReadingsVal("FritzBox_CL", "1-state", "") == "=> X")||(ReadingsVal("FritzBox_CL", "1-state", "") eq "=> O_O")||(ReadingsVal("FritzBox_CL", "1-state", "") eq "<=")||(ReadingsVal("FritzBox_CL", "1-state", "") eq "=>")){
fhem ("set iTunes volume 60")
}
}
Gruß
Markus
Hallo zusammen.
Danke für die schnellen Antworten.
Der Tipp von Markus hat geholfen...nun läufts.
Danke.