Nummer von Verpasstem Anruf per EMail senden

Begonnen von stenny73, 24 November 2013, 19:17:41

Vorheriges Thema - Nächstes Thema

stenny73

Hallo

Ich würde gerne bei Verpassten Anrufen die Rufnummer per EMail bekommen.
Bisher habe ich per

define alarm notify FB_Monitor_Home:missed_call:.* {DebianMail(xxxx@@xxxx.com','Verpasster Anruf','Verpaster Anruf');;}


Damit erhalte ich schon mal die Mail - aber wie sende ich darin die Rufnummer?


stenny
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

jpp

Was ist da mit der Variable $number?

http://fhem.de/commandref_DE.html#FB_CALLMONITOR

"missed_call: $number - Dieses Event wird nur generiert, wenn ein eingehender Anruf nicht beantwortet wird. Sofern der Name dazu bekannt ist, wird dieser ebenfalls mit angezeigt."

Markus Bloch

Die Variable $number gibt es so nicht. Das ist nur ein Platzhalter in der Commandref damit man weis, das dort dann die Nummer stehen wird.

@stenny73:

In notifys gibt es sogenannte EVENT-Variablen. Mit denen kann man bestimmte Teile eines Events oder das ganze Event als Variable verwenden.

Bsp:

Im Eventmonitor erscheint:

2013-11-30 15:42:14.314 FB_CALLMONITOR  FB_Monitor_Home missed_call: 01122334455 (Anrufername)

Dann stehen bei einem Notify folgende Variablen zur Verfügung:

$EVENT = missed_call: 01122334455 (Anrufername)
$EVTPART1 = missed_call:
$EVTPART2 = 01122334455
$EVTPART3 = (Anrufername)

D.h. du kannst folgendes notify verwenden:


define alarm notify FB_Monitor_Home:missed_call:.* {DebianMail(xxxx@@xxxx.com','Verpasster Anruf von $EVTPART2 $EVTPART3','Verpasster Anruf von $EVTPART2 $EVTPART3');;}


siehe dazu auch die Commandref zu notify, da steht das alles drin.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Ralph

FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

stenny73

Danke erstmal für die Antworten.

Bin im Moment nicht vor Ort um es zu Probieren...  Erst wieder ab nächster Woche in Deutschland... - dafür wollte ich ja das ja nutzen.....
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

willybauss

Hallo,
ich möchte mich hier nochmal einklinken, da mein Problem ganz ähnlich ist. Einzig $EVENT wird bei meiner Email nicht ausgewertet, d.h. es steht dann '$EVENT' in der Email statt dessen Inhalt.
Der Code:
define Mythz.alarm2 notify .*fault.* { if (ReadingsVal("last10errors","number_of_faults",0) > 0 ) { DebianMail('MYNAME@@t-online.de','Tecalor Mythz Alarm','ErrorLog hat ausgeloest: $EVENT');; } }


Ich habe halt noch zusätzlich die if-Bedingung drin, da nur bei einer Anzahl Fehler > 0 gemailt werde soll.

Und: ja, ich bin Anfänger  ;) . Habe schon mit Wikis und der commandref gearbeitet, aber dort sind halt immer nur einfacher gestrickte Fälle genannt.


Gruß und Besten Dank für Tipps und Ratschläge

Willy
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

fiedel

Hi Willy,

nimm mal den $EVENT aus den Hochkommas raus, also so:

define Mythz.alarm2 notify .*fault.* { if (ReadingsVal("last10errors","number_of_faults",0) > 0 ) { DebianMail('MYNAME@@t-online.de','Tecalor Mythz Alarm','ErrorLog hat ausgeloest:' $EVENT);; } }

Das sollte dann gehen.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

willybauss

leider nicht:
Mythz.alarm return value: syntax error at (eval 3084) line 1, near "'ErrorLog hat ausgeloest:' $EVENT"
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

marvin78

#8
So geht's:


define Mythz.alarm2 notify .*fault.* { if (ReadingsVal("last10errors","number_of_faults",0) > 0 ) { DebianMail('MYNAME@t-online.de','Tecalor Mythz Alarm','ErrorLog hat ausgeloest:'. $EVENT);; } }

willybauss

Geht ebenfalls nicht:
define Mythz.alarm notify .*fault.* { if (ReadingsVal("last10errors","number_of_faults",0) < 1 ) { \

  { DebianMail('xxxxx@t-online.de', 'Tecalor Mythz Alarm', 'ErrorLog hat ausgeloest. "$EVENT"')};; \
  } \
}

führt zu Email-Inhalt:   ErrorLog hat ausgeloest. "$EVENT"


Wenn ich  "$EVENT" außerhalb der ' ' setze kommt wieder der Syntax error.


Was mich ebenfalls wundert (vielleicht ist es ja ein Hinweis auf die Ursache): man liest überall, man müsse bei der Emailadresse das @ verdoppeln, also @@. Ich darf das aber nicht, sonst sagt mir der smtp-Server, die Adresse sei nicht gültig.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

marvin78

#10
Siehe meine Änderung oben. Der Punkt fehlt. Einfache Anführungszeichen waren schon korrekt. Mein Fehler.

Wenn $EVENT verwendet wird, muss @ nicht verdoppelt werden. Siehe commandref.

willybauss

Ja, mit Punkt hat es jetzt geklappt  :) . Ich bin nun etwas konfus: was hat der Punkt hier für eine Funktion?
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

marvin78

Er verknüpft die beiden Strings

'beliebiger Text'

und

$EVENT

Ein Verknüpfungszeichen also.

willybauss

o.k., schon wieder was  gelernt. In allen mir geläufigen Sprachen (das sind allerdings nicht so viele) wird dafür das & verwendet.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS