Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Tr-64 erkennen, ob ein Aufruf auf AB gesprochen wurde

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Marty56 last edited by

      Ich würde gerne ein Script haben, dass mit Hilfe von des tr-64 Adapters erkennt, ob eine Person auf den Anrufbeantworter gesprochen hat.

      Hat das jemand schon mal gemacht?

      1 Reply Last reply Reply Quote 0
      • Chaot
        Chaot last edited by

        Welches Script meinst du?

        Ich würde in VIS ein Feld anlegen das den AB Index (im Adapter) ausliest und anzeigt (Zahl) oder ein Button der die Farbe ändert wenn der Index >1 ist.

        1 Reply Last reply Reply Quote 0
        • M
          Marty56 last edited by

          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.

          Phantomkommander 1 Reply Last reply Reply Quote 1
          • M
            Marty56 last edited by

            Ich kapiere die Bedeutung und Anwendungen der Object des tr-64 Call monitor nicht.

            Insbesondere was sind

            tr-064.0.callmonitor.lastCall.extension,

            tr-064.0.callmonitor.connect.extension,

            tr-064.0.callmonitor.toPauseState,

            tr-064.0.callmonitor.toPauseState-0,

            tr-064.0.callmonitor.toPauseState-40.

            Gibt es irgendwo eine Dokumentation?

            1 Reply Last reply Reply Quote 0
            • M
              Marty56 last edited by

              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.

              Feuersturm 1 Reply Last reply Reply Quote 3
              • D
                dos1973 last edited by

                Hi,

                ich habe das Script erst heute gefunden und gleich versucht.

                Anrufername, Ampel und Zähler funktionieren.

                Die Werte rund um den Anrufbeantworter werden nicht gefüllt.

                ich habe eine Fritzbox 6490 cable mit FRITZ!OS: 07.01

                Nutze allerdings nicht den internen AB, sondern einen externen.

                gehts ggfs. daher nicht?

                M 1 Reply Last reply Reply Quote 0
                • M
                  Marty56 @dos1973 last edited by

                  @dos1973 mit externem Anrufbeantworter kann es nicht funktionieren. Was dann funktionieren sollte, wäre die Signalisierung, dass ein Gespräch geführt wurde.

                  Glasfaser 1 Reply Last reply Reply Quote 1
                  • Glasfaser
                    Glasfaser @Marty56 last edited by 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 1 Reply Last reply Reply Quote 0
                    • M
                      Marty56 @Glasfaser last edited by

                      @Glasfaser wie die Zeit vergeht....

                      1 Reply Last reply Reply Quote 0
                      • C
                        Coffeelover last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • Feuersturm
                          Feuersturm @Marty56 last edited by

                          @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.

                          falke69 1 Reply Last reply Reply Quote 0
                          • falke69
                            falke69 @Feuersturm last edited by

                            @Feuersturm tolles Script👍

                            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.😊

                            Feuersturm 1 Reply Last reply Reply Quote 0
                            • Feuersturm
                              Feuersturm @falke69 last edited by

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

                              falke69 1 Reply Last reply Reply Quote 0
                              • falke69
                                falke69 @Feuersturm last edited by

                                @Feuersturm aber nicht gerade am Weihnachten. 🙂

                                in diesem Sinne schon mal frohes Fest 🎅

                                Feuersturm 1 Reply Last reply Reply Quote 0
                                • Feuersturm
                                  Feuersturm @falke69 last edited by

                                  @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 🌨 ☃

                                  falke69 1 Reply Last reply Reply Quote 0
                                  • falke69
                                    falke69 @Feuersturm last edited by

                                    @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
                                    
                                    falke69 1 Reply Last reply Reply Quote 0
                                    • falke69
                                      falke69 @falke69 last edited by

                                      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 Reply Last reply Reply Quote 0
                                      • Phantomkommander
                                        Phantomkommander @Marty56 last edited by

                                        @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 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

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

                                        990
                                        Online

                                        31.9k
                                        Users

                                        80.2k
                                        Topics

                                        1.3m
                                        Posts

                                        8
                                        18
                                        2563
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo