FB_Callmonitor - Telegram Message bei neuen Anruf

Begonnen von matzewob, 03 Juli 2019, 09:31:20

Vorheriges Thema - Nächstes Thema

matzewob

Moin zusammen,

ich habe jetzt den FB_Callmonitor und der wirft mir als Reading "external_number" die letzte Rufnummer raus die angerufen hat.

Ist es irgendwie möglich das ich, sobald sich die ändert (z.b. neuen Anruf) eine Telegram Message bekomme?

vielen Dank schonmal

Grüße aus Wolfsburg

Matze

t1me2die

Klar ist das möglich.
Ich denke der einfachste Weg ist ein notify auf das Reading.
Eventuell sollte dann noch ein "event-on-change" auf das Fritzbox Device gesetzt werden.
In dem Notify kannst du dir dann relativ einfach per

fhem "set TelegramBot @deine_Nummer message Text"

Dir eine Nachricht zukommen lassen  :)

Gruß
Mathze

matzewob

Okay, also ich hab ja jetzt den CallMonitor:


defmod CallMonitor FB_CALLMONITOR 192.168.2.1
attr CallMonitor event-on-change-reading external_number.*
attr CallMonitor room Telefonie

setstate CallMonitor opened
setstate CallMonitor 2019-07-03 09:55:56 call_duration 7
setstate CallMonitor 2019-07-03 09:55:56 call_id 0
setstate CallMonitor 2019-07-03 09:55:56 direction incoming
setstate CallMonitor 2019-07-03 09:55:56 event disconnect
setstate CallMonitor 2019-07-03 09:55:56 external_connection SIP4
setstate CallMonitor 2019-07-03 09:55:56 external_name unknown
setstate CallMonitor 2019-07-03 09:55:56 external_number 123456854
etstate CallMonitor 2019-07-03 09:55:56 internal_connection Answering_Machine_1
setstate CallMonitor 2019-07-03 09:55:56 internal_number 9853168
setstate CallMonitor 2019-06-29 09:47:07 state opened


Sowie ein Notify:


defmod notifyneueranruf notify CallMonitor.external_number set Telegram message neuer Anruf erkannt
attr notifyneueranruf room Telefonie

setstate notifyneueranruf active
setstate notifyneueranruf 2019-07-03 09:49:43 state active



Eigdl. sollte er mir ja schon eine Nachricht schicken oder? Weil kommen tut nix.
Ist es eigdl. möglich sich in der Nachricht die Nummer mitschicken zu lassen die da angerufen hat?


Otto123

#3
Hi,

ich denke dafür gibt es keinen Event:
CallMonitor.external_number

Ich mache das so:defmod nty_AnrufKlingelt notify FBMon:.*ring { \
  my $number = ReadingsVal("FBMon","internal_number",99);;\
  my $Anrufer = ReadingsVal("FBMon","external_number",99);;\
  my $AnruferName = ReadingsVal("FBMon","external_name",'');;\
  if (($number == xxxxxx) and Value("VUPLUS1") eq "on"){ \
    fhem "set VUPLUS1 showtext Anruf von $AnruferName $Anrufer";;\
  } \
}

Da wird auch die angerufene Nummer geprüft. Ich will keine Nachricht wenn ein Fax kommt :)
Dazu gehört ein paar attr und UserReading im Callmonitor:
attr FBMon fritzbox-remote-phonebook 1
attr FBMon fritzbox-remote-phonebook-via tr064
attr FBMon reverse-search phonebook,dasoertliche.de
attr FBMon userReadings AnrufExtern {ReadingsVal("FBMon","external_name","").' '.ReadingsVal("FBMon","external_number","") }


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

t1me2die

Ayayayy, da ist aber einiges im Argen.

Zuerst wären mal ein list von deinem CallMonitor gut.

Zuerst sollte das event-on-change vermutlich so ausschauen:
attr CallMonitor event-on-change external_number

Nichts mit wildcard.

Das notify könnte evtl. so ausschauen:
define n_CallMonitor notify CallMonitor:external_number:.* { fhem "set Telegram message @deine_Nummer Neuer Anruf erkannt $EVENT" }

Am leichtesten kannst du natürlich das notify direkt über den EventMonitor anlegen.
Einfach den EventMonitor öffnen, einen neuen Anruf simulieren, dass Event direkt markieren und ein Notify daraus erstellen lassen.

In der Nachricht kannst du Dir auch die Nummer mitschicken lassen, meistens funktioniert dies über $EVENT, $EVTPART0, $EVTPART1, usw.
Ich glaube Dir fehlen einige Basic's noch.

Gruß
Mathze

matzewob

Super, das hat geklappt :) Vielen Dank euch für die Hilfe :)

otto

Hallo nochmal zu dem notify kan mir ewiner erklären warum die Meldeung 2 mal ankommt und beim beenden noch mal 2mal ?
habs mal so probiert.
define n_CallMonitor notify CallMonitor:external_number:.* { fhem "set teleBot _msg Neuer Anruf erkannt $EVENT" }


Gruß Otto

Otto123

Da mach doch einfach mal den Event Monitor auf und gib dort als Filter das ein.
CallMonitor:external_number:.*

Ich denke event-on-change-reading hilft :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Peter_Listig

Hallo zusammen,

bei habe ich es mit zwei Notifies gelöst ...

gibt jeden eingehenden und jeden ausgehenden Anruf als Telegram aus


ZUHAUSE:.*ring {if(ReadingsVal("ZUHAUSE","Verbindung","default") eq "Anruf") {fhem("set Hallo_bot message Der Teilnehmer [ZUHAUSE:external_name] mit der Telefonnummer [ZUHAUSE:external_number] hat angerufen !")} }

ZUHAUSE:.*call {if(ReadingsVal("ZUHAUSE","Verbindung","default") eq "Anruf") {fhem("set Hallo_bot message Der Teilnehmer [ZUHAUSE:external_name] mit der Telefonnummer [ZUHAUSE:external_number] wurde angerufen !")} }


Anmerkung:
ZUHAUSE = FB_CALLMONITOR

Greetz

Peter
Raspi4 / Debian Bullseye / FB 7490 / FHEM 6.x / CUL433 / CUL868 / aculfw / FrtizFon / DECT200 / IT / Homematic / ZigBee (Raspbee) /  Rademacher / HE / km200  / DS214+

Kellerkind86

Hallo,
wo liegt der Fehler.. hab das vom Otto123 so übernommen und auf meine geräte abgeändert.

Internals:
   CFGFN     
   DEF        192.168.178.2
   DeviceName 192.168.178.2:1012
   FD         15
   FUUID      5e52cb8b-f33f-5016-f8f1-81e1bf9d1f66c18d
   NAME       Anrufliste
   NOTIFYDEV  global
   NR         46289
   NTFY_ORDER 50-Anrufliste
   PARTIAL   
   STATE      opened
   TYPE       FB_CALLMONITOR
   READINGS:
     2020-02-25 20:35:00   AnrufExtern     unknown 0*******
     2020-02-25 20:35:00   call_duration   33
     2020-02-25 20:35:00   call_id         0
     2020-02-25 20:35:00   direction       incoming
     2020-02-25 20:35:00   event           disconnect
     2020-02-25 20:35:00   external_connection SIP0
     2020-02-25 20:35:00   external_name   unknown
     2020-02-25 20:35:00   external_number 02*****
     2020-02-25 20:35:00   internal_connection DECT_1
     2020-02-25 20:35:00   internal_number 9387548
     2020-02-25 19:58:58   missed_call     01607*****
     2020-02-24 22:10:08   state           opened
   helper:
     CACHE:
       secret
     PHONEBOOKS:
       0:
         500@hd-telefonie.avm.de AVM Ansage (HD)
     nummers...

     PHONEBOOK_NAMES:
       0          Telefonbuch
       1          Zuhause
     TEMP:
     TR064:
       SECURITY_PORT 56783
Attributes:
   DbLogExclude .*
   apiKeySearchCh 55e8ae6db725afd3633108145630bb4df
   event-on-change-reading .*
   fritzbox-remote-phonebook 1
   fritzbox-remote-phonebook-via tr064
   local-area-code 02454
   reverse-search textfile,dasoertliche.de
   reverse-search-cache 1
   reverse-search-cache-file /opt/fhem/log/reverse_search.txt
   room       Geräte->LAN
   sendKeepAlives 10m
   userReadings AnrufExtern {ReadingsVal("Anrufliste","external_name","").' '.ReadingsVal("Anrufliste","external_number","") }


mein notify sieht so aus :
Internals:
   CFGFN     
   DEF        defmod nty_AnrufKlingelt notify Anrufliste:.*ring {
  my $number = ReadingsVal("Anrufliste","internal_number",99);;
  my $Anrufer = ReadingsVal("Anrufliste","external_number",99);;
  my $AnruferName = ReadingsVal("Anrufliste","external_name",'');;
  if (($number == xxxxxx) and Value("VUPLUS") eq "on"){
    fhem "set VUPLUS showtext Anruf von $AnruferName $Anrufer";;
  }
}
   FUUID      5e543558-f33f-5016-8cbd-76868bdf699ee28d
   NAME       nty_AnrufKlingelt
   NR         103274
   NTFY_ORDER 50-nty_AnrufKlingelt
   REGEXP     defmod
   STATE      active
   TYPE       notify
   Helper:
     DBLOG:
       state:
         LOG_Db:
           TIME       1582576984.58533
           VALUE      active
   READINGS:
     2020-02-24 22:05:41   state           active
Attributes:
   DbLogExclude .*
   room       System->Logik


danke für die Hilfe
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Otto123

#10
Sorry - aber was ist der Fehler? Ach ja jetzt gesehen: Du hast deinen Kopf vergessen (Zwischen Copy und Paste)
Poste mal ein list VUPLUS  ;)

Du hast die Raw Def in die DEF geschrieben. 🙈
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kellerkind86

ZitatSorry - aber was ist der Fehler? Ach ja jetzt gesehen: Du hast deinen Kopf vergessen (Zwischen Copy und Paste)
Poste mal ein list VUPLUS  ;)

Du hast die Raw Def in die DEF geschrieben. 🙈

upps.. sorry, wie gesagt..neuling.
was muss ich ändern damit es funktioniert ?
ich gelobe besserung  :-[

Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Otto123

Was Du ändern musst? Ich würde sagen Grundlagen anlesen :)
Mein Beispiel aus #3 ist aus meiner Umgebung, da ist lediglich die zu prüfende Telefonnummer anonymisiert.
Der Code ist für die Raw Definition, defmod ändert ein Gerät, ist es nicht vorhanden wird es angelegt.
FBMon ist mein Callmonitor: Musst Du anpassen. Hast Du zwar gemacht - aber Du hast das Prinzip vom notify nicht verstanden.
VUPLUS ist mein Satreceiver, auf dem will ich ausgeben und prüfe ob er an ist.

Du kannst den Code von mir nehmen, in die Raw Def kopieren, Deine Geräte ändern die Telefonnummer eintragen und auf execute drücken.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kellerkind86

Ja.. das hab ich mir auch schon gedacht.. ich muss auf jedenfall mehr lesen.. danke..
vuplus ist klar.. hab ne Duo2.. das funktioniert auch.. bis auf dass ich keine Nachricht bekomme. [emoji3] danke dir


Gesendet von iPhone mit Tapatalk Pro
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz