FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: matzewob am 03 Juli 2019, 09:31:20

Titel: FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: matzewob am 03 Juli 2019, 09:31:20
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: t1me2die am 03 Juli 2019, 09:40:05
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: matzewob am 03 Juli 2019, 09:58:25
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?

Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 03 Juli 2019, 10:07:11
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: t1me2die am 03 Juli 2019, 10:08:42
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: matzewob am 03 Juli 2019, 10:12:40
Super, das hat geklappt :) Vielen Dank euch für die Hilfe :)
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: otto am 23 Februar 2020, 16:00:18
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 23 Februar 2020, 16:11:31
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Peter_Listig am 25 Februar 2020, 13:20:51
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 25 Februar 2020, 21:09:21
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 25 Februar 2020, 21:16:44
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. 🙈
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 25 Februar 2020, 21:28:56
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  :-[

Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 25 Februar 2020, 21:46:36
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.
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 25 Februar 2020, 22:09:49
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
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 25 Februar 2020, 22:17:05
warum postest Du dann kein neues list? ;)
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 25 Februar 2020, 22:35:25
sorry für die verspätung und danke für die ausdauer..

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


bei $number welche kommt da hin ? meine eigene ? oh man.. sorry  :-\ :-[
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 25 Februar 2020, 22:39:08
Zitat$number = ReadingsVal("Anrufliste","internal_number"
Damit habe ich bewirkt, das nur beim Anruf einer bestimmten, eigenen Nummer die Nachricht kommt. Kannst Du einfach weglassen, wenn es immer benachrichtigen soll.
VUPLUS musst Du noch in den Namen deines FHEM Satbox Gerätes ändern.
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 25 Februar 2020, 22:46:09
Okay, dann lasse ich es erstmal weg.
Meine heißt jetzt auch VUPlus [emoji41]
Kurze Frage die etwas offtopic ist.
macht es Sinn bei YouTube oder wo immer mal mehr Perl Kenntnisse zu ergattern . Sinn macht es ja bestimmt.  Dann wird FHEM im allgemeinen sicherlich einfacher zu verstehen.
Danke [emoji4]

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

Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 25 Februar 2020, 23:16:40
ich lese immer hier nach:
https://perldoc.perl.org/index.html

Ich habe den Code mal etwas "normalisiert" der Code stand schon ewig so, man lernt ja dazu :)
Jetzt hat man bloß zwei Stellen am Anfang zum konfigurieren. $patt ist ein regEx Pattern, so wie jetzt reagiert es auf alle internen Nummern die mit 123456 beginnen. Wenn Du dort bloß .* einsetzt reagiert er auf alle Nummern.
Der  Code ist jetzt für die DEF !
FBMon:.*ring {
  my $box="VUPLUS1";
  my $patt="123456.*";
  my $number = ReadingsVal($NAME,"internal_number",99);
  if (($number =~ m/$patt/) and Value($box) eq "on"){
    fhem ("set $box showtext Anruf von [$NAME:external_name] [$NAME:external_number]")
  }
}
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 25 Februar 2020, 23:31:28
Danke dir. Echt top. Ich hätte noch ne Frage zu Enigma.. aber da mach ich lieber einen neuen thread auf.


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 26 Februar 2020, 16:39:32
Also ich muss nochmal nachfragen...ich nervensäge..^^
also die nachricht bekomm ich am tv angezeigt.
leider steht als beispiel.

AnrufExtern                              unknown 016065651561
missed_call                              016065651561       

obwohl meine Telefonbuch diese nummer als beispiel hinterlegt ist.

woran kann es noch liegen ?

Internals:
   CFGFN     
   DEF        192.168.178.2
   DeviceName 192.168.178.2:1012
   FD         8
   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-26 16:04:54   AnrufExtern     unknown 016065****561
     2020-02-26 16:04:54   call_duration   0
     2020-02-26 16:04:54   call_id         0
     2020-02-26 16:04:54   direction       incoming
     2020-02-26 16:04:54   event           disconnect
     2020-02-26 16:04:54   external_connection SIP0
     2020-02-26 16:04:54   external_name   unknown
     2020-02-26 16:04:54   external_number 016065651561
     2020-02-26 15:54:07   internal_connection DECT_1
     2020-02-26 16:04:54   internal_number 758473
     2020-02-26 16:04:54   missed_call     016065651561
     2020-02-26 16:28:53   state           opened
   helper:
     CACHE:
       0245****0451 unknown
     PHONEBOOKS:
       0:
         500@hd-telefonie.avm.de AVM Ansage (HD)
       1:
         016065651561    Marcell ********
         8175       Schule
     PHONEBOOK_NAMES:
       0          Telefonbuch
       1          Zuhause
     TEMP:
     TR064:
       SECURITY_PORT 49443
Attributes:
   DbLogExclude .*
   apiKeySearchCh 55e8ae6db7%&%$15a10bb4df
   event-on-change-reading .*
   fritzbox-remote-phonebook 1
   fritzbox-remote-phonebook-via tr064
   fritzbox-user Marcell*****
   local-area-code 02***
   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","") }


Also es liegt ja am Telefonbuch.
wie bekomm ich denn hin, dass fhem das telefonbuch (500@hd-telefonie.avm.de AVM Ansage (HD)
kA was da passiert ist.

Gruss Marcell
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Brice am 26 Februar 2020, 17:29:20
FHEM neu gestartet, nachdem du das Telefonbuch-xml in das FHEM-Verzeichnis kopiert hast? FHEM liest das xml-File bei jedem Start neu ein.
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Hans Franz am 26 Februar 2020, 17:38:36
Dir fehlt das Attribut reverse-search-text-file, denke ich.
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 26 Februar 2020, 18:23:16
Du hast remote-phonebook gesetzt,, aber im reverse-search fehlt es?

Wo meinst Du denn steht die Nummer drin?
Hast Du eins oder mehrere Telefonbücher auf der Box?
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Kellerkind86 am 26 Februar 2020, 21:10:55
jap, das war es.. hatte reverse-search  fürs phonebook vergessen.. jetzt läuft es. danke euch
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: otto am 28 Februar 2020, 17:16:31
    Hallo nochmal ...
mit dieser Funktion kommt bei jeden Anruf eine Meldung egal ob ich auf Nummer xxx1,xxx2 oder xxx3 anrufe

my_callmonitor:.*ring {if(ReadingsVal("my_callmonitor","incoming","xxx1") eq "xxx1") {fhem("set teleBot message _msg Anruf von [my_callmonitor:external_name] : [my_callmonitor:external_number]  !")} }


Was mach ich schon wieder Falsch

Gruß Otto
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 28 Februar 2020, 17:48:29
Was soll dabei rauskommen?
(ReadingsVal("my_callmonitor","incoming","xxx1") eq "Anruf")
teste selbst (FHEM Kommandozeile):
{ReadingsVal("my_callmonitor","incoming","xxx1")}
Oder list my_callmonitor incoming

Ich habe doch oben ein funktionierendes Beispiel? :o

Gruß Otto
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: otto am 28 Februar 2020, 18:18:38
?
warum hab ich kein:
list my_callmonitor incoming
kommt nichts

Gruß Otto
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 28 Februar 2020, 18:23:52
was zu erwarten war ;) Du hast kein Reading incoming  :)
Warum willst Du also ein Reading abfragen was es nicht gibt? Wie kommst Du auf diese Idee?

Wenn Du auf eine bestimmte angerufenen Nummer (also Deine Eigene) reagieren willst musst Du das Reading internal_number abfragen. Beispiel zum Test in der FHEM Kommandozeile
{ReadingsVal("my_callmonitor","internal_number",99)}
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: otto am 28 Februar 2020, 19:04:56
my_callmonitor:.*ring  {
  my $number = ReadingsVal("my_callmonitor","internal_number",99);;
  my $Anrufer = ReadingsVal("my_callmonitor","external_number",'');;
  my $AnruferName = ReadingsVal("my_callmonitor","external_name",'');;
{
    fhem "set teleBot message _msg Anruf von $AnruferName $Anrufer";;
  }
  }
aber ich ja mehrere Nummen komm aber so nicht auf die anderen ?
reagiert so auf alle MSN´s
Gruß Otto
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: rabehd am 28 Februar 2020, 19:20:19
Zitataber ich ja mehrere Nummen komm aber so nicht auf die anderen ?
Vielleicht beschreibst Du erstmal was du eigentlich willst, dann was Du probiert hast und dann was davon nicht funktioniert.
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: otto am 28 Februar 2020, 23:14:44
Hallo,
dachte das "internal_number",99 eigentlich bedeutet das es auf einen Anruf auf die "99" reagiert
und dan mir "external_number"auslest und mir dan über Telegram sendet wer anruft
wenn auf eine andere MSN angerufen wird soll es auf ein anderes Handy gesendet werden.
(set teleBot message @HandyA oder   set teleBot message @HandyB)

Gruß Otto
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 28 Februar 2020, 23:53:15
Was willst du eigentlich erreichen?
Wozu liest du die interne Nummer aus und verarbeitest sie nicht?
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: otto am 29 Februar 2020, 00:41:13
Habs falsch angegriffen ??
So hab ich nun die 2 getrennt.
define 1_callmonitor notify my_callmonitor:internal_number:.xxx1 {fhem("set teleBot message \@Handy1 Anruf von [my_callmonitor:external_name] : [my_callmonitor:external_number]  !")}

define 2_callmonitor notify my_callmonitor:internal_number:.xxx2 {fhem("set teleBot message \@Handy2 Anruf von [my_callmonitor:external_name] : [my_callmonitor:external_number]  !")}


Danke fürs auf die Sprünge helfen.;)  :D
Gruß Otto
Titel: Antw:FB_Callmonitor - Telegram Message bei neuen Anruf
Beitrag von: Otto123 am 29 Februar 2020, 09:50:38
Zitat von: otto am 28 Februar 2020, 23:14:44
Hallo,
dachte das "internal_number",99 eigentlich bedeutet das es auf einen Anruf auf die "99" reagiert
Gruß Otto
Moin,

Du darfst Dir doch nichts ausdenken wie etwas funktioniert, Du musst nachlesen oder fragen wie es geht. ;)
ReadingsVal() liest von einem Gerät ein Reading aus und liefert den Wert zurück. Die 99 ist völlig frei gewählt und wird quasi als Fehler zurück gegeben wenn das Reading oder Gerät gar nicht funktioniert.

So wie Du es jetzt gemacht hast, brauchst Du den Wechsel nach Perl nicht. Nur mal so. Und verwende in Zukunft bitte Codetags, Deine Posts sind echt schlecht lesbar. Dein geposter Code ist auch fehlerhaft!
Zitatdefine 1_callmonitor notify_callmonitor
define 1_callmonitor notify callmonitor:internal_number:.xxx1 set teleBot message @Handy1 Anruf von [my_callmonitor:external_name] : [my_callmonitor:external_number]  !

Bin gerade nur wegen dem Schützen des Klammeraffen \@ unsicher. Da Du dann innerhalb FHEM bist, braucht der @ keinen Schutz. Den braucht man eigentlich innerhalb von perl und da nur innerhalb von "". Bei fhem('set willi @handy') geht es auch ohne ;)

Aber egal Du kannst es auch so lassen.
Man kann es auch wieder in ein notify bringen. Vorschlag (ungetestet)
define 3_callmonitor notify my_callmonitor:.*ring {\
  my $number = ReadingsVal($NAME,"internal_number",99);;\
  my $handy="";;\
  if ($number == xxxx1) {$handy="Handy1"}\
  if ($number == xxxx2) {$handy="Handy2"}\
  fhem("set teleBot message \@$handy Anruf von [my_callmonitor:external_name] : [my_callmonitor:external_number]  !")\
}

Gruß Otto