notify und fb_calllist wollen nicht zusammenarbeiten

Begonnen von PlanLos, 11 Oktober 2016, 20:29:57

Vorheriges Thema - Nächstes Thema

PlanLos

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!

rudolfkoenig

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




Ellert

#2
 FritzBox_CL:1-state passt nicht zu FritzBox_CL.1-state. Wie lautet der Gerätename? Warum verwendest Du einmal ":" und sonst "."?

Markus Bloch

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
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

PlanLos

Hallo zusammen.
Danke für die schnellen Antworten.

Der Tipp von Markus hat geholfen...nun läufts.
Danke.