FB_Callmonitor - Telegram Message bei neuen Anruf

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

Vorheriges Thema - Nächstes Thema

Kellerkind86

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  :-\ :-[
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Otto123

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.
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

#17
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
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Otto123

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]")
  }
}
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

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
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Kellerkind86

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
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Brice

FHEM neu gestartet, nachdem du das Telefonbuch-xml in das FHEM-Verzeichnis kopiert hast? FHEM liest das xml-File bei jedem Start neu ein.
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

Hans Franz

Dir fehlt das Attribut reverse-search-text-file, denke ich.
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Otto123

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?
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

jap, das war es.. hatte reverse-search  fürs phonebook vergessen.. jetzt läuft es. danke euch
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

otto

#25
    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

Otto123

#26
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
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

otto

?
warum hab ich kein:
list my_callmonitor incoming
kommt nichts

Gruß Otto

Otto123

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)}
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

otto

#29
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