Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. TR-064 Fritzbox Anrufbeantworter

    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-064 Fritzbox Anrufbeantworter

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      chris299 @falke69 last edited by

      @falke69 ja, da sollte das Transkript drin sein (nicht das audio file), aber auch nur, wenn der Call zu Azure cognitive services funktioniert hat. was sagt denn das javascript log?

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

        @chris299

        hier mal der log:

        javascript.0
           2025-06-25 14:33:48.240	info	script.js.Anrufer.Wir.test.Skript_1: "Transkript : The."
        javascript.0
           2025-06-25 14:33:48.240	info	script.js.Anrufer.Wir.test.Skript_1: {"durationMilliseconds":6040,"combinedPhrases":[{"text":"The."}],"phrases":[{"offsetMilliseconds":2920,"durationMilliseconds":80,"text":"The.","words":[{"text":"The.","offsetMilliseconds":2920,"durationMilliseconds":80}],"locale":"en-US","confidence":0.25603276}]}
        javascript.0
           2025-06-25 14:33:47.702	info	script.js.Anrufer.Wir.test.Skript_1: FormData { _overheadLength: 264, _valueLength: 51, _valuesToMeasure: [ ReadStream { fd: null, path: '/tmp/Anrufer.Wir.test.Skript_1-5OP0qU/message.wav', flags: 'r', mode: 438, start: undefined, end: Infinity, pos: undefined, bytesRead: 0, _events: [Object], _readableState: [ReadableState], _maxListeners: 100, _eventsCount: 3, emit: [Function (anonymous)], [Symbol(kFs)]: [Object], [Symbol(kIsPerformingIO)]: false, [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false } ], writable: false, readable: true, dataSize: 0, maxDataSize: 2097152, pauseStreams: true, _released: false, _streams: [ '----------------------------379925215142652874426000\r\n' + 'Content-Disposition: form-data; name="definitions"\r\n' + '\r\n', '{"locales":["de-DE"], "profanityFilterMode":"None"}', [Function: bound ], '----------------------------379925215142652874426000\r\n' + 'Content-Disposition: form-data; name="audio"; filename="message.wav"\r\n' + 'Content-Type: audio/wave\r\n' + '\r\n', DelayedStream { source: [ReadStream], dataSize: 0, maxDataSize: Infinity, pauseStream: true, _maxDataSizeExceeded: false, _released: false, _bufferedEvents: [Array], _events: [Object: null prototype], _eventsCount: 1 }, [Function: bound ] ], _currentStream: null, _insideLoop: false, _pendingNext: false, _boundary: '--------------------------379925215142652874426000' }
        javascript.0
           2025-06-25 14:33:47.700	info	script.js.Anrufer.Wir.test.Skript_1: post form data für azure transcribe:
        javascript.0
           2025-06-25 14:33:47.694	info	script.js.Anrufer.Wir.test.Skript_1: Saved to /tmp/Anrufer.Wir.test.Skript_1-5OP0qU/message.wav
        javascript.0
           2025-06-25 14:33:47.694	info	script.js.Anrufer.Wir.test.Skript_1: response header:connection: close content-type: audio/x-wav content-disposition: attachment; filename="message.wav"
        javascript.0
           2025-06-25 14:33:45.936	info	script.js.Anrufer.Wir.test.Skript_1: Anzahl Neuer Nachrichten auf dem AB: 1
        javascript.0
           2025-06-25 14:33:45.936	info	script.js.Anrufer.Wir.test.Skript_1: Nachricht neu [i]: [0]["1"] mit Index: ["0"] und gekürzt: 0
        javascript.0
           2025-06-25 14:33:45.936	info	script.js.Anrufer.Wir.test.Skript_1: result.Root.Message.length: 1
        javascript.0
           2025-06-25 14:33:45.930	info	script.js.Anrufer.Wir.test.Skript_1: wav download : http://192.168.178.1:49000/download.lua?path=/data/tam/rec/rec.0.000 ; post data : sid=2400874c61e0ae6e
        javascript.0
           2025-06-25 14:33:45.929	info	script.js.Anrufer.Wir.test.Skript_1: Pfad zur neusten Message):http://192.168.178.1:49000/download.lua?path=/data/tam/rec/rec.0.000
        javascript.0
           2025-06-25 14:33:45.929	info	script.js.Anrufer.Wir.test.Skript_1: no arrays anymore: {"Index":"0","Tam":"0","Called":"XXXXX","Date":"25.06.25 14:33","Duration":"0:01","Inbook":"1","Name":"USER","New":"1","Number":"0172XXXXXXX","Path":"/download.lua?path=/data/tam/rec/rec.0.000"}
        javascript.0
           2025-06-25 14:33:45.928	info	script.js.Anrufer.Wir.test.Skript_1: neuesten Message (nach Datum):{"Index":["0"],"Tam":["0"],"Called":["XXXXX"],"Date":["25.06.25 14:33"],"Duration":["0:01"],"Inbook":["1"],"Name":["USER"],"New":["1"],"Number":["0172XXXXXXX"],"Path":["/download.lua?path=/data/tam/rec/rec.0.000"]}
        javascript.0
           2025-06-25 14:33:45.927	info	script.js.Anrufer.Wir.test.Skript_1: Index der neuesten Message (nach Datum):0
        javascript.0
           2025-06-25 14:33:45.926	info	script.js.Anrufer.Wir.test.Skript_1: TAMCalllist_JSON: {"Root":{"Message":[{"Index":["0"],"Tam":["0"],"Called":["XXXXX"],"Date":["25.06.25 14:33"],"Duration":["0:01"],"Inbook":["1"],"Name":["USER"],"New":["1"],"Number":["0172XXXXXXX"],"Path":["/download.lua?path=/data/tam/rec/rec.0.000"]}]}}
        javascript.0
           2025-06-25 14:33:45.926	info	script.js.Anrufer.Wir.test.Skript_1: Ergebnis Umwandlung CallList XML in JSON: {"Root":{"Message":[{"Index":["0"],"Tam":["0"],"Called":["XXXXX"],"Date":["25.06.25 14:33"],"Duration":["0:01"],"Inbook":["1"],"Name":["USER"],"New":["1"],"Number":["0172XXXXXXX"],"Path":["/download.lua?path=/data/tam/rec/rec.0.000"]}]}}
        javascript.0
           2025-06-25 14:33:45.920	info	script.js.Anrufer.Wir.test.Skript_1: FB_xml_TamCalls aus XML extrahiert: 1
        javascript.0
           2025-06-25 14:33:45.511	info	script.js.Anrufer.Wir.test.Skript_1: sid : 2400874c61e0ae6e ; tamindex : 0
        javascript.0
           2025-06-25 14:33:45.509	info	script.js.Anrufer.Wir.test.Skript_1: path from commandResult: http://192.168.178.1:49000/tamcalllist.lua?sid=2400874c61e0ae6e&tamindex=0
        javascript.0
           2025-06-25 14:33:45.508	info	script.js.Anrufer.Wir.test.Skript_1: Antwort auf command im State tr-064.0.states.commandResult: {"NewURL":"http://192.168.178.1:49000/tamcalllist.lua?sid=2400874c61e0ae6e&tamindex=0"}
        tr-064.0
           2025-06-25 14:33:44.961	info	{"NewURL":"http://192.168.178.1:49000/tamcalllist.lua?sid=2400874c61e0ae6e&tamindex=0"}
        tr-064.0
           2025-06-25 14:33:44.914	info	{"NewURL":"http://192.168.178.1:49000/tamcalllist.lua?sid=2400874c61e0ae6e&tamindex=0"}
        javascript.0
           2025-06-25 14:33:44.880	info	script.js.Anrufer.Wir.test.Skript_1: Soap Comand : {"service": "urn:dslforum-org:service:X_AVM-DE_TAM:1","action": "GetMessageList","params": {"NewIndex ": "0"}}
        javascript.0
           2025-06-25 14:33:44.880	info	script.js.Anrufer.Wir.test.Skript_1: USER hat auf den Anrufbeantworter 0 gesprochen. Daten werden aus der Fritzbox ausgelesen...
        javascript.0
           2025-06-25 14:33:44.877	info	script.js.Anrufer.Wir.AB_auf_neue_Nachrichten_prüfen-15-03-25: TypeError: Invalid URL at new URL (node:internal/url:806:29) at dispatchHttpRequest (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:2801:20) at /opt/iobroker/node_modules/axios/dist/node/axios.cjs:2721:5 at new Promise (<anonymous>) at wrapAsync (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:2701:10) at http (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:2739:10) at Axios.dispatchRequest (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:4116:10) at Axios._request (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:4416:33) at Axios.request (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:4271:25) at Axios.<computed> [as get] (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:4442:17) at Function.wrap [as get] (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:31:15) at Fritzbox_Anrufbeantworter_GetMessageList (script.js.Anrufer.Wir.AB_auf_neue_Nachrichten_prüfen-15-03-25:92:10) at Object.<anonymous> (script.js.Anrufer.Wir.AB_auf_neue_Nachrichten_prüfen-15-03-25:189:20) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3219:34) at listOnTimeout (node:internal/timers:581:17) at process.processTimers (node:internal/timers:519:7) at Axios.request (/opt/iobroker/node_modules/axios/dist/node/axios.cjs:4276:41) { code: 'ERR_INVALID_URL', input: 'DE_HostListPath":"/devicehostlist.lua?sid=2400874c61e0ae6e' }
        

        Ich hoffe, das ich auch soweit alle meine persönlichen Daten unkentlich gemacht habe.

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

          @falke69 sieht eigentlich alles richtig aus. du bekommst als transkript der nachricht tatsächlich "The." zurück. Was sollte das denn sein? und welche Sprache wird da üblicherweise drauf gesprochen?
          nimm mal die neue version, die ich gerade hochgeladen habe, die ist etwas robuster und gibt mehr mitteilungen im debug mode.

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

            @chris299

            jetzt geht es. 🙂
            Bei uns wird deutsch gesprochen. Alles andere würde ich nicht verstehen. 🙂 🙂 🙂
            Habe nur bisher nicht drauf gesprochen, sondern nur Geräusche gemacht um den AB
            voll zu bekommen.

            Hatte das Script sozusagen vollkommen falsch verstanden.
            Ich war der Meinung, das es die Nachricht runterläd und in den Datenpunkt speichert.
            So wie im Log zu sehen:

            script.js.Anrufer.Wir.test.Skript_1: wav download : http://192.168.178.1:49000/download.lua?path=/data/tam/rec/rec.0.001 ; post data : sid=2400874c61e0ae6e
            

            Wo wird den der wav File gespeichert um diese direkt per Telegram, Mail oder WhatsApp mit der Nachricht über den Anrufer zu versenden?

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

              @falke69 habe eine neue Version hoch geladen, die einen neuen Datenpunkt auf macht, in dem dann der lokale Pfad zur Wav Datei steht. im Blockly kann man darauf zugreifen und das file versenden.....

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

                @chris299

                sehr schön. Das mit dem wav File funktioniert. Leider funktioniert die Transkription nicht mehr.
                Im Datenpunkt steht: "Transkription fehlgeschlagen".

                Hier der Log:
                log.txt

                Hat leider von der Länge nicht direkt mit reingepasst.

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

                  @falke69 du musst da natürlich deinen eigenen Azure Key einsetzen. anscheinend hast du vorher eine version erwischt, in der ich versehentlich meinen key nicht gelöscht hatte....
                  und ja, ich muss die fehlermeldung für diesen Fall besser machen. so ist da deine ganze audio datei drin....

                  EDIT:
                  neue Version mit besserem logging hochgeladen

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

                    @chris299

                    daran wird es wohl liegen.
                    Könnte man auch die Transkription im Script deaktivieren und nur den Wav File laden?
                    Habe gerade mir das mit Azure angeschaut - das scheint ja nicht unbedingt einfach zu sein, sich dort einen Key anzulegen. 😞

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

                      @falke69 dastranskribieren abschalten kann man auch:
                      einfach in der Zeile 61
                      aus

                      const transcribe = true;
                      
                      const transcribe = false;
                      

                      machen....

                      vielleicht mache ich auch später noch eine Version bei der man das mit einem button in einem datenpunkt ein und ausschalten kann.... mal sehen...
                      EDIT: neue version damit hochgeladen.

                      aber eigentlich sollte das Erzeugen einer Ressource und deren Keys im Portal von Azure über den Link, den ich in der Anleitung angegeben habe, nicht so schwer sein:
                      https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/SpeechServices
                      Man muss ein Abonement anlegen und dann darin die Ressource erstellen, dann kann man den Key abrufen.

                      falke69 2 Replies Last reply Reply Quote 0
                      • falke69
                        falke69 @chris299 last edited by

                        @chris299

                        Vielen Dank

                        ... irgendwie war der Abend gestern noch etwas stressig für mich geworden. Dann war ich schon mit der Registrierung bei Azure überfordert.

                        Ich werde mir das Script heute Nachmittag mal in Ruhe anschauen und dann berichten.

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

                          @chris299

                          habe jetzt Zeit gefunden Dein Script zu testen.

                          Bis jetzt funktioniert es tadellos.
                          Am Anfang hatte ich mich nur vertan, was Azure betrift.
                          Ich hat nicht Westeurope ausgewählt.
                          Also alles wieder gelöscht und jetzt richtig erstellt.

                          Dann funktioniert jetzt alles.

                          Vielen Dank für Deine Zeit und Hilfe.

                          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

                          886
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          16
                          88
                          9627
                          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