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-064 v3.1.x (Latest Repo) Diskussion

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

tr-064 v3.1.x (Latest Repo) Diskussion

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
tr-064
295 Beiträge 50 Kommentatoren 47.1k Aufrufe 50 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.
  • LatziL Latzi

    @apollon77 ich bekomme bei meinem iPhone gelegentlich die Meldung:

    2020-02-19 07:12:33.622  - warn: tr-064.0 (755) forEachConfiguredDevice: in GetSpecificHostEntry 0(Latzi-iPhone/50:A6:7F:7D:FF:E2):Error: sendSOAPActionRequest Error action=GetSpecificHostEntry serviceType=urn:dslforum-org:service:Hosts:1: 500 - {"code":500}
    

    und dabei verschwindet kurzzeitig die Anwesenheit (im Zehntelskeunden-Bereich). Ist das bekannt und kann ich dagegen etwas tun? Die Android zeigen dieses Verhalten nicht.

    apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #191

    @Latzi die letzten Erkenntnisse dazu waren das das passiert wenn der dhcp lease ausläuft. Hast du „immer gleich ip geben“ aktiviert?

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    LatziL 1 Antwort Letzte Antwort
    0
    • apollon77A apollon77

      @Latzi die letzten Erkenntnisse dazu waren das das passiert wenn der dhcp lease ausläuft. Hast du „immer gleich ip geben“ aktiviert?

      LatziL Online
      LatziL Online
      Latzi
      schrieb am zuletzt editiert von Latzi
      #192

      @apollon77 ja, ist eingestellt

      c78f7907-2390-4e7d-93ef-8e47c6284bd9-grafik.png

      Edit: Mesh ist aktiv!

      apollon77A 1 Antwort Letzte Antwort
      0
      • LatziL Latzi

        @apollon77 ja, ist eingestellt

        c78f7907-2390-4e7d-93ef-8e47c6284bd9-grafik.png

        Edit: Mesh ist aktiv!

        apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #193

        @Latzi Dann keine IDee... Die FB gibt den Fehler zurück ...

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        LatziL 1 Antwort Letzte Antwort
        0
        • apollon77A apollon77

          @Latzi Dann keine IDee... Die FB gibt den Fehler zurück ...

          LatziL Online
          LatziL Online
          Latzi
          schrieb am zuletzt editiert von
          #194

          @apollon77 oje, schade. Trotzdem Danke :+1:

          1 Antwort Letzte Antwort
          0
          • crunchipC crunchip

            @apollon77 könnte ich theoretisch, wenn ich nen passenden DP finde zum triggern, der sich auch bei eingehendem Anruf aktualisiert. so wie es jedoch momentan überblicke, aktualisiert keiner der DP´s die in Frage kommen könnten zum triggern.
            Unabhängig davon, bleibt ja dennoch das Problem...das weder ein noch ausgehende Anrufe aktualisiert werden.
            Die tr-064.0.calllists.xyz.json nur aktualisieren nach einem neustart.
            ich sehe es ja an den Zeitstempeln ob eine Aktualisierung stattfand, aber ich beobachte das nochmal die Tage in Ruhe

            X Offline
            X Offline
            Xyolyp
            schrieb am zuletzt editiert von
            #195

            @crunchip Ich habe das gleiche Problem wie du. Wenn der Adapter ein paar Tage läuft tut er nichts mehr mit dem Callmonitor. Anwesenheit funktioniert weiter aber der Callmonitor steigt aus.

            crunchipC 1 Antwort Letzte Antwort
            0
            • X Xyolyp

              @crunchip Ich habe das gleiche Problem wie du. Wenn der Adapter ein paar Tage läuft tut er nichts mehr mit dem Callmonitor. Anwesenheit funktioniert weiter aber der Callmonitor steigt aus.

              crunchipC Abwesend
              crunchipC Abwesend
              crunchip
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #196

              @Xyolyp nachdem ich heute Nacht, den Adapter kurzfristig auf debug gestellt hatte, funktioniert aktuell wieder alles, habe heute Nachmittag dann verschiedene Szenarien durchgetestet. Alle states werden aktualisiert. Mal sehen, wie lange.
              Werde die Tage mal genauer beobachten, vllt auch einen Zusammenhang zu finden, wenn die Fritzbox alle paar Tage seitens Telekom aktualisiert wird.

              umgestiegen von Proxmox auf Unraid

              1 Antwort Letzte Antwort
              0
              • crunchipC Abwesend
                crunchipC Abwesend
                crunchip
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #197

                aktueller Stand der Dinge, Anruf bekommen, keine Ansage, folglich, es wurde wieder nicht aktualisiert.
                Fritzbox Ereignisse durchgesehen, nichts negatives
                Verbindung der Fritzbox/Internetanbieter, wurde auch nichts aktualisiert

                • die schlechte Nachricht, tr-64 wurde wieder nirgends ein state aktualisiert, Stand/Zeitstempel, letzter Anruf von gestern
                • die ganz schlechte Nachricht, nun hat auch der Fritzbox Adapter nicht aktualisiert! Selber Stand/Zeitstempel von gestern

                umgestiegen von Proxmox auf Unraid

                apollon77A 2 Antworten Letzte Antwort
                0
                • crunchipC crunchip

                  aktueller Stand der Dinge, Anruf bekommen, keine Ansage, folglich, es wurde wieder nicht aktualisiert.
                  Fritzbox Ereignisse durchgesehen, nichts negatives
                  Verbindung der Fritzbox/Internetanbieter, wurde auch nichts aktualisiert

                  • die schlechte Nachricht, tr-64 wurde wieder nirgends ein state aktualisiert, Stand/Zeitstempel, letzter Anruf von gestern
                  • die ganz schlechte Nachricht, nun hat auch der Fritzbox Adapter nicht aktualisiert! Selber Stand/Zeitstempel von gestern
                  apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #198

                  @crunchip Findest Du im Log irgendwas von dem adapter nach dem letzten Zeitstempel?

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  crunchipC 1 Antwort Letzte Antwort
                  0
                  • crunchipC crunchip

                    aktueller Stand der Dinge, Anruf bekommen, keine Ansage, folglich, es wurde wieder nicht aktualisiert.
                    Fritzbox Ereignisse durchgesehen, nichts negatives
                    Verbindung der Fritzbox/Internetanbieter, wurde auch nichts aktualisiert

                    • die schlechte Nachricht, tr-64 wurde wieder nirgends ein state aktualisiert, Stand/Zeitstempel, letzter Anruf von gestern
                    • die ganz schlechte Nachricht, nun hat auch der Fritzbox Adapter nicht aktualisiert! Selber Stand/Zeitstempel von gestern
                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #199

                    @crunchip bzw versuch malden Fix bei dir manuell einzubauen

                    https://github.com/iobroker-community-adapters/ioBroker.tr-064/commit/17acbc4aca960ca911087b8830ace84e4dd5a49c

                    da hatte ich mal ne exception gesehn die ggf für sowas verantwortlich sein könnte

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    crunchipC 1 Antwort Letzte Antwort
                    0
                    • crunchipC crunchip

                      @dslraser
                      Ich hatte ja den Fritzbox Adapter laufen, jedoch damals, glaub bei Umstellung auf den js-controller 2.x, warf der Fritzbox Adapter einige Fehler und bekam ihn nicht mehr zum laufen und da ich ihn eigentlich eh nicht in Verwendung hatte, habe ich ihn gelöscht.
                      Das gleich, mit dem alten (soef) tr-64, dieser lief ohne Probleme, bekam ich auch nicht mehr zum laufen, mit dem Controller Update, daher der Wechsel auf den Community. Dieser lief genauso bescheiden, wie der Jetzige tr-64.
                      Zeitgleich hatte ich diese nicht laufen.

                      wendy2702W Online
                      wendy2702W Online
                      wendy2702
                      schrieb am zuletzt editiert von wendy2702
                      #200

                      @crunchip sagte in tr-064 v3.1.x (Latest Repo) Diskussion:

                      @dslraser
                      Ich hatte ja den Fritzbox Adapter laufen, jedoch damals, glaub bei Umstellung auf den js-controller 2.x, warf der Fritzbox Adapter einige Fehler und bekam ihn nicht mehr zum laufen und da ich ihn eigentlich eh nicht in Verwendung hatte, habe ich ihn gelöscht.
                      Das gleich, mit dem alten (soef) tr-64, dieser lief ohne Probleme, bekam ich auch nicht mehr zum laufen, mit dem Controller Update, daher der Wechsel auf den Community. Dieser lief genauso bescheiden, wie der Jetzige tr-64.
                      Zeitgleich hatte ich diese nicht laufen.

                      Hast du nur die Instanz nicht laufen aber vielleicht noch eine Instanz und/oder die Adapter installiert?

                      Ich glaube das ist es was @dslraser meint.

                      Bei mir läuft der Adapter inklusive Ansage Script seit erscheinen Problemlos.

                      Bitte keine Fragen per PN, die gehören ins Forum!

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      dslraserD crunchipC 2 Antworten Letzte Antwort
                      0
                      • wendy2702W wendy2702

                        @crunchip sagte in tr-064 v3.1.x (Latest Repo) Diskussion:

                        @dslraser
                        Ich hatte ja den Fritzbox Adapter laufen, jedoch damals, glaub bei Umstellung auf den js-controller 2.x, warf der Fritzbox Adapter einige Fehler und bekam ihn nicht mehr zum laufen und da ich ihn eigentlich eh nicht in Verwendung hatte, habe ich ihn gelöscht.
                        Das gleich, mit dem alten (soef) tr-64, dieser lief ohne Probleme, bekam ich auch nicht mehr zum laufen, mit dem Controller Update, daher der Wechsel auf den Community. Dieser lief genauso bescheiden, wie der Jetzige tr-64.
                        Zeitgleich hatte ich diese nicht laufen.

                        Hast du nur die Instanz nicht laufen aber vielleicht noch eine Instanz und/oder die Adapter installiert?

                        Ich glaube das ist es was @dslraser meint.

                        Bei mir läuft der Adapter inklusive Ansage Script seit erscheinen Problemlos.

                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #201

                        @wendy2702
                        ja, so meinte ich das. Probleme hatte ich, als zwei Varianten installiert waren, mit Instanzen, auch wenn nur eine Instanz aktiviert war. Aktuell habe ich nur den 3.4.1 installiert bzw. eine Instanz davon und die ist aktiv. Es gibt keine weitere (auch keine deaktivierte) Instanz.
                        Aber trotzdem weiß ich nicht ob es da einen Zusammenhang gibt.

                        1 Antwort Letzte Antwort
                        0
                        • apollon77A apollon77

                          @crunchip Findest Du im Log irgendwas von dem adapter nach dem letzten Zeitstempel?

                          crunchipC Abwesend
                          crunchipC Abwesend
                          crunchip
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #202

                          @apollon77 Im heutigen log taucht gar nichts auf, weder tr-64 noch fritzbox.
                          Das ist das log, vom letzten Test/Anruf gestern

                          2020-02-19 13:13:47.784 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:13:47;RING;0;xxxxxxxx;xxxx;SIP0;
                          2020-02-19 13:13:48.827 - info: sayit.0 (3070) saying: xxxxxxx ruft gerade an.
                          2020-02-19 13:13:49.073 - info: sayit.0 (3070) Set "chromecast.0.Google_Home_mini.player.announcement to {"url":"http://10.1.1.10:8082/state/sayit.0.tts.mp3","volume":60}
                          2020-02-19 13:14:03.757 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:14:03;DISCONNECT;0;0;
                          2020-02-19 13:16:00.022 - info: host.IoBroker instance system.adapter.dwd.0 started with pid 11203
                          2020-02-19 13:16:05.236 - info: host.IoBroker instance system.adapter.dwd.0 terminated with code 0 (NO_ERROR)
                          2020-02-19 13:18:56.478 - info: info.0 (1703) Popup news was read...
                          2020-02-19 13:20:00.083 - info: host.IoBroker instance system.adapter.weatherunderground.0 started with pid 12442
                          2020-02-19 13:20:08.684 - info: host.IoBroker instance system.adapter.weatherunderground.0 terminated with code 0 (NO_ERROR)
                          2020-02-19 13:23:17.103 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:23:17;RING;0;xxxxxxx;981400;SIP0;
                          2020-02-19 13:23:18.173 - info: sayit.0 (3070) saying: xxxxxxxxx ruft gerade an.
                          2020-02-19 13:23:18.378 - info: sayit.0 (3070) Set "chromecast.0.Google_Home_mini.player.announcement to {"url":"http://10.1.1.10:8082/state/sayit.0.tts.mp3","volume":60}
                          2020-02-19 13:23:25.692 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:23:25;DISCONNECT;0;0;
                          2020-02-19 13:24:07.593 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:24:07;CALL;0;0;xxxxx;xxxxxxxx;SIP0;
                          2020-02-19 13:24:38.693 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:24:38;DISCONNECT;0;0;
                          2020-02-19 13:27:59.752 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:27:59;CALL;0;0;xxxxx;xxxxxxxxx;SIP0;
                          2020-02-19 13:28:18.208 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:28:18;CONNECT;0;0;xxxxxxxxx;
                          2020-02-19 13:28:26.370 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:28:26;DISCONNECT;0;6;
                          

                          hier nach dem cronjob

                          2020-02-20 00:01:00.016 - info: tr-064.0 (3240) Scheduled restart.
                          2020-02-20 00:01:00.041 - info: tr-064.0 (3240) terminating
                          2020-02-20 00:01:00.045 - info: tr-064.0 (3240) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
                          2020-02-20 00:01:00.620 - error: host.IoBroker instance system.adapter.tr-064.0 terminated with code 156 (156)
                          2020-02-20 00:01:00.620 - info: host.IoBroker Restart adapter system.adapter.tr-064.0 because enabled
                          2020-02-20 00:01:01.678 - info: host.IoBroker instance system.adapter.tr-064.0 started with pid 21837
                          2020-02-20 00:01:04.336 - info: tr-064.0 (21837) starting. Version 3.1.4 in /opt/iobroker/node_modules/iobroker.tr-064, node: v10.19.0
                          

                          umgestiegen von Proxmox auf Unraid

                          apollon77A 1 Antwort Letzte Antwort
                          0
                          • wendy2702W wendy2702

                            @crunchip sagte in tr-064 v3.1.x (Latest Repo) Diskussion:

                            @dslraser
                            Ich hatte ja den Fritzbox Adapter laufen, jedoch damals, glaub bei Umstellung auf den js-controller 2.x, warf der Fritzbox Adapter einige Fehler und bekam ihn nicht mehr zum laufen und da ich ihn eigentlich eh nicht in Verwendung hatte, habe ich ihn gelöscht.
                            Das gleich, mit dem alten (soef) tr-64, dieser lief ohne Probleme, bekam ich auch nicht mehr zum laufen, mit dem Controller Update, daher der Wechsel auf den Community. Dieser lief genauso bescheiden, wie der Jetzige tr-64.
                            Zeitgleich hatte ich diese nicht laufen.

                            Hast du nur die Instanz nicht laufen aber vielleicht noch eine Instanz und/oder die Adapter installiert?

                            Ich glaube das ist es was @dslraser meint.

                            Bei mir läuft der Adapter inklusive Ansage Script seit erscheinen Problemlos.

                            crunchipC Abwesend
                            crunchipC Abwesend
                            crunchip
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #203

                            @wendy2702 nein, es ist nur der tr-64 instaliert.
                            nochmal die Reihenfolge
                            tr-64 lief in der alten Version, nach Umstellung (js-controller) war das soef Problem, daher zusätzlich den community installiert, der alte war ausgeschaltet. Einige Tage laufen lassen, mit dem Community, dann habe ich den alten tr-64 gelöscht.
                            nachdem der alte wiederbelebt wurde, habe ich diesen Installiert und danach den Community gelöscht.
                            als einzigstes "Überbleibsel" hab ich die meta noch drin stehen, dazu hatte ich aber glaub ich, auch schon gefragt, ob das so richtig ist, aber keine Antwort bekommen
                            659f65da-0cce-42d8-a213-588dde1f7176-image.png

                            umgestiegen von Proxmox auf Unraid

                            dslraserD 1 Antwort Letzte Antwort
                            0
                            • crunchipC crunchip

                              @wendy2702 nein, es ist nur der tr-64 instaliert.
                              nochmal die Reihenfolge
                              tr-64 lief in der alten Version, nach Umstellung (js-controller) war das soef Problem, daher zusätzlich den community installiert, der alte war ausgeschaltet. Einige Tage laufen lassen, mit dem Community, dann habe ich den alten tr-64 gelöscht.
                              nachdem der alte wiederbelebt wurde, habe ich diesen Installiert und danach den Community gelöscht.
                              als einzigstes "Überbleibsel" hab ich die meta noch drin stehen, dazu hatte ich aber glaub ich, auch schon gefragt, ob das so richtig ist, aber keine Antwort bekommen
                              659f65da-0cce-42d8-a213-588dde1f7176-image.png

                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #204

                              @crunchip
                              hm...wenn es alle Varianten nicht tun, dann deutet es ja fast auf die Fritte selbst hin ? Aber wie gesagt, alles nur Vermutungen. Ohne Fehler im LOG, wie will man da auch was finden...

                              1 Antwort Letzte Antwort
                              0
                              • apollon77A apollon77

                                @crunchip bzw versuch malden Fix bei dir manuell einzubauen

                                https://github.com/iobroker-community-adapters/ioBroker.tr-064/commit/17acbc4aca960ca911087b8830ace84e4dd5a49c

                                da hatte ich mal ne exception gesehn die ggf für sowas verantwortlich sein könnte

                                crunchipC Abwesend
                                crunchipC Abwesend
                                crunchip
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von Negalein
                                #205

                                @apollon77 du bist witzig:grin:
                                wo und wie pack ich das rein?
                                das ist die aktuelle callmonitor.js

                                /* jshint -W097 */
                                /* jshint strict: false */
                                /* jslint node: true */
                                'use strict';
                                
                                const CALLMONITOR_NAME = 'callmonitor';
                                const enableConnect1012 = '--- To use the callmonitor, enable connects to port 1012 on FritzBox by dialing #96*5* with a directly connected phone (line/dect) and restart this adapter';
                                
                                function checkPatchForECONNREFUSED(adapter) {
                                   if (process || process.version) {
                                       const ar = process.version.split('.');
                                       if (ar[0].indexOf('v') === 0) {
                                           ar[0] = ar[0].substr(1);
                                       }
                                       let version = 0;
                                       for (let i = 0; i < ar.length; i++) {
                                           version *= 1000;
                                           version += ~~ar[i];
                                       }
                                       if (version >= 6000000) return;
                                   }
                                
                                   const util = require('util');
                                   const old_errnoException = util._errnoException;
                                   util._errnoException = function (err, syscall, original) {
                                       if (typeof original === 'string' && original.indexOf(':1012') >= 0) {
                                           adapter.log.error('--- ECONNREFUSED ' + original);
                                           adapter.log.error(enableConnect1012);
                                       }
                                       return old_errnoException(err, syscall, original);
                                   };
                                }
                                
                                const pauseStates = {
                                   inbound:  'ring',
                                   lastCall: 'end',
                                   connect:  'connect'
                                };
                                
                                function CallMonitor(adapter, devices, phonebook) {
                                   if (!adapter.config.useCallMonitor) {
                                       return;
                                   }
                                   adapter.log.debug('starting callmonitor');
                                   checkPatchForECONNREFUSED(adapter);
                                
                                   const net = require('net');
                                   const connections = {};
                                   let timeout;
                                   let lastCaller;
                                   let lastCallee;
                                   let client;
                                
                                   devices.root.createNew(CALLMONITOR_NAME + '.toPauseState', {val: '', common: {name: 'On call states', desc: 'State to pause players. values are: ring, connect, end'}});
                                
                                   function init() {
                                       client = new net.Socket();
                                
                                       client.on('connect', () =>
                                           adapter.log.debug('callmonitor connected'));
                                
                                       client.on('error', err => {
                                           if (err.errno === 'ECONNREFUSED') {
                                               adapter.log.error(enableConnect1012);
                                               this.close();
                                           }
                                       });
                                
                                       client.on('close', _hadError => {
                                           timeout && clearTimeout(timeout);
                                           timeout = setTimeout(() => {
                                               timeout = null;
                                               init();
                                           }, adapter.config.reconnectInterval || 5000);
                                       });
                                
                                       client.on('data', data => {
                                           const raw = data.toString();
                                           adapter.log.debug('Callmonitor Raw: ' + raw);
                                           const array = raw.split(';');
                                           const type = array[1];
                                           const id = array[2];
                                           const timestamp = array[0];
                                           let message;
                                           //var dev = new devices.CDevice(0, '');
                                           //dev.setDevice(CALLMONITOR_NAME, {common: {name: CALLMONITOR_NAME, role: 'channel'}, native: {} });
                                           const dev = new devices.CDevice(CALLMONITOR_NAME, '');
                                           dev.force = true;
                                           let timer = null;
                                
                                           function set(name) {
                                               //const dev = new devices.CDevice(CALLMONITOR_NAME, '');
                                               //dev.force = true;
                                               timer && clearTimeout(timer);
                                               timer = null;
                                
                                               adapter.log.debug('New Call data ' + name + ': ' + JSON.stringify(message));
                                               dev.setChannel('', '');
                                               dev.set('ringing', name === 'inbound');
                                
                                               // var pause = pauseStates[name];
                                               // if (pause !== undefined) {
                                               //     dev.set('toPauseState', pause);
                                               // }
                                
                                               dev.setChannel(name, name);
                                               for (const i in message) {
                                                   if (i[0] !== '_') {
                                                       dev.set(i, message[i]);
                                                   }
                                               }
                                               dev.set('timestamp', timestamp);
                                               message._type = name;
                                               if (adapter.config.usePhonebook && phonebook) {
                                                   if (lastCaller !== message.caller) {
                                                       lastCaller = message.caller;
                                                   }
                                                   if (!message.callerName && message.caller) {
                                                       const pbe = phonebook.byNumber(message.caller);
                                                       if (pbe) {
                                                           message.callerName = pbe.name;
                                                           if (pbe.imageurl) {
                                                               message.imageurlcaller = pbe.imageurl;
                                                           }
                                                       } else {
                                                           message.callerName = '';
                                                       }
                                                   }
                                                   dev.set('callerName', message.callerName || '');
                                
                                                   if (lastCallee !== message.callee) {
                                                       lastCallee = message.callee;
                                                   }
                                
                                                   if (!message.calleeName && message.callee) {
                                                       const pbee = phonebook.byNumber(message.callee);
                                                       if (pbee) {
                                                           message.calleeName = pbee.name;
                                                           if (pbee.imageurl) message.imageurlcallee = pbee.imageurl;
                                                       } else {
                                                           message.calleeName = '';
                                                       }
                                                   }
                                                   dev.set('calleeName', message.calleeName || '');
                                               }
                                
                                               dev.set('json', JSON.stringify(message));
                                
                                               dev.setChannel('', '');
                                               const pause = pauseStates[name];
                                               if (pause !== undefined) {
                                                   dev.set('toPauseState', pause);
                                                   message.extension && dev.set('toPauseState-' + message.extension, pause);
                                               }
                                
                                               // soef.getHttpData(message.imageurlcaller, function (err, body, res) {
                                               //     res = res;
                                               // })
                                               adapter.log.debug('callMonitor.set: type=' + name + ' caller=' + message.caller + ' callee=' + message.callee + (message.callerName ? ' callerName=' + message.callerName : '') + (message.calleeName ? ' calleeName=' + message.calleeName : ''));
                                               timer = setTimeout(() => {
                                                   dev.update();
                                                   devices.update();
                                               }, 500);
                                           }
                                
                                           switch (type) {
                                               case 'CALL':
                                                   message = {caller: array[4], callee: array[5], extension: array[3], timestamp, id};
                                                   connections[id] = message;
                                                   set('outbound');
                                                   break;
                                
                                               case 'RING':
                                                   message = {caller: array[3], callee: array[4], timestamp, id};
                                                   connections[id] = message;
                                                   set('inbound');
                                                   break;
                                
                                               case 'CONNECT':
                                                   message = connections[id];
                                                   if (!message) {
                                                       break;
                                                   }
                                                   message.extension = array[3];
                                                   set('connect');
                                                   break;
                                
                                               case 'DISCONNECT':
                                                   message = connections[id];
                                                   if (!message) {
                                                       break;
                                                   }
                                                   switch (message._type) {
                                                       case 'inbound':
                                                           message.type = 'missed';
                                                           break;
                                                       case 'connect':
                                                           message.type = 'disconnect';
                                                           break;
                                                       case 'outbound':
                                                           message.type = 'unreached';
                                                           break;
                                                   }
                                                   message.duration = array[3] >> 0;
                                                   //set('disconnect');
                                                   set('lastCall');
                                                   delete connections[id];
                                                   break;
                                           }
                                       });
                                
                                       client.connect({
                                           host: adapter.config.ip,
                                           port: 1012
                                       })
                                           .on('error', error =>
                                               adapter.log.error('Cannot start ' + CALLMONITOR_NAME + ': ' + error));
                                   }
                                
                                   this.close = function () {
                                       if (client) {
                                           try {
                                               client.removeAllListeners();
                                               client.destroy();
                                           } catch (e) {
                                
                                           }
                                           client = null;
                                       }
                                       timeout && clearTimeout(timeout);
                                       timeout = null;
                                   };
                                
                                   init();
                                
                                   return this;
                                }
                                
                                module.exports = CallMonitor;
                                

                                umgestiegen von Proxmox auf Unraid

                                apollon77A 1 Antwort Letzte Antwort
                                0
                                • wendy2702W Online
                                  wendy2702W Online
                                  wendy2702
                                  schrieb am zuletzt editiert von
                                  #206

                                  kannst du mal auf Konsolen ebene schauen ob es den wirklich nur einmal gibt?

                                  iobroker list adapters
                                  

                                  Bitte keine Fragen per PN, die gehören ins Forum!

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  crunchipC 1 Antwort Letzte Antwort
                                  0
                                  • wendy2702W wendy2702

                                    kannst du mal auf Konsolen ebene schauen ob es den wirklich nur einmal gibt?

                                    iobroker list adapters
                                    
                                    crunchipC Abwesend
                                    crunchipC Abwesend
                                    crunchip
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #207

                                    @wendy2702 gibt nur den einen
                                    system.adapter.tr-064 : tr-064 - v3.1.4

                                    umgestiegen von Proxmox auf Unraid

                                    1 Antwort Letzte Antwort
                                    0
                                    • crunchipC crunchip

                                      @apollon77 du bist witzig:grin:
                                      wo und wie pack ich das rein?
                                      das ist die aktuelle callmonitor.js

                                      /* jshint -W097 */
                                      /* jshint strict: false */
                                      /* jslint node: true */
                                      'use strict';
                                      
                                      const CALLMONITOR_NAME = 'callmonitor';
                                      const enableConnect1012 = '--- To use the callmonitor, enable connects to port 1012 on FritzBox by dialing #96*5* with a directly connected phone (line/dect) and restart this adapter';
                                      
                                      function checkPatchForECONNREFUSED(adapter) {
                                         if (process || process.version) {
                                             const ar = process.version.split('.');
                                             if (ar[0].indexOf('v') === 0) {
                                                 ar[0] = ar[0].substr(1);
                                             }
                                             let version = 0;
                                             for (let i = 0; i < ar.length; i++) {
                                                 version *= 1000;
                                                 version += ~~ar[i];
                                             }
                                             if (version >= 6000000) return;
                                         }
                                      
                                         const util = require('util');
                                         const old_errnoException = util._errnoException;
                                         util._errnoException = function (err, syscall, original) {
                                             if (typeof original === 'string' && original.indexOf(':1012') >= 0) {
                                                 adapter.log.error('--- ECONNREFUSED ' + original);
                                                 adapter.log.error(enableConnect1012);
                                             }
                                             return old_errnoException(err, syscall, original);
                                         };
                                      }
                                      
                                      const pauseStates = {
                                         inbound:  'ring',
                                         lastCall: 'end',
                                         connect:  'connect'
                                      };
                                      
                                      function CallMonitor(adapter, devices, phonebook) {
                                         if (!adapter.config.useCallMonitor) {
                                             return;
                                         }
                                         adapter.log.debug('starting callmonitor');
                                         checkPatchForECONNREFUSED(adapter);
                                      
                                         const net = require('net');
                                         const connections = {};
                                         let timeout;
                                         let lastCaller;
                                         let lastCallee;
                                         let client;
                                      
                                         devices.root.createNew(CALLMONITOR_NAME + '.toPauseState', {val: '', common: {name: 'On call states', desc: 'State to pause players. values are: ring, connect, end'}});
                                      
                                         function init() {
                                             client = new net.Socket();
                                      
                                             client.on('connect', () =>
                                                 adapter.log.debug('callmonitor connected'));
                                      
                                             client.on('error', err => {
                                                 if (err.errno === 'ECONNREFUSED') {
                                                     adapter.log.error(enableConnect1012);
                                                     this.close();
                                                 }
                                             });
                                      
                                             client.on('close', _hadError => {
                                                 timeout && clearTimeout(timeout);
                                                 timeout = setTimeout(() => {
                                                     timeout = null;
                                                     init();
                                                 }, adapter.config.reconnectInterval || 5000);
                                             });
                                      
                                             client.on('data', data => {
                                                 const raw = data.toString();
                                                 adapter.log.debug('Callmonitor Raw: ' + raw);
                                                 const array = raw.split(';');
                                                 const type = array[1];
                                                 const id = array[2];
                                                 const timestamp = array[0];
                                                 let message;
                                                 //var dev = new devices.CDevice(0, '');
                                                 //dev.setDevice(CALLMONITOR_NAME, {common: {name: CALLMONITOR_NAME, role: 'channel'}, native: {} });
                                                 const dev = new devices.CDevice(CALLMONITOR_NAME, '');
                                                 dev.force = true;
                                                 let timer = null;
                                      
                                                 function set(name) {
                                                     //const dev = new devices.CDevice(CALLMONITOR_NAME, '');
                                                     //dev.force = true;
                                                     timer && clearTimeout(timer);
                                                     timer = null;
                                      
                                                     adapter.log.debug('New Call data ' + name + ': ' + JSON.stringify(message));
                                                     dev.setChannel('', '');
                                                     dev.set('ringing', name === 'inbound');
                                      
                                                     // var pause = pauseStates[name];
                                                     // if (pause !== undefined) {
                                                     //     dev.set('toPauseState', pause);
                                                     // }
                                      
                                                     dev.setChannel(name, name);
                                                     for (const i in message) {
                                                         if (i[0] !== '_') {
                                                             dev.set(i, message[i]);
                                                         }
                                                     }
                                                     dev.set('timestamp', timestamp);
                                                     message._type = name;
                                                     if (adapter.config.usePhonebook && phonebook) {
                                                         if (lastCaller !== message.caller) {
                                                             lastCaller = message.caller;
                                                         }
                                                         if (!message.callerName && message.caller) {
                                                             const pbe = phonebook.byNumber(message.caller);
                                                             if (pbe) {
                                                                 message.callerName = pbe.name;
                                                                 if (pbe.imageurl) {
                                                                     message.imageurlcaller = pbe.imageurl;
                                                                 }
                                                             } else {
                                                                 message.callerName = '';
                                                             }
                                                         }
                                                         dev.set('callerName', message.callerName || '');
                                      
                                                         if (lastCallee !== message.callee) {
                                                             lastCallee = message.callee;
                                                         }
                                      
                                                         if (!message.calleeName && message.callee) {
                                                             const pbee = phonebook.byNumber(message.callee);
                                                             if (pbee) {
                                                                 message.calleeName = pbee.name;
                                                                 if (pbee.imageurl) message.imageurlcallee = pbee.imageurl;
                                                             } else {
                                                                 message.calleeName = '';
                                                             }
                                                         }
                                                         dev.set('calleeName', message.calleeName || '');
                                                     }
                                      
                                                     dev.set('json', JSON.stringify(message));
                                      
                                                     dev.setChannel('', '');
                                                     const pause = pauseStates[name];
                                                     if (pause !== undefined) {
                                                         dev.set('toPauseState', pause);
                                                         message.extension && dev.set('toPauseState-' + message.extension, pause);
                                                     }
                                      
                                                     // soef.getHttpData(message.imageurlcaller, function (err, body, res) {
                                                     //     res = res;
                                                     // })
                                                     adapter.log.debug('callMonitor.set: type=' + name + ' caller=' + message.caller + ' callee=' + message.callee + (message.callerName ? ' callerName=' + message.callerName : '') + (message.calleeName ? ' calleeName=' + message.calleeName : ''));
                                                     timer = setTimeout(() => {
                                                         dev.update();
                                                         devices.update();
                                                     }, 500);
                                                 }
                                      
                                                 switch (type) {
                                                     case 'CALL':
                                                         message = {caller: array[4], callee: array[5], extension: array[3], timestamp, id};
                                                         connections[id] = message;
                                                         set('outbound');
                                                         break;
                                      
                                                     case 'RING':
                                                         message = {caller: array[3], callee: array[4], timestamp, id};
                                                         connections[id] = message;
                                                         set('inbound');
                                                         break;
                                      
                                                     case 'CONNECT':
                                                         message = connections[id];
                                                         if (!message) {
                                                             break;
                                                         }
                                                         message.extension = array[3];
                                                         set('connect');
                                                         break;
                                      
                                                     case 'DISCONNECT':
                                                         message = connections[id];
                                                         if (!message) {
                                                             break;
                                                         }
                                                         switch (message._type) {
                                                             case 'inbound':
                                                                 message.type = 'missed';
                                                                 break;
                                                             case 'connect':
                                                                 message.type = 'disconnect';
                                                                 break;
                                                             case 'outbound':
                                                                 message.type = 'unreached';
                                                                 break;
                                                         }
                                                         message.duration = array[3] >> 0;
                                                         //set('disconnect');
                                                         set('lastCall');
                                                         delete connections[id];
                                                         break;
                                                 }
                                             });
                                      
                                             client.connect({
                                                 host: adapter.config.ip,
                                                 port: 1012
                                             })
                                                 .on('error', error =>
                                                     adapter.log.error('Cannot start ' + CALLMONITOR_NAME + ': ' + error));
                                         }
                                      
                                         this.close = function () {
                                             if (client) {
                                                 try {
                                                     client.removeAllListeners();
                                                     client.destroy();
                                                 } catch (e) {
                                      
                                                 }
                                                 client = null;
                                             }
                                             timeout && clearTimeout(timeout);
                                             timeout = null;
                                         };
                                      
                                         init();
                                      
                                         return this;
                                      }
                                      
                                      module.exports = CallMonitor;
                                      

                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #208

                                      @crunchip das links in dem GitHub Link auf der Seite sind die Zeilennummern. Rote sind gelöschte und grüne sind neue. Und es wird immer bissl mehr oben und unten drunter angezeigt. Das sollte reichen um die Stellen im Code zu finden. Alternativ Klick im GitHub oben rechts auf file anzeigen oder so und dort ggf raw. Dann kopierst du halt alles

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      crunchipC 1 Antwort Letzte Antwort
                                      0
                                      • crunchipC crunchip

                                        @apollon77 Im heutigen log taucht gar nichts auf, weder tr-64 noch fritzbox.
                                        Das ist das log, vom letzten Test/Anruf gestern

                                        2020-02-19 13:13:47.784 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:13:47;RING;0;xxxxxxxx;xxxx;SIP0;
                                        2020-02-19 13:13:48.827 - info: sayit.0 (3070) saying: xxxxxxx ruft gerade an.
                                        2020-02-19 13:13:49.073 - info: sayit.0 (3070) Set "chromecast.0.Google_Home_mini.player.announcement to {"url":"http://10.1.1.10:8082/state/sayit.0.tts.mp3","volume":60}
                                        2020-02-19 13:14:03.757 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:14:03;DISCONNECT;0;0;
                                        2020-02-19 13:16:00.022 - info: host.IoBroker instance system.adapter.dwd.0 started with pid 11203
                                        2020-02-19 13:16:05.236 - info: host.IoBroker instance system.adapter.dwd.0 terminated with code 0 (NO_ERROR)
                                        2020-02-19 13:18:56.478 - info: info.0 (1703) Popup news was read...
                                        2020-02-19 13:20:00.083 - info: host.IoBroker instance system.adapter.weatherunderground.0 started with pid 12442
                                        2020-02-19 13:20:08.684 - info: host.IoBroker instance system.adapter.weatherunderground.0 terminated with code 0 (NO_ERROR)
                                        2020-02-19 13:23:17.103 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:23:17;RING;0;xxxxxxx;981400;SIP0;
                                        2020-02-19 13:23:18.173 - info: sayit.0 (3070) saying: xxxxxxxxx ruft gerade an.
                                        2020-02-19 13:23:18.378 - info: sayit.0 (3070) Set "chromecast.0.Google_Home_mini.player.announcement to {"url":"http://10.1.1.10:8082/state/sayit.0.tts.mp3","volume":60}
                                        2020-02-19 13:23:25.692 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:23:25;DISCONNECT;0;0;
                                        2020-02-19 13:24:07.593 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:24:07;CALL;0;0;xxxxx;xxxxxxxx;SIP0;
                                        2020-02-19 13:24:38.693 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:24:38;DISCONNECT;0;0;
                                        2020-02-19 13:27:59.752 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:27:59;CALL;0;0;xxxxx;xxxxxxxxx;SIP0;
                                        2020-02-19 13:28:18.208 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:28:18;CONNECT;0;0;xxxxxxxxx;
                                        2020-02-19 13:28:26.370 - info: fritzbox.0 (3268) data from 192.168.178.1: 19.02.20 13:28:26;DISCONNECT;0;6;
                                        

                                        hier nach dem cronjob

                                        2020-02-20 00:01:00.016 - info: tr-064.0 (3240) Scheduled restart.
                                        2020-02-20 00:01:00.041 - info: tr-064.0 (3240) terminating
                                        2020-02-20 00:01:00.045 - info: tr-064.0 (3240) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
                                        2020-02-20 00:01:00.620 - error: host.IoBroker instance system.adapter.tr-064.0 terminated with code 156 (156)
                                        2020-02-20 00:01:00.620 - info: host.IoBroker Restart adapter system.adapter.tr-064.0 because enabled
                                        2020-02-20 00:01:01.678 - info: host.IoBroker instance system.adapter.tr-064.0 started with pid 21837
                                        2020-02-20 00:01:04.336 - info: tr-064.0 (21837) starting. Version 3.1.4 in /opt/iobroker/node_modules/iobroker.tr-064, node: v10.19.0
                                        
                                        apollon77A Offline
                                        apollon77A Offline
                                        apollon77
                                        schrieb am zuletzt editiert von
                                        #209

                                        @crunchip heißt das vllt das nach einem scheduled restart das Problem da war und keine Daten mehr ankamen ? Dann wäre wieder debug log interessant ...

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        crunchipC 1 Antwort Letzte Antwort
                                        0
                                        • apollon77A apollon77

                                          @crunchip das links in dem GitHub Link auf der Seite sind die Zeilennummern. Rote sind gelöschte und grüne sind neue. Und es wird immer bissl mehr oben und unten drunter angezeigt. Das sollte reichen um die Stellen im Code zu finden. Alternativ Klick im GitHub oben rechts auf file anzeigen oder so und dort ggf raw. Dann kopierst du halt alles

                                          crunchipC Abwesend
                                          crunchipC Abwesend
                                          crunchip
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #210

                                          @apollon77 ok, werd ich testen

                                          umgestiegen von Proxmox auf Unraid

                                          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

                                          845

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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