FB_Callmonitor - Telegram Message bei neuen Anruf

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

Vorheriges Thema - Nächstes Thema

rabehd

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.
Auch funktionierende Lösungen kann man hinterfragen.

otto

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
Fhem 1 wire Adapter mit FT232RL&DS2480B Raspberry PI HMLAN HM485LAN HM-LC-Sw4-PCB   HMW-IO-12-SW7-DR Funkhandsender
FRITZ!Powerline 546E

Otto123

Was willst du eigentlich erreichen?
Wozu liest du die interne Nummer aus und verarbeitest sie nicht?
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

#33
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
Fhem 1 wire Adapter mit FT232RL&DS2480B Raspberry PI HMLAN HM485LAN HM-LC-Sw4-PCB   HMW-IO-12-SW7-DR Funkhandsender
FRITZ!Powerline 546E

Otto123

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