72_FBTAM.pm für den FritzBox-Anrufbeantworter

Begonnen von Prof. Dr. Peter Henning, 06 August 2025, 18:21:05

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Wie angekündigt, hier die erste Version des Moduls 72_FBTAM.pm.

Installation ganz einfach
define <name> FBTAM <Devicename der Fritzbox> <Nummer des Anrufbeantworters 1..4>

Zeigt eine Liste der Anrufe, mit Buttons zum Löschen (funktioniert gut) und zum Download (funktioniert gut, Zielverzeichnis /opt/fhem/www/audio sollte existieren) und zum Versenden (funktioniert noch nicht)

Zur Funktion ist es nötig, mit "set ... username" und "set ... password" einen FritzBox-Account anzugeben.

LG

pah

ToDo-Liste
1. Versand per Mail und per Messenger, mindestens via Telegram, implementieren
2. Buttons konfigurierbar machen (Mail-Adresse bzw. Messenger)
3. Möglichkeit, das Modul unabhängig von einem FritzBox-Device zu machen. In dem Fall ist statt des Device-Namen die IP-Adresse anzugeben, und "set ... on/off"-Befehle die irgendwie remote wirken
4. Zielverzeichnis konfigurierbar machen



JoWiemann

#1
Zitat von: Prof. Dr. Peter Henning am 06 August 2025, 18:21:05ToDo-Liste
und "set ... on/off"-Befehle die irgendwie remote wirken

Hallo,

on/off kannst Dir im FB Modul ansehen :
set <name> tam <number> <on|off>
Schaltet den Anrufbeantworter (Nummer 1, 2 ...) an oder aus. Der Anrufbeantworter muss zuvor auf der FRITZ!BOX eingerichtet werden.

Grüße Jörg

PS: Ich schaue morgen mal, wie man auch TAM Remote einrichten kann.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Prof. Dr. Peter Henning

Zitat von: JoWiemann am 06 August 2025, 19:23:21on/off kannst Dir im FB Modul ansehen :
set <name> tam <number> <on|off>
Schaltet den Anrufbeantworter (Nummer 1, 2 ...) an oder aus. Der Anrufbeantworter muss zuvor auf der FRITZ!BOX eingerichtet werden.

Ist doch längst drin. Für mich ist es auch einfach, das an/ausschalten zu organisieren, wenn das FritzBox-Device auf einer anderen FHEM-Installation x.x.x.90 läuft, ich setze einfach
Zitatfhem90Cmd('set ... on/off')}
ab. Es gibt aber soap-calls für das an/ausschalten - die kann man auch ohne Fritzbox-Device absetzen.

LG

pah

JoWiemann

Hallo,

am Ende sind das im FB Modul auch alles nur SOAP Calls. War also nur als Umsetzungs-Idee gemeint.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Prof. Dr. Peter Henning

Man könnte FBTAM natürlich auch so aufziehen wie 72_FBCALLMONITOR und 72_FBCALLLIST. Das erschien mir aber zuviel Aufwand, dafür hätte ich gar keine Zeit.

LG

pah

Prof. Dr. Peter Henning

#5
So, hier die nächste Version. Das kommt jetzt mit einer JavaScript-Datei, die in /opt/fhem/www/pgm2 gespeichert werden sollte. Löschen, Versand per Messenger (z.B. Telegram) und Download funktionieren gut, Download jetzt natürlich non-blocking.

Da ich die Fritzbox nicht dazu bewegen konnte, einen CORS-Header zu produzieren, läuft der Download immer auf den FHEM-Server. Von dort aus kann man ihn natürlich holen - so etwa macht das bei mir ein DOIF, da mein Telegram-Bot auf einer anderen Maschine läuft.

Der Versand per Email ist derzeit noch funktionslos, da suche ich noch nach einem guten Trick.

LG

pah

Prof. Dr. Peter Henning

#6
So, wir werden besser. Anbei die neueste Version.

Ich habe festgestellt, dass die gelieferten WAV-Dateien einfahc zu groß sind, um sie per Mail oder Messenger zu versenden.

Das Modul hat jetzt noch ein Attribut Wav2MP3Fun bekommen, mit dem ich nach dem Download eine Umwandlung in MP3 bewerkstelligen kann. Bei mir hat das den Wert
Zitatattr FritzBoxTAM Wav2MP3Fun system('ffmpeg -i INPUT OUTPUT')

Nötig ist natürlich eine abgespeckte Version des ffmpeg-Paketes, das automatisch diese Konversion macht. Dazu gibt es hier eine Anleitung: https://wiki.fhem.de/wiki/Minimales_ffmpeg

Ach ja, die Einbindung als Telegram-Keyboard funktioniert auch prima. So sieht das bei mir aus: Erst eine Übersicht der Nachrichten, wenn ich eine davon anklicke, die Auswahl "Abhören" oder "Löschen" (und natürlich wieder aufwärts im Menü). Und wenn ich "Abhören" anklicke, kommt sie als MP3 geflogen.

Ja, ich muss das alles noch sauber dokumentieren...

LG

pah

Prof. Dr. Peter Henning

#7
Es gibt eine Wiki-Seite zu diesem Modul: https://wiki.fhem.de/wiki/Modul_FBTAM

Das Modul ist in die FHEM-Distribution eingecheckt.

LG

pah

JoWiemann

Hallo pah,

ich hatte nicht mehr präsent, dass die FritzBox ja selber die auf dem AB hinterlasse Nachricht per E-Mail versenden kann. Ich hatte das mal ein gestellt aber lange keine AB Nachricht mehr gehabt. Gestern habe ich dann mal wieder eine E-Mail meiner FB mit angehängtem Audiofile bekommen.

Was ist dann Deine Idee hinter dem Versand per E-Mail? Per Messenger ist für mich nachvollziehbar.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JoWiemann

Hallo pah,

komme erst jetzt dazu mich mit Deinem Modul zu beschäftigen. Im define können die TAM 1..4 ausgewählt werden. Die FB kennt allerdings die TAM 0..9.
Result of query = 'tam:settings/TAM/list(Name,Display,Active,NumNewMessages,NumOldMessages)'
----------------------------------------------------------------------
$VAR1 = {
          'sid' => '9e530fcf43407b17',
          'data' => {},
          'result' => [
                        {
                          'NumNewMessages' => '0',
                          'NumOldMessages' => '0',
                          '_node' => 'TAM0',
                          'Name' => 'AB Wohnbereich',
                          'Active' => '1',
                          'Display' => '1'
                        },
                        {
                          'Display' => '1',
                          'Active' => '1',
                          'Name' => "AB Unerw\x{c3}\x{bc}nscht",
                          '_node' => 'TAM1',
                          'NumNewMessages' => '0',
                          'NumOldMessages' => '0'
                        },
                        {
                          'NumNewMessages' => '0',
                          'NumOldMessages' => '0',
                          '_node' => 'TAM2',
                          'Active' => '0',
                          'Name' => '',
                          'Display' => '0'
                        },
                        {
                          'Display' => '0',
                          'Active' => '0',
                          'Name' => '',
                          '_node' => 'TAM3',
                          'NumOldMessages' => '0',
                          'NumNewMessages' => '0'
                        },
                        {
                          'Display' => '0',
                          'Active' => '0',
                          'Name' => '',
                          '_node' => 'TAM4',
                          'NumOldMessages' => '0',
                          'NumNewMessages' => '0'
                        },
                        {
                          'Display' => '0',
                          'Name' => 'AB Wohnbereich',
                          'Active' => '0',
                          '_node' => 'TAM5',
                          'NumOldMessages' => '0',
                          'NumNewMessages' => '0'
                        },
                        {
                          'NumOldMessages' => '0',
                          'NumNewMessages' => '0',
                          '_node' => 'TAM6',
                          'Name' => "AB Unerw\x{c3}\x{bc}nscht",
                          'Active' => '0',
                          'Display' => '0'
                        },
                        {
                          'Name' => '',
                          'Active' => '0',
                          'Display' => '0',
                          'NumNewMessages' => '0',
                          'NumOldMessages' => '0',
                          '_node' => 'TAM7'
                        },
                        {
                          'NumOldMessages' => '0',
                          'NumNewMessages' => '0',
                          '_node' => 'TAM8',
                          'Active' => '0',
                          'Name' => '',
                          'Display' => '0'
                        },
                        {
                          'Display' => '0',
                          'Active' => '0',
                          'Name' => '',
                          '_node' => 'TAM9',
                          'NumOldMessages' => '0',
                          'NumNewMessages' => '0'
                        }
                      ],
          'sidNew' => 0
        };

Im Modul 72_FRITZBOX.pm habe ich die Nummerierung von 1..10 auf 0..9 angepasst.

Welcher TAM wird bei einem define .... 1 dann von Dir referenziert?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Prof. Dr. Peter Henning

Ich fang mal hinten an:
- Die Nummerierung der AB in der Oberfläche der FB beginnt bei 1, die Indexzählung bei 0. Die "AB-Nummer" 1 ist also tam_0. Das können wir gerne beliebig anpassen.

- Ich dachte, es seien nur 4 ABs. Kein Problem, das auf 0..9 auszuweiten

- Versand per Mail direkt aus der FB geht immer nur an eine Adresse, und es werden WAV-Dateien versendet. Sind also gigantisch groß. Darum werden die bei mir nach dem Download in ein MP3 umgewandelt und dann versendet.

- Die FB prüft ja nicht, von wem die Nachrichten sind, bevor sie diese versendet. Mit diesem Modul hier kann ich einfach auswählen, welche ich sofort lösche und welche ich mir zusenden lasse. Das war mein Primärziel, weil bei mir auch die Haustür an den AB gekoppelt ist.

LG

pah

JoWiemann

Hallo pah,

vielen Dank für die Rückmeldung. Macht Sinn.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM