notify mit FB-callMonitor verknüpfen

Begonnen von Müller, 18 März 2019, 20:24:20

Vorheriges Thema - Nächstes Thema

Müller

Hallo, ich suche etwas Hilfe ein notify einzurichten.
Ich würde gerne, wenn eine spezielle Telefonnummer ein bestimmte Numme (meiner Fritzbox) anruft ein Event schalten.
Geht dies besser über FB_Calllist oder FB_CallMonitor?

external_number   0XX249X8X1X3
.....
internal_number       97XX62

Kann mir jemand bei der Einrichtung helfen ?

Internals:
   DEF        192.168.XXX.xxxx
   DeviceName 192.168.XXX.xxxx:1012
   FD         9
   FUUID      5c4c98b1-f33f-a4d3-f843-edec1cb22fe23981
   NAME       Anrufe
   NOTIFYDEV  global
   NR         192
   NTFY_ORDER 50-Anrufe
   PARTIAL   
   STATE      opened
   TYPE       FB_CALLMONITOR
   READINGS:
     2019-03-18 19:15:02   call_duration   17
     2019-03-18 19:15:02   call_id         1
     2019-03-18 19:15:02   direction       outgoing
     2019-03-18 19:15:02   event           disconnect
     2019-03-18 19:15:02   external_connection SIP2
     2019-03-18 19:15:02   external_name   Müller
     2019-03-18 19:15:02   external_number 0XX24XXX8123
     2019-03-18 19:15:02   internal_connection DECT_1
     2019-03-18 19:15:02   internal_number 9XX2XXX
     2019-03-18 09:40:36   missed_call     0XX22X8XX
     2019-03-12 20:56:32   state           opened
   helper:
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

rischbiter123

Moin,

am Leichtesten geht es, wenn Du Den Eventmonitor öffnest, die Nummer z.B. vom Handy aus anrufst, die passende Zeile markierst und dann oben rechts auf Create/Modify Device klickst und Dir das Notify erstellen lässt. Dann nur noch die Anrufernummer austauschen und zwischen den geschweiften Klammern den Ausführungsteil eintragen.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

Müller

Danke für die schnelle Antwort. Im Eventmonitor kann ich nur eine ganze Zeile markieren (internal_number und external_number sind in zwei aufeinanderfolgenden Zeilen). Ich hätte gerne das zwei Bedingungen zusammen erfüllt sind. Ich vermute ich kann die Verküpfung danach noch machen, oder?

FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Otto123

#3
Hi,

mein notify Beispiel für die DEF:
FBMon:internal_number:.xxxxx {
  my $number=(ReadingsVal("FBMon","internal_number",99));
  my $Anrufer=(ReadingsVal("FBMon","external_number",99));
  if (($Anrufer eq "0xxxxx") or ($Anrufer eq "xxxxxx")){fhem "set Server on"};
}


Also Trigger auf die angerufene Nummer, dann Auswertung Anrufer und mache was...

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

Müller

#4
Hallo Otto,

danke für den Code, werde ihn ausprobieren. Muß ich "FBMon" mit dem Namen meines FB-callMonitors ersetzen?

Eventmonitor gibt folgendes aus:
2019-03-18 21:56:36 FB_CALLMONITOR Anrufe event: ring
2019-03-18 21:56:36 FB_CALLMONITOR Anrufe direction: incoming
2019-03-18 21:56:36 FB_CALLMONITOR Anrufe call_id: 0
2019-03-18 21:56:36 FB_CALLMONITOR Anrufe external_name: Müller
2019-03-18 21:56:36 FB_CALLMONITOR Anrufe external_connection: SIP0
2019-03-18 21:56:36 FB_CALLMONITOR Anrufe internal_number: 91XXXX9
2019-03-18 21:56:36 FB_CALLMONITOR Anrufe external_number: 01xxxxxx75
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

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

Müller

Vielen Dank, funktioniert.

Zu meinem Verständnis: Der Code greift auf das Readings vom meinem FB_CALLMONITOR zu, oder?
In dem Reading gibt es nur einen, den letzen Anruf, d.h. es sollte keine Probleme auftreten wenn die beiden Nummern in verschiedenen Anrufen auftauchen.

Müller ruft Nummer 1 an -> event auslösen
Mayer ruft Nummer 1 an und Müller ruft (danach) Nummer 2 -> Event soll nicht auslöst werden.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Otto123

Mein obiges Beispiel macht genau folgendes:

Wenn ein bestimmter Anschluss im Haus von einer von zwei vorbestimmten Nummern anruft dann wird ein Gerät gestartet.

Dazu wird auf diesen bestimmten Anschluss getriggert -> FBMon:internal_number:.xxxxx
Dann wird die anrufende Nummer ermittelt -> my $Anrufer=(ReadingsVal("FBMon","external_number",99));
Es wird geschaut ob die anrufenden Nummer stimmt und wenn ja das Gerät gestartet, wenn nein passiert nichts ->
if (($Anrufer eq "0xxxxx") or ($Anrufer eq "xxxxxx")){fhem "set Server on"};

Diese Zeile ist nur zur Verwirrung ->   my $number=(ReadingsVal("FBMon","internal_number",99));

Nein :) sie ist nur noch us diversen Versuchen/Ideen drin weil man es andersherum natürlich auch machen könnte: auf den Anrufer triggern, die interne Nummer abfragen (kann man auch weglassen) und dann das Gerät starten.
Die Abfrage der internen Nummer ist für mich noch eine zus. Sicherheit. Es ist eine von vorhandenen Nummern die nicht verwendet werden und die keiner kennt.

Man kann das sicher auch noch effektiver machen, das habe ich aber so seit langer Zeit.
ZitatMüller ruft Nummer 1 an -> event auslösen
Mayer ruft Nummer 1 an und Müller ruft (danach) Nummer 2 -> Event soll nicht auslöst werden.
wenn Du nur eine bestimmte Anrufernummer detektieren willst und sonst nichts, geht das sicher viel einfacher:
define MuellerRuftAn FB_CALLMONITOR:external_number:.xxMuellerSeinexxx set Server on
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

Müller

Hallo Otto,

danke für die Erklärung.
Ich werde deine komplizierte Version nehmen.

Grüße
Jochen
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung