Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Tr-64 erkennen, ob ein Aufruf auf AB gesprochen wurde

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    536

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Tr-64 erkennen, ob ein Aufruf auf AB gesprochen wurde

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
18 Beiträge 8 Kommentatoren 3.1k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • GlasfaserG Glasfaser

    @Marty56

    Der Beitrag ist von 2019 .....
    wie heißt es immer im Call Center , wir werden uns um Ihre angelegenheiten Zeitnah kümmern ;)

    1.JPG

    M Offline
    M Offline
    Marty56
    schrieb am zuletzt editiert von
    #9

    @Glasfaser wie die Zeit vergeht....

    HW:NUC (16 GB Ram)
    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      Coffeelover
      schrieb am zuletzt editiert von
      #10

      Ich habe gerade heute dein Script installiert und bin begeistert.
      Leicht modifiziert, aber es hat mir sehr weitergeholfen.

      1 Antwort Letzte Antwort
      0
      • M Marty56

        Ich habe ohne Dokumentation aus Beobachtung der tr-64 versucht, eine Anruferkennung zu programmieren.

        Ob es in allen Cornercases funktioniert, weiß ich nicht, aber in den ersten Tests hat es funktioniert.

        Hier der Code. Feedback erwünscht.

        createState("Anrufzaehler",0);               // zählt die Anrufe pro Tag
        createState("Anrufampel",false);             // setzt Signal wenn Anruf 
        createState("Anrufernamen",'');              // mit Kommata getrennte Anrufliste
        createState("Anrufe_Anrufbeantworter",0);    // zählt die Nachrichten auf AB 
        createState("Anrufbeantworterampel",false);  // setzt Signal wenn Nachr. auf AB
        createState('Anrufbeantworternamen','');     // mit Kommata getrennte AB- Anrufl.
        
        //---------------------- Anrufstatistik jede Nacht zurücksetzen ----------------
        
        schedule("0 0 * * *", function(obj){
            setState("Anrufzaehler",0);
            setState("Anrufampel",false);
            setState("Anrufernamen",'');
            setState("Anrufe_Anrufbeantworter",0);
            setState("Anrufbeantworterampel",false);
            setState('Anrufbeantworternamen','');
        });
        
        //------------------------- Anrufername oder Telefonnummer ermitteln -----------
        /*
        Steht der Anrufer in Adressbuch wird Vorname und Name ausgegeben, sonst die 
        Telefonnummer
        
        */
        function telefonname () {
           	var tokens     =  getState("tr-064.0.callmonitor.inbound.callerName").val.split(",");
        	var answer     = '';
        	var vorname    =  tokens[1];
        	var famname    =  tokens[0];
        
        	if (famname === undefined) famname = '';
        	if (vorname === undefined) vorname = '';
        	if (vorname !== '' || famname !== '')
        	    answer =  vorname + ' ' + famname;
        	else
        	    answer = getState("tr-064.0.callmonitor.inbound.caller").val;
        	return answer; 
        }
        
        /*
        ---------------------------- Anrufer ansagen ----------------------------------
        Der Name des Anrufenden wird beim Klingeln auf allen Lautsprechern ausgegeben
        und die Anrufstatistik mitgeführt
        
        */
        on({id:"tr-064.0.callmonitor.ringing", change: 'gt'}, function(obj) {
            setTimeout( function() {
                if (getState("tr-064.0.callmonitor.ringing").val === true) {
                    setState("Anrufzaehler",getState("Anrufzaehler").val + 1);
                    var name = telefonname();
                    setState("Anrufernamen",getState("Anrufernamen").val + ((getState("Anrufampel").val === true) ? ", " : "") + name);
                    setState("Anrufampel",true);
        
                    // Sprachausgabe
                	setState("speechout2",JSON.stringify(
                    {   text:   "Anruf von " + name + "!",
                        vol:50,
                        device: 'ALL',
                        night:  false
                    }));
                }
            }, 3000);
        });
        
        /*
        ---------------------------- Anruf beendet -------------------------------------
        Es werden die Anzahl der Anrufe auf Anrufbeantworter und eine Liste von 
        Namen mitgeführt, die Nachrichten hinterlassen haben.
        Es werden dazu 'callmonitor.lastCall.type' und 
        'tr-064.0.callmonitor.lastCall.extension' ausgewertet.
        
        Mangels Dok wurde durch Ausprobieren ermittelt, dass
        
        - type === missed                        : es wurde aufgelegt und nicht gesprochen.
        - type === disconnect && extension !== 40: Gespräch wurde geführt und dann aufgelegt
        - type === disconnect && extension === 40: Nachricht auf AB
        
        bedeuten könnte.
        */
        
        on({id:"tr-064.0.callmonitor.toPauseState", change: 'ne'}, function(obj) {
            setTimeout( function() {
            if (getState('tr-064.0.callmonitor.toPauseState').val === 'end') {
                var name = telefonname();
                if (getState("tr-064.0.callmonitor.lastCall.type").val === 'missed') {
                    log(name + " hat aufgelegt und keine Nachricht hinterlassen");}
                if (getState("tr-064.0.callmonitor.lastCall.type").val === 'disconnect') {
                    if (getState('tr-064.0.callmonitor.lastCall.extension').val == 40) {
                        setState("Anrufe_Anrufbeantworter",getState("Anrufe_Anrufbeantworter").val + 1);
                        log("Nachricht auf Anrufbeantworter von "+ name + " mit einer Länge von " + getState("tr-064.0.callmonitor.lastCall.duration").val + " sec");
                        setState("Anrufbeantworternamen",getState("Anrufbeantworternamen").val + ((getState("Anrufbeantworterampel").val === true) ? ", " : "") + name);
                        setState("Anrufbeantworterampel",true);
                    } else {
                       log("Der Anruf von " + telefonname() + " hat " + getState("tr-064.0.callmonitor.lastCall.duration").val + " sec gedauert");
                    }    
                }
            }    
            }, 3000);
        });
        

        Was jetzt noch schön wäre, wenn ich mit einem Alexa Dialog die hinterlassenen Nachrichten auf Alexa abhören könnte.

        Keine Ahnung, ob das möglich ist, wenn das schon einer gemacht hat, dann wäre ich daran interessiert.

        FeuersturmF Offline
        FeuersturmF Offline
        Feuersturm
        schrieb am zuletzt editiert von
        #11

        @Marty56 Tolles Skript Marty56. Ich habe dein Skript bei mir hier (https://forum.iobroker.net/topic/14288/tr-064-fritzbox-anrufbeantworter/39) eingebaut. Bisher hat die Erkennung zuverlässig funktioniert, dass jemand auf den AB gesprochen hat.
        Mit meinem Skript kann man jetzt noch die Informationen zu den Nachrichten vom Anrufbeantworter aus der Fritzbox direkt auslesen.

        Eine Möglichkeit, wie man die Nachrichten von der Fritzbox abspielen kann hab ich bisher noch nicht gefunden.

        falke69F 1 Antwort Letzte Antwort
        0
        • FeuersturmF Feuersturm

          @Marty56 Tolles Skript Marty56. Ich habe dein Skript bei mir hier (https://forum.iobroker.net/topic/14288/tr-064-fritzbox-anrufbeantworter/39) eingebaut. Bisher hat die Erkennung zuverlässig funktioniert, dass jemand auf den AB gesprochen hat.
          Mit meinem Skript kann man jetzt noch die Informationen zu den Nachrichten vom Anrufbeantworter aus der Fritzbox direkt auslesen.

          Eine Möglichkeit, wie man die Nachrichten von der Fritzbox abspielen kann hab ich bisher noch nicht gefunden.

          falke69F Offline
          falke69F Offline
          falke69
          schrieb am zuletzt editiert von
          #12

          @Feuersturm tolles Script:+1:

          habe eigentlich nach einer Lösung gesucht, um mir die Nachrichten vom AB gleich noch per Telegram mitsenden zu lassen. Aber so wie es aussieht denkt ihr auch noch auf einer Lösung rum.

          Ich habe hier mal etwas gefunden, ob man das mit integireren kann weiß ich nicht, wäre aber super.
          Habe das Script auch schon versucht umzusetzen, leider ohne Erfolg.
          Bei mir kommt immer nur "VAR is empty", obwohl das Verzeichnis richtig gemountet wurde und die Aufnahmen da sind.
          Vielleicht kennt sich ha hier jemand besser aus, um dies vieleicht umzusetzen.:blush:

          FeuersturmF 1 Antwort Letzte Antwort
          0
          • falke69F falke69

            @Feuersturm tolles Script:+1:

            habe eigentlich nach einer Lösung gesucht, um mir die Nachrichten vom AB gleich noch per Telegram mitsenden zu lassen. Aber so wie es aussieht denkt ihr auch noch auf einer Lösung rum.

            Ich habe hier mal etwas gefunden, ob man das mit integireren kann weiß ich nicht, wäre aber super.
            Habe das Script auch schon versucht umzusetzen, leider ohne Erfolg.
            Bei mir kommt immer nur "VAR is empty", obwohl das Verzeichnis richtig gemountet wurde und die Aufnahmen da sind.
            Vielleicht kennt sich ha hier jemand besser aus, um dies vieleicht umzusetzen.:blush:

            FeuersturmF Offline
            FeuersturmF Offline
            Feuersturm
            schrieb am zuletzt editiert von
            #13

            @falke69 das ist doch schon einmal ein Lichtblick. Werde es mir mal an den nächsten Abenden ansehen.

            falke69F 1 Antwort Letzte Antwort
            0
            • FeuersturmF Feuersturm

              @falke69 das ist doch schon einmal ein Lichtblick. Werde es mir mal an den nächsten Abenden ansehen.

              falke69F Offline
              falke69F Offline
              falke69
              schrieb am zuletzt editiert von
              #14

              @Feuersturm aber nicht gerade am Weihnachten. :-)

              in diesem Sinne schon mal frohes Fest :santa:

              FeuersturmF 1 Antwort Letzte Antwort
              0
              • falke69F falke69

                @Feuersturm aber nicht gerade am Weihnachten. :-)

                in diesem Sinne schon mal frohes Fest :santa:

                FeuersturmF Offline
                FeuersturmF Offline
                Feuersturm
                schrieb am zuletzt editiert von
                #15

                @falke69 Vielleicht kannst du als kleines Weihnachtsgeschenk deinen bisherigen Code posten, wenn du schon bis zum mounten gekommen bist.

                Ich wünsche dir auch schöne Weihnachten :snow_cloud: :snowman:

                falke69F 1 Antwort Letzte Antwort
                0
                • FeuersturmF Feuersturm

                  @falke69 Vielleicht kannst du als kleines Weihnachtsgeschenk deinen bisherigen Code posten, wenn du schon bis zum mounten gekommen bist.

                  Ich wünsche dir auch schöne Weihnachten :snow_cloud: :snowman:

                  falke69F Offline
                  falke69F Offline
                  falke69
                  schrieb am zuletzt editiert von
                  #16

                  @Feuersturm

                  eigentlich nichts besonderes.
                  Habe es nur über die Konsole versucht und das Script im Anschluss zu starten.

                  sudo mount -t cifs -o username=Benutzername,password=DeinPasswort //192.168.178.1/fritzbox/FRITZ/voicebox/rec /mnt
                  
                  falke69F 1 Antwort Letzte Antwort
                  0
                  • falke69F falke69

                    @Feuersturm

                    eigentlich nichts besonderes.
                    Habe es nur über die Konsole versucht und das Script im Anschluss zu starten.

                    sudo mount -t cifs -o username=Benutzername,password=DeinPasswort //192.168.178.1/fritzbox/FRITZ/voicebox/rec /mnt
                    
                    falke69F Offline
                    falke69F Offline
                    falke69
                    schrieb am zuletzt editiert von
                    #17

                    So auch wenn schon länger her, hier mein Script um die Nachrichten vom AB der Fritzbox runterzuladen und damit zu konvertieren:

                    2022-10-27_153324.jpg

                    #!/bin/bash
                    IP="192.168.xxx.xxx"
                    FBUID="Benutzername auf der FritzBox"
                    SECRET="Dein Passwort"
                    CHALLENGE=`wget --no-check-certificate -O - "http://$IP/login_sid.lua" 2>/dev/null | sed 's/.*<Challenge>\(.*\)<\/Challenge>.*/\1/'`
                    CPSTR="$CHALLENGE-$SECRET"
                    MD5=`echo -n $CPSTR | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}'`
                    RESPONSE="$CHALLENGE-$MD5"
                    URL_PARAMS="username=$FBUID&response=$RESPONSE"
                    SID=`wget --no-check-certificate -O - "https://$IP/login_sid.lua?$URL_PARAMS" 2>/dev/null | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/'`
                    JSON=`wget --no-check-certificate -O - --post-data "xhr=1&sid=$SID&lang=de&page=overview&xhrId=all&useajax=1&no_sidrenew=" --output-document /opt/iobroker/AB-Nachricht/ansage.wav "https://$IP/cgi-bin/luacgi_notimeout?<SID>&script=/lua/photo.lua&myabfile=/data/tam/rec/rec.0.000" 2>/dev/null`
                    echo $JSON
                    

                    Bei jedem Login auf der FritzBox wird eine SID generiert, dise wird dem Script übergeben wird und man sich somit über das Script anmelden und die Nachricht somit in einem beliebigen Verzeichnis speichern kann.

                    In meinem Beispiel wird immer die Nachricht "rec.0.000" runtergeladen und im Anschluss über den Adapter gelöscht. Somit hab ich immer nur eine Nachricht mit "rec.0.000" auf meiner Fritzbox vom
                    aktuellen Anruf.

                    Bei mir wird die Datei im Verzeichnis "/opt/iobroker/AB-Nachricht/ansage.wav" gespeichert. Das kann jeder gerne selbst anpassen.

                    2022-10-27_154646.jpg

                    1 Antwort Letzte Antwort
                    0
                    • M Marty56

                      Danke fürs Feedback.

                      abindex scheint sich aber nur erhöhen, wenn man die Nachricht auf der Fritzbox speichert.

                      Das wollte ich eigentlich nicht machen, weil mir nicht klar ist, ob man die gespeicherten Nachrichten leicht verwalten kann. (Ich habe die Fritzbox noch nicht lange). Eine Email mit der Nachricht reicht mir eigentlich.

                      PhantomkommanderP Offline
                      PhantomkommanderP Offline
                      Phantomkommander
                      schrieb am zuletzt editiert von
                      #18

                      @marty56 sagte in Tr-64 erkennen, ob ein Aufruf auf AB gesprochen wurde:

                      Danke fürs Feedback.

                      abindex scheint sich aber nur erhöhen, wenn man die Nachricht auf der Fritzbox speichert.

                      Das wollte ich eigentlich nicht machen, weil mir nicht klar ist, ob man die gespeicherten Nachrichten leicht verwalten kann. (Ich habe die Fritzbox noch nicht lange). Eine Email mit der Nachricht reicht mir eigentlich.

                      Hi,

                      kann es sein, dass sich ABindex mittlerweile überhaupt nicht mehr aktualisiert? egal ob intern oder auf USB gespeichert?

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      355

                      Online

                      32.5k

                      Benutzer

                      81.8k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe