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. Skripten / Logik
  4. DECT Telefonat erkennen - Alexa Ruhe bei Gespräch

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

DECT Telefonat erkennen - Alexa Ruhe bei Gespräch

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
communication
14 Beiträge 2 Kommentatoren 954 Aufrufe 2 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.
  • StrathColeS StrathCole

    Meine Idee dazu wäre:

    tr-064.0.callmonitor.connect.timestamp und tr-064.0.callmonitor.lastCall.timestamp zu vergleichen.
    Wenn der Timestamp von lastCall >= dem von connect ist, müsste das aktuelle Gespräch beendet sein.

    F Offline
    F Offline
    FabianHM
    schrieb am zuletzt editiert von
    #3

    @StrathCole
    Die Idee klingt gut, Dankeschön!
    Ich habe folgendes Srcipt mal zum testen aktiviert:

    on({id: 'tr-064-community.0.callmonitor.connect.timestamp', change: "ne"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("tr-064-community.0.callmonitor.lastCall.timestamp").val > getState("tr-064-community.0.callmonitor.connect.timestamp").val) {
        console.log('DECT Telefonat aktiv');
      }
      if (getState("tr-064-community.0.callmonitor.lastCall.timestamp").val <= getState("tr-064-community.0.callmonitor.connect.timestamp").val) {
        console.log('DECT Telefonat beendet');
      }
    });
    
    StrathColeS 1 Antwort Letzte Antwort
    0
    • F FabianHM

      @StrathCole
      Die Idee klingt gut, Dankeschön!
      Ich habe folgendes Srcipt mal zum testen aktiviert:

      on({id: 'tr-064-community.0.callmonitor.connect.timestamp', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("tr-064-community.0.callmonitor.lastCall.timestamp").val > getState("tr-064-community.0.callmonitor.connect.timestamp").val) {
          console.log('DECT Telefonat aktiv');
        }
        if (getState("tr-064-community.0.callmonitor.lastCall.timestamp").val <= getState("tr-064-community.0.callmonitor.connect.timestamp").val) {
          console.log('DECT Telefonat beendet');
        }
      });
      
      StrathColeS Offline
      StrathColeS Offline
      StrathCole
      schrieb am zuletzt editiert von
      #4

      @FabianHM
      Das wird nicht ganz funktionieren, denn dein "on" greift nur beim Connect, daher wird es nicht ausgeführt, wenn der Call beendet wird.

      SolarWatt-Anlage mit 9,6 kWp – KOSTAL Plenticore Plus 10 – BYD B-Box HV 8,96 – Viessmann Vitocal 333g – Zehnder ComfoD 350 (Comfoair 350) mit RS232-Ethernet-Konverter

      F 1 Antwort Letzte Antwort
      0
      • StrathColeS Offline
        StrathColeS Offline
        StrathCole
        schrieb am zuletzt editiert von
        #5

        Schwierig wird es auch, wenn auf mehreren Leitungen gleichzeitig telefoniert wird. Beispiel:

        1. Telefonat begonnen -> Regel trifft zu
        2. Telefonat begonnen -> Regel trifft zu
        3. Telefonat begonnen -> Regel trifft nicht mehr zu, das 2. aktive Telefonat wird nicht mehr erkannt.

        SolarWatt-Anlage mit 9,6 kWp – KOSTAL Plenticore Plus 10 – BYD B-Box HV 8,96 – Viessmann Vitocal 333g – Zehnder ComfoD 350 (Comfoair 350) mit RS232-Ethernet-Konverter

        1 Antwort Letzte Antwort
        0
        • StrathColeS StrathCole

          @FabianHM
          Das wird nicht ganz funktionieren, denn dein "on" greift nur beim Connect, daher wird es nicht ausgeführt, wenn der Call beendet wird.

          F Offline
          F Offline
          FabianHM
          schrieb am zuletzt editiert von
          #6

          @StrathCole
          Ja, bei uns werden eher die Varianten 1. und 2. auftreten.
          Damit sollte es funktionieren:

          on({id: new RegExp('tr-064-community\\.0\\.callmonitor\\.connect\\.timestamp' + "|" + 'tr-064-community\\.0\\.callmonitor\\.lastCall\\.timestamp'), change: "ne"}, function (obj) {
              if (getState("tr-064-community.0.callmonitor.lastCall.timestamp").val > getState("tr-064-community.0.callmonitor.connect.timestamp").val) {
              console.log('DECT Telefonat aktiv');
            }
            if (getState("tr-064-community.0.callmonitor.lastCall.timestamp").val <= getState("tr-064-community.0.callmonitor.connect.timestamp").val) {
              console.log('DECT Telefonat beendet');
            }
          });
          

          Komisch dass diesen State bisher sonst keiner im Adapter vermisst hat....

          1 Antwort Letzte Antwort
          0
          • StrathColeS Offline
            StrathColeS Offline
            StrathCole
            schrieb am zuletzt editiert von
            #7

            Hier ein Skript, das funktioniert:

            let activeCalls = [];
            
            on('tr-064.0.callmonitor.connect.timestamp', function(obj) {
                let caller = getState('tr-064.0.callmonitor.connect.caller').val;
                let callee = getState('tr-064.0.callmonitor.connect.callee').val;
            
                let time = obj.state.val;
            
                let idx = activeCalls.findIndex(function(element) {
                    return (element.caller === caller && element.callee === callee);
                });
            
                if(idx === -1) {
                    activeCalls.push({
                        caller: caller,
                        callee: callee,
                        time: time
                    });
                }
            
                log('Active calls: ' + JSON.stringify(activeCalls));
            });
            
            on('tr-064.0.callmonitor.lastCall.timestamp', function(obj) {
                let caller = getState('tr-064.0.callmonitor.lastCall.caller').val;
                let callee = getState('tr-064.0.callmonitor.lastCall.callee').val;
            
                let idx = activeCalls.findIndex(function(element) {
                    return (element.caller === caller && element.callee === callee);
                });
                if(idx != -1) {
                    activeCalls.splice(idx, 1);
                }
            
                log('Active calls: ' + JSON.stringify(activeCalls));
            });
            

            SolarWatt-Anlage mit 9,6 kWp – KOSTAL Plenticore Plus 10 – BYD B-Box HV 8,96 – Viessmann Vitocal 333g – Zehnder ComfoD 350 (Comfoair 350) mit RS232-Ethernet-Konverter

            F 1 Antwort Letzte Antwort
            0
            • StrathColeS StrathCole

              Hier ein Skript, das funktioniert:

              let activeCalls = [];
              
              on('tr-064.0.callmonitor.connect.timestamp', function(obj) {
                  let caller = getState('tr-064.0.callmonitor.connect.caller').val;
                  let callee = getState('tr-064.0.callmonitor.connect.callee').val;
              
                  let time = obj.state.val;
              
                  let idx = activeCalls.findIndex(function(element) {
                      return (element.caller === caller && element.callee === callee);
                  });
              
                  if(idx === -1) {
                      activeCalls.push({
                          caller: caller,
                          callee: callee,
                          time: time
                      });
                  }
              
                  log('Active calls: ' + JSON.stringify(activeCalls));
              });
              
              on('tr-064.0.callmonitor.lastCall.timestamp', function(obj) {
                  let caller = getState('tr-064.0.callmonitor.lastCall.caller').val;
                  let callee = getState('tr-064.0.callmonitor.lastCall.callee').val;
              
                  let idx = activeCalls.findIndex(function(element) {
                      return (element.caller === caller && element.callee === callee);
                  });
                  if(idx != -1) {
                      activeCalls.splice(idx, 1);
                  }
              
                  log('Active calls: ' + JSON.stringify(activeCalls));
              });
              
              F Offline
              F Offline
              FabianHM
              schrieb am zuletzt editiert von
              #8

              @StrathCole
              Ich werde es heute Abend testen, Dankeschön für die Hilfe!

              F 1 Antwort Letzte Antwort
              0
              • F FabianHM

                @StrathCole
                Ich werde es heute Abend testen, Dankeschön für die Hilfe!

                F Offline
                F Offline
                FabianHM
                schrieb am zuletzt editiert von
                #9

                @FabianHM said in DECT Telefonat erkennen - Alexa Ruhe bei Gespräch:

                @StrathCole
                Ich werde es heute Abend testen, Dankeschön für die Hilfe!

                Die Erkennung der Anrufe funktioniert :-)
                Was muss man abändern, damit die Log Einträge nicht immer doppelt angezeigt werden?

                F 1 Antwort Letzte Antwort
                0
                • F FabianHM

                  @FabianHM said in DECT Telefonat erkennen - Alexa Ruhe bei Gespräch:

                  @StrathCole
                  Ich werde es heute Abend testen, Dankeschön für die Hilfe!

                  Die Erkennung der Anrufe funktioniert :-)
                  Was muss man abändern, damit die Log Einträge nicht immer doppelt angezeigt werden?

                  F Offline
                  F Offline
                  FabianHM
                  schrieb am zuletzt editiert von FabianHM
                  #10

                  @FabianHM said in DECT Telefonat erkennen - Alexa Ruhe bei Gespräch:

                  Was muss man abändern, damit die Log Einträge nicht immer doppelt angezeigt werden?

                  Ich habe das Script minimal auf meine Belange reduziert, verstehe aber weiterhin nicht, wieso die Logs immer doppelt aufgerufen werden:

                  let activeCalls = [];
                  
                  on('tr-064.0.callmonitor.connect.timestamp', function(obj) {
                  
                      let caller = getState('tr-064.0.callmonitor.connect.caller').val;
                  
                      let callee = getState('tr-064.0.callmonitor.connect.callee').val;    
                  
                      let idx = activeCalls.findIndex(function(element) {
                  
                          return (element.caller === caller && element.callee === callee);
                      });
                  
                   
                      if(idx === -1) {
                  
                          activeCalls.push({
                  
                              caller: caller,
                  
                              callee: callee           
                  
                          });
                  
                      }
                  
                      log('CallActive: Ja ');
                      setState(`javascript.0.Monitoring.FritzBox.CallActive`, true); 
                  
                  });
                  
                  
                  on('tr-064.0.callmonitor.lastCall.timestamp', function(obj) {
                  
                      let caller = getState('tr-064.0.callmonitor.lastCall.caller').val;
                  
                      let callee = getState('tr-064.0.callmonitor.lastCall.callee').val; 
                  
                      let idx = activeCalls.findIndex(function(element) {
                  
                          return (element.caller === caller && element.callee === callee);
                  
                      });
                  
                      if(idx != -1) {
                  
                          activeCalls.splice(idx, 1);
                      }
                     
                      log('CallActive: Nein ');
                      setState(`javascript.0.Monitoring.FritzBox.CallActive`, false); 
                  
                  });
                  

                  53692d94-d631-4619-b21e-24914fce5707-grafik.png

                  StrathColeS 1 Antwort Letzte Antwort
                  0
                  • F FabianHM

                    @FabianHM said in DECT Telefonat erkennen - Alexa Ruhe bei Gespräch:

                    Was muss man abändern, damit die Log Einträge nicht immer doppelt angezeigt werden?

                    Ich habe das Script minimal auf meine Belange reduziert, verstehe aber weiterhin nicht, wieso die Logs immer doppelt aufgerufen werden:

                    let activeCalls = [];
                    
                    on('tr-064.0.callmonitor.connect.timestamp', function(obj) {
                    
                        let caller = getState('tr-064.0.callmonitor.connect.caller').val;
                    
                        let callee = getState('tr-064.0.callmonitor.connect.callee').val;    
                    
                        let idx = activeCalls.findIndex(function(element) {
                    
                            return (element.caller === caller && element.callee === callee);
                        });
                    
                     
                        if(idx === -1) {
                    
                            activeCalls.push({
                    
                                caller: caller,
                    
                                callee: callee           
                    
                            });
                    
                        }
                    
                        log('CallActive: Ja ');
                        setState(`javascript.0.Monitoring.FritzBox.CallActive`, true); 
                    
                    });
                    
                    
                    on('tr-064.0.callmonitor.lastCall.timestamp', function(obj) {
                    
                        let caller = getState('tr-064.0.callmonitor.lastCall.caller').val;
                    
                        let callee = getState('tr-064.0.callmonitor.lastCall.callee').val; 
                    
                        let idx = activeCalls.findIndex(function(element) {
                    
                            return (element.caller === caller && element.callee === callee);
                    
                        });
                    
                        if(idx != -1) {
                    
                            activeCalls.splice(idx, 1);
                        }
                       
                        log('CallActive: Nein ');
                        setState(`javascript.0.Monitoring.FritzBox.CallActive`, false); 
                    
                    });
                    

                    53692d94-d631-4619-b21e-24914fce5707-grafik.png

                    StrathColeS Offline
                    StrathColeS Offline
                    StrathCole
                    schrieb am zuletzt editiert von
                    #11

                    @FabianHM Scheinbar wird der timestamp 2x aktualisiert. Warum der Adapter bzw. die Fritz!Box das so macht, weiß ich nicht. Du könntest sicher den timestamp zwischenspeichern und das log nur ausgeben, wenn neuer timestamp > alter timestamp + 1000 oder so. Bei mir taucht er auch doppelt auf.

                    SolarWatt-Anlage mit 9,6 kWp – KOSTAL Plenticore Plus 10 – BYD B-Box HV 8,96 – Viessmann Vitocal 333g – Zehnder ComfoD 350 (Comfoair 350) mit RS232-Ethernet-Konverter

                    F 1 Antwort Letzte Antwort
                    0
                    • StrathColeS StrathCole

                      @FabianHM Scheinbar wird der timestamp 2x aktualisiert. Warum der Adapter bzw. die Fritz!Box das so macht, weiß ich nicht. Du könntest sicher den timestamp zwischenspeichern und das log nur ausgeben, wenn neuer timestamp > alter timestamp + 1000 oder so. Bei mir taucht er auch doppelt auf.

                      F Offline
                      F Offline
                      FabianHM
                      schrieb am zuletzt editiert von
                      #12

                      @StrathCole

                      Ich habe gerade einen State im aktuellen Adapter gefunden, der genau meinen Bedarf unterstützt:
                      c9afd778-6f58-40c3-a3dc-4b024a7f72e2-grafik.png

                      der "toPauseState" wird und bleibt bei aktiven Telefonaten auf "connect", also genau was ich benötige :-)

                      Weißt Du vielleicht, was der untere State "toPauseState-10" für eine Bedeutung hat?

                      F 1 Antwort Letzte Antwort
                      0
                      • F FabianHM

                        @StrathCole

                        Ich habe gerade einen State im aktuellen Adapter gefunden, der genau meinen Bedarf unterstützt:
                        c9afd778-6f58-40c3-a3dc-4b024a7f72e2-grafik.png

                        der "toPauseState" wird und bleibt bei aktiven Telefonaten auf "connect", also genau was ich benötige :-)

                        Weißt Du vielleicht, was der untere State "toPauseState-10" für eine Bedeutung hat?

                        F Offline
                        F Offline
                        FabianHM
                        schrieb am zuletzt editiert von
                        #13

                        @FabianHM said in DECT Telefonat erkennen - Alexa Ruhe bei Gespräch:

                        Weißt Du vielleicht, was der untere State "toPauseState-10" für eine Bedeutung hat?

                        Hat sich auch erledigt: toPauseState-10 => Wert für Nebenstelle **610 die den Anruf angenommen hat.

                        StrathColeS 1 Antwort Letzte Antwort
                        0
                        • F FabianHM

                          @FabianHM said in DECT Telefonat erkennen - Alexa Ruhe bei Gespräch:

                          Weißt Du vielleicht, was der untere State "toPauseState-10" für eine Bedeutung hat?

                          Hat sich auch erledigt: toPauseState-10 => Wert für Nebenstelle **610 die den Anruf angenommen hat.

                          StrathColeS Offline
                          StrathColeS Offline
                          StrathCole
                          schrieb am zuletzt editiert von
                          #14

                          @FabianHM Ist bei mir nicht ganz so einfach, da ein ISDN-Telefon an der Box hängt, es also nur eine Nebenstelle gibt, die aber wiederum auf mehrere Endnummern verteilt ;-)
                          Umso besser, wenns für dich so einfach zu lösen ist.

                          SolarWatt-Anlage mit 9,6 kWp – KOSTAL Plenticore Plus 10 – BYD B-Box HV 8,96 – Viessmann Vitocal 333g – Zehnder ComfoD 350 (Comfoair 350) mit RS232-Ethernet-Konverter

                          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

                          295

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          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