FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: marboj am 15 April 2021, 09:19:24

Titel: [gelöst] FB_Callmonitor entgangene Anrufe filtern
Beitrag 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
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: Otto123 am 15 April 2021, 09:24:53
Hallo Marco,

klar steht doch in missed_call_line
{if (ReadinsgVal($NAME,'missed_call_line','') eq 'Deine MSN') {fhem("dein bisheriger Code")}}

Gruß Otto
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: CoolTux am 15 April 2021, 09:29:32
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?
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag 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?
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: CoolTux am 15 April 2021, 09:35:55
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?
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: CoolTux am 15 April 2021, 09:44:20
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.
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: Otto123 am 15 April 2021, 09:53:47
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)
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: marboj am 15 April 2021, 09:55:04
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?
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: Otto123 am 15 April 2021, 09:57:57
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){}}
Titel: Antw:FB_Callmonitor entgangene Anrufe filtern
Beitrag von: marboj am 15 April 2021, 10:08:59
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]) '")}}
Titel: Antw:[gelöst] FB_Callmonitor entgangene Anrufe filtern
Beitrag von: Otto123 am 15 April 2021, 10:12:43
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] 
Titel: Antw:[gelöst] FB_Callmonitor entgangene Anrufe filtern
Beitrag von: marboj am 15 April 2021, 12:18:37
Danke, passt...