Hallo Zusammen,
ich habe nun schon einiges mit notifys gebastelt.
Nun möchte ich gern eine Pushnachricht bei Anruf in Abwesenheit bzw. Verpassten Anrufen der Fritzbox.
Die FB_Calllist lieftert mir folgendes (aus dem Event-Monitor rauskopiert):
Eingehender, erfolgloser Anruf (Verpasster Anruf):
2017-02-17 13:50:21 FB_CALLLIST CallList 1-state: => X
Eingehender Anruf (laufendes Gespräch)
2017-02-17 13:54:01 FB_CALLLIST CallList 1-state: => [=]
Ich habe ein wenig Probleme, ein notify aufzubauen wenn ein bestimmtes Reading einen bestimmten Wert hat. Ich habe mich die letzten 3 Stunden mit Lesen und probieren zu dem Thema beschäftigt. Aber so richtig komme ich nicht zum Ziel.
Da die Readings Leerzeichen enthalten, habe ich es in Klammer gesetzt. Ich vermute das ich aber was grundlegendes falsch mache.
Vielleicht kann mir jemand aus der Sackgasse helfen...
Dies war mein letzter Versuch:
define notify_Anruf_Abwesenheit CallList 1-state:(=> X) set Pushover_Mike msg "Dies ist noch eine Testnachricht für Anruf Abwesenheit, wird später mit Werten gefüllt"
define notify_Anruf CallList 1-state:(=> [=]) set Pushover_Mike msg "Dies ist noch eine Testnachricht für einen Anruf, wird später mit Werten gefüllt"
(Später fülle ich die Pushnachricht noch mit Werten)
Zitat von: M.Piet am 17 Februar 2017, 14:31:28
Dies war mein letzter Versuch:
define notify_Anruf_Abwesenheit CallList 1-state:(=> X) set Pushover_Mike msg "Dies ist noch eine Testnachricht für Anruf Abwesenheit, wird später mit Werten gefüllt"
define notify_Anruf CallList 1-state:(=> [=]) set Pushover_Mike msg "Dies ist noch eine Testnachricht für einen Anruf, wird später mit Werten gefüllt"
(Später fülle ich die Pushnachricht noch mit Werten)
Beim notify soll CallList als Modul verwendet werden?
Probier mal:
define notify_Anruf_Abwesenheit notify CallList:1-state:(=>.X).* set Pushover_Mike msg "Dies ist noch eine Testnachricht für Anruf Abwesenheit, wird später mit Werten gefüllt"
define notify_Anruf notify CallList:1-state:(=>.\[=\]).* set Pushover_Mike msg "Dies ist noch eine Testnachricht für einen Anruf, wird später mit Werten gefüllt"
Gruß
Dan
Wäre es nicht geschickter, direkt den Callmonitor abzufragen? Dessen Readings sind auch nicht so "seltsam".
Zitat von: marvin78 am 17 Februar 2017, 14:37:19
Wäre es nicht geschickter, direkt den Callmonitor abzufragen? Dessen Readings sind auch nicht so "seltsam".
So habe ich es auch bereits erfolgreich gemacht.
Problem:
Reading "missed_call" wird nur bei Anruf in Abwesenheit erzeugt.
Reading "external_number" wird bei jedem Anruf erzeugt. Somit habe ich bei einem Anruf in Abwesenheit 2 Push-Nachrichten, bei einem "normalen" Anruf einen.
Und weiter kann ich in den Attributen der Calllist Filtern, dass nur eine externe Nummer angezeigt werden soll, und die anderen Rufnummern (der Oma und so) gar nicht auftauchen. Das geht im Callmonitor nicht so einfach.
@Dan: das geht leider nicht, hatte ich vorher auch schon mal in der Form probiert.
Fehler erscheint auch im Log:
2017.02.17 14:26:33 3: test_fritzbox_push return value: Unknown command 1-state:(=>, try help.
Zitat von: M.Piet am 17 Februar 2017, 14:51:21
@Dan: das geht leider nicht, hatte ich vorher auch schon mal in der Form probiert.
Fehler erscheint auch im Log:
2017.02.17 14:26:33 3: test_fritzbox_push return value: Unknown command 1-state:(=>, try help.
Das kann nicht sein!
Habe es gerade selbst bei mir in Testsystem genau so wie geschrieben definiert und es gab keine Fehlermeldung!
Gruß
Dan
Danke schon mal für deine Hilfe. :)
OK, die Fehler in dem Log müssen ein alter Test gewesen sein. Sorry dafür.
Nun habe ich keinen Fehler im Log.
Ich habe 2 Anrufe um 15:16 gemacht (siehe Screenshot).
Ich habe keine Push bekommen.
Was mich wundert: bei den beiden Readings des Notifys steht eine alte Uhrzeit (siehe Screenshot).
Sollte dort nicht immer, wenn das Reading in der Calllist neu geschrieben wird, die Uhrzeit auch erneuert werden? Oder mach ich da einen Denkfehler?
screenshots helfen nicht. Bitte immer lists posten.
Hast du event-on-change-reading im Einsatz?
Ok, wollte das mit den Screenshots ein wenig verdeutlichen.
event-on-change-reading war in der Tag aktiv. Ich habe es in der CallList deaktiviert. Aber kein Unterschied. Die Readings in den Notifys haben nach wie vor eine alte Uhrzeit (und nicht di aktuelle die das Reading in der CallList hat.
Das ist auch ok. Du musst schauen, wie das Event wirklich aussieht. Was sagt der Eventmonitor?
So sehen die Events aus:
Eingehender, erfolgloser Anruf (Verpasster Anruf):
2017-02-17 13:50:21 FB_CALLLIST CallList 1-state: => X
Eingehender Anruf (erfolgreiches Gespräch)
2017-02-17 13:54:01 FB_CALLLIST CallList 1-state: => [=]
Von dem notify sehe ich keinen Event. ich vermute das das Notify das Reading von der Calllist nicht ließt:
define notify_Anruf_Abwesenheit notify CallList:1-state:(=>.X).* set Pushover_Mike msg "Dies ist noch eine Testnachricht für Anruf Abwesenheit, wird später mit Werten gefüllt"
define notify_Anruf notify CallList:1-state:(=>.\[=\]).* set Pushover_Mike msg "Dies ist noch eine Testnachricht für einen Anruf, wird später mit Werten gefüllt"
Hi,
mach mal versuchsweise ein notify ganz ohne den =>-Kram, also in etwa:
define notify_Anruf_Abwesenheit notify CallList:1-state:.*
Das sollte auf jeden Fall triggern.
Gruß,
Thorsten
Gute Hinweis! Daran liegt es auf jeden Fall!
Hiermit erzeugt er mir sofort eine Pushnachicht:
CallList:1-state:.*
Nur wie bekomme ich es hin, dass er nur auf diese beiden States von "CallList:1-state" reagiert:
=> X
oder
=>
=> X
Hi,
probier mal das:
CallList:1-state:.=>.X
ggf. noch mit einem * hinten dran
Gruß,
Thorsten
Das hier funktioniert bei mir einwandfrei:
define n_CallList notify CallList.1-state:.=>.X {Debug "CallList 1-state: => X"}
und liefert
2017.02.17 21:24:05 1: DEBUG>CallList 1-state: => X
Hab es nun dank eurer Hilfe hinbekommen.
Meine Lösung:
CallList:1-state:.=>.X set Pushover_Mike msg "Anruf in Abwesenheit von [CallList:1-name] / [CallList:1-number] am [CallList:1-timestamp]"
CallList:1-state:.=>.\[=\] set Pushover_Mike msg "Anruf von [CallList:1-name] / [CallList:1-number] am [CallList:1-timestamp]"
Ich musste bei dem "[=]" noch ein \ davorsetzten: CallList:1-state:.=>.\[=\]
Vielen Dank für die Hilfe!!!!!
Zitat von: M.Piet am 17 Februar 2017, 21:42:05
Hab es nun dank eurer Hilfe hinbekommen.
Meine Lösung:
CallList:1-state:.=>.X set Pushover_Mike msg "Anruf in Abwesenheit von [CallList:1-name] / [CallList:1-number] am [CallList:1-timestamp]"
CallList:1-state:.=>.\[=\] set Pushover_Mike msg "Anruf von [CallList:1-name] / [CallList:1-number] am [CallList:1-timestamp]"
Ich musste bei dem "[=]" noch ein \ davorsetzten: CallList:1-state:.=>.\[=\]
Vielen Dank für die Hilfe!!!!!
Das hatte ich irgendwie schon mal vorgeschlagen... :D
Zitat von: DeeSPe am 17 Februar 2017, 14:35:33
define notify_Anruf_Abwesenheit notify CallList:1-state:(=>.X).* set Pushover_Mike msg "Dies ist noch eine Testnachricht für Anruf Abwesenheit, wird später mit Werten gefüllt"
define notify_Anruf notify CallList:1-state:(=>.\[=\]).* set Pushover_Mike msg "Dies ist noch eine Testnachricht für einen Anruf, wird später mit Werten gefüllt"
Gruß
Dan
Hey Dan. :)
Deine Variante unterscheidet sich aber von meinem Ergebnis ein wenig. Und bei deiner Variante wurde das Reading nicht erkannt.
Aber im Grunde haben alle zu dem Erfolg beigetragen, und dafür danke ich allen. Und wieder liebe ich meinen kleinen Pi im Keller ein wenig mehr....😍