FHEM Forum

FHEM => Automatisierung => Thema gestartet von: PlanLos am 11 Oktober 2016, 20:29:57

Titel: notify und fb_calllist wollen nicht zusammenarbeiten
Beitrag von: PlanLos am 11 Oktober 2016, 20:29:57
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!
Titel: Antw:notify und fb_calllist wollen nicht zusammenarbeiten
Beitrag von: rudolfkoenig am 11 Oktober 2016, 20:37:18
== 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.



Titel: Antw:notify und fb_calllist wollen nicht zusammenarbeiten
Beitrag von: Ellert am 11 Oktober 2016, 20:40:32
 FritzBox_CL:1-state passt nicht zu FritzBox_CL.1-state. Wie lautet der Gerätename? Warum verwendest Du einmal ":" und sonst "."?
Titel: Antw:notify und fb_calllist wollen nicht zusammenarbeiten
Beitrag von: Markus Bloch am 11 Oktober 2016, 20:47:35
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
Titel: Antw:notify und fb_calllist wollen nicht zusammenarbeiten
Beitrag von: PlanLos am 11 Oktober 2016, 20:56:18
Hallo zusammen.
Danke für die schnellen Antworten.

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