FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Florian_GT am 31 Mai 2018, 17:17:41

Titel: CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Florian_GT am 31 Mai 2018, 17:17:41
Hallo,

mit dem ersten Code Abschnitt wird zwischen FHEM und deiner Fritzbox eine Verbindung aufgebaut.
Der zweite Code Abschnitt sorgt dafür, dass bei einem Anruf eine Meldung per Telegram verschickt wird.

############
# FRITZBOX #
############

### CallMonitor
define CallMonitor FB_CALLMONITOR 192.168.178.1
attr CallMonitor fritzbox-remote-phonebook 1
attr CallMonitor fritzbox-remote-phonebook-via tr064
attr CallMonitor icon phone_call
attr CallMonitor local-area-code 05241
attr CallMonitor reverse-search all
attr CallMonitor event-on-change-reading .*

### CallList
define CallList FB_CALLLIST CallMonitor
attr CallList room Alle,Arbeitszimmer



# CALL MONITOR
define IncomingCall notify CallMonitor:event:.ring { \
my $extNr   = ReadingsVal("CallMonitor", "external_number", "none");;\
my $extName   = ReadingsVal("CallMonitor", "external_name", "none");;\
my $intNr   = ReadingsVal("CallMonitor", "internal_number", "none");;\
  fhem "set telegram message Telefonanruf von: $extNr ($extName) auf $intNr";;\
}
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: JoWiemann am 31 Mai 2018, 19:01:34
Hallo,

was möchtest Du uns mit diesem Post sagen?

Grüße Jörg
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Florian_GT am 03 Juni 2018, 02:13:10
Zitat von: JoWiemann am 31 Mai 2018, 19:01:34
Hallo,

was möchtest Du uns mit diesem Post sagen?

Grüße Jörg

Ich habe eine Beschreibung hinzugefügt.
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Brice am 03 Juni 2018, 12:37:29
Zitat von: afloria am 31 Mai 2018, 17:17:41
# CALL MONITOR
define IncommingCall notify CallMonitor:event:.ring { \
my $extNr   = ReadingsVal("CallMonitor", "external_number", "none");;\
my $extName   = ReadingsVal("CallMonitor", "external_name", "none");;\
my $intNr   = ReadingsVal("CallMonitor", "internal_number", "none");;\
  fhem "set telegram message Telefonanruf von: $extNr ($extName) auf $intNr";;\
}


Warum so kompliziert? Einzeiler reicht:

define IncommingCall notify CallMonitor:event:.ring set telegram message Telefonanruf von: [CallMonitor:external_name] [CallMonitor:external_number] auf [CallMonitor:internal_number]
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Florian_GT am 03 Juni 2018, 14:13:22
Zitat von: Brice am 03 Juni 2018, 12:37:29
Warum so kompliziert? Einzeiler reicht:

define IncomingCall notify CallMonitor:event:.ring set telegram message Telefonanruf von: [CallMonitor:external_name] [CallMonitor:external_number] auf [CallMonitor:internal_number]

Vielen Dank. Ich bin noch nicht so weit, das ich da alles kenne. Aber ich lerne fleissig dazu... ;)
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: JuergenR am 04 Juni 2018, 16:19:14
incoming
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Brice am 04 Juni 2018, 16:59:06
Zitat von: JuergenR am 04 Juni 2018, 16:19:14
incoming

Was willst du uns damit sagen? Es gibt etliche Möglichkeiten. Hier umgesetzt:

<Device>:event:.ring
- bei Anwesenheit mindestens einer Person gehen definierte HUEs und Lightifys in alert lselect
- auf allen eingeschalteten Lautsprecher kommt die Ansage, wer anruft
- Anzeige, wer anruft auf TV (Enigma2), wenn eingeschaltet
- wenn ich nicht zuhause bin und nicht selber anrufe -> Telegram an mich

<Device>:event:.connect
- Lautstärke eingeschalteter Devices (LS und/oder Enigma2) wird reduziert

<Device>:event:.disconnect
- Lautstärke eingeschalteter Devices (LS und/oder Enigma2) wird auf vorherigen Wert zurückgestellt


Alles gehört nicht in den Bereich Codeschnipsel, da Basics.

Stefan
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Jamo am 04 Juni 2018, 22:31:57
Zitatincoming
Ich glaube er wollte einfach nur sagen das incoming nur mit einem 'm' geschrieben wird. Also 'IncomingCall' anstatt 'IncommingCall'.
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Florian_GT am 05 Juni 2018, 00:34:13
Zitat von: inoma am 04 Juni 2018, 22:31:57
Ich glaube er wollte einfach nur sagen das incoming nur mit einem 'm' geschrieben wird. Also 'IncomingCall' anstatt 'IncommingCall'.

Da habe ich einmal Grammarly nicht an, und dann sowas... Aber danke für den Hinweis.
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: Hape am 12 September 2018, 23:47:23
Zitat von: Brice am 03 Juni 2018, 12:37:29
Warum so kompliziert? Einzeiler reicht:

define IncommingCall notify CallMonitor:event:.ring set telegram message Telefonanruf von: [CallMonitor:external_name] [CallMonitor:external_number] auf [CallMonitor:internal_number]

Auch wenn der Post schon ein wenig älter ist, aber wo ist das kompliziert? Die Frage ist, wie lesbar Code ist und da muss ich sagen, ist der Einzeiler doch eher kontraproduktiv.
Aber nun gut, jeder hat seinen Stil. CodeBeauty ist's aber definitv eher nicht.  ??? ;)
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: CoolTux am 13 September 2018, 00:00:52
Zitat von: Hape am 12 September 2018, 23:47:23
Auch wenn der Post schon ein wenig älter ist, aber wo ist das kompliziert? Die Frage ist, wie lesbar Code ist und da muss ich sagen, ist der Einzeiler doch eher kontraproduktiv.
Aber nun gut, jeder hat seinen Stil. CodeBeauty ist's aber definitv eher nicht.  ??? ;)

Könnte daran liegen, weil es kein Code ist sondern ein FHEM Befehl in einem Notify.
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: TobiasR am 05 Dezember 2018, 21:26:06
Hallo,

wie kann ich zwischen:

2018-12-05 21:09:22 FB_CALLMONITOR Fritz_Box_Monitor direction: outgoing

und

2018-12-05 16:56:24 FB_CALLMONITOR Fritz_Box_Monitor direction: incoming

unterscheiden?

Im Moment bekomme ich bei jedem ein- und ausgehenden Anruf die selbe Telegramnachricht
Titel: Antw:CallMonitor (FritzBox) Notify an Telegram
Beitrag von: CoolTux am 05 Dezember 2018, 21:30:48
In dem Du im Notify eine Abfrage machst und dann entsprechend Deine Telegramausgabe anpasst.