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.
  • F Offline
    F Offline
    FabianHM
    schrieb am zuletzt editiert von FabianHM
    #1

    Hallo zusammen,

    ich würde gerne vermeiden, dass Alexa während (Fritz) DECT Telefonaten spricht (Der WAF sinkt dadurch gerade ;-) )
    Mein Problem ist bloß, dass ich beim TR-064 als auch beim fritzbox DECT Adapter keinen State finde, den ich hierzu abfragen kann ob gerade ein DECT Telefonat aktiv ist.
    Hat jemand eine Idee was ich abfragen könnte?

    Grüße
    Fabian

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

      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.

      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

        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

                              558

                              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