Guten Morgen,
ich nutze den Callmonitor, um mit per Push-Nachricht entgangene Anrufe auf das Handy schicken zu lassen über das event "missed_call". Leider bekomme ich von allen eingerichteten Nummern die Nachricht.
Kann man das einschränken nur auf bestimmte MSN?
Habe das mit folgendem notify umgesetzt:
defmod Anrufmonitor_notify_1 notify Anrufmonitor:missed_call:.* set Pushnachricht msg 'Anruf in Abwesenheit [Anrufmonitor:internal_number]' 'von [Anrufmonitor:external_number] ([Anrufmonitor:external_name])'
Gruß
Marco
Hallo Marco,
klar steht doch in missed_call_line
{if (ReadinsgVal($NAME,'missed_call_line','') eq 'Deine MSN') {fhem("dein bisheriger Code")}}
Gruß Otto
Zitat von: marboj am 15 April 2021, 09:19:24
Guten Morgen,
ich nutze den Callmonitor, um mit per Push-Nachricht entgangene Anrufe auf das Handy schicken zu lassen über das event "missed_call". Leider bekomme ich von allen eingerichteten Nummern die Nachricht.
Kann man das einschränken nur auf bestimmte MSN?
Habe das mit folgendem notify umgesetzt:
defmod Anrufmonitor_notify_1 notify Anrufmonitor:missed_call:.* set Pushnachricht msg 'Anruf in Abwesenheit [Anrufmonitor:internal_number]' 'von [Anrufmonitor:external_number] ([Anrufmonitor:external_name])'
Gruß
Marco
Hast Du denn die MSN mit im Event oder zu mindest als aktuelles Reading im Call Monitor?
@Otto: Das Reading hab ich gar nicht nicht ???
@Cooltux: Muss doch da sein, da die angerufene Nummer im Notify angezeigt wird, oder?
Zitat von: marboj am 15 April 2021, 09:33:25
@Otto: Das Reading hab ich gar nicht nicht ???
@Cooltux: Muss doch da sein, da die angerufene Nummer im Notify angezeigt wird, oder?
Wie Otto schon sagt sollte das anscheinend wohl in missed_call_line stehen. Kannst Du uns ein list vom Device geben?
Gerade mal in meine alte Installation geschaut. missed_call_line habe ich auch nicht. Aber wie gesagt die Install ist aus 07 2020. Kann sein das es seit dem neue Readings gab.
Mist, sehe ich auch gerade erst FBMon 2016-01-19 19:42:21 missed_call_line 9xxxxxx ist alt - aber gab es mal?
Dann nimmst Du internal_number ;D
2021-04-15 09:54:31 internal_number 03419xxxxx
2021-04-15 09:54:31 missed_call 0160xxxx000 (Heinz-Otto Klas)
Habe gefunden, dass das reading "missed_call_line" nicht mehr vorhanden ist, das reading "internal_number" aber den gleichen Zweck erfüllt.
Ergänze ich das dann einfach so:
defmod Anrufmonitor_notify_1 notify {if (ReadingsVal($NAME,'internal_number','') eq 'Deine MSN') Anrufmonitor:missed_call:.* set Pushnachricht msg 'Anruf in Abwesenheit [Anrufmonitor:internal_number]' 'von [Anrufmonitor:external_number] ([Anrufmonitor:external_name])'}
klappt es nicht...
Kann man auch eine Aufzählung von MSN mit Kommata getrennt nutzen?
Du hast wenig Ahnung vom notify? Zum nachlesen wenn es mal nicht "klappt" ;) https://wiki.fhem.de/wiki/Notify
Nicht getestet, es besteht kein Anspruch auf stumpfes C&P 8)
defmod Anrufmonitor_notify_1 notify Anrufmonitor:missed_call:.* {if (ReadingsVal($NAME,'internal_number','') eq 'Deine MSN') {fhem("set Pushnachricht msg 'Anruf in Abwesenheit [Anrufmonitor:internal_number]' 'von [Anrufmonitor:external_number] ([Anrufmonitor:external_name]) '")}}
Zitatvon MSN mit Kommata getrennt nutzen?
Vielleicht gibt es dafür ein Perl konstrukt - aber Du kannst einfach nach gleichem Schema 27 Tests einfügen.
{if(Bedingung1 or Bedingung2 or Bedingung27){}}
Die Doku ist gut, aber oft zu mächtig und ich bin noch ganz am Anfang ;-)
Es hat geklappt, danke Otto und Cooltux :)
Falls es mal jemand braucht:
defmod Anrufmonitor_notify_1 notify Anrufmonitor:missed_call:.* {if (ReadingsVal($NAME,'internal_number','') eq 'XXX' or 'YYY') {fhem("set Pushnachricht msg 'Anruf in Abwesenheit [Anrufmonitor:internal_number]' 'von [Anrufmonitor:external_number] ([Anrufmonitor:external_name]) '")}}
Das ist falsch! (ReadingsVal($NAME,'internal_number','') eq 'XXX' or 'YYY') weil die 2. Bedingung: ("irgendeine Nummer" ) ist immer wahr! Damit spielt das or keine Rolle und nur Bedingung1 wird ausgewertet (Bedingung1 or 1 (wahr) )
Richtig: (ReadingsVal($NAME,'internal_number','') eq 'XXX' or ReadingsVal($NAME,'internal_number','') eq 'YYY')
BTW: Das hier [Anrufmonitor:external_number] ([Anrufmonitor:external_name]) geht doch einfacher so? [Anrufmonitor:AnrufExtern]
Danke, passt...