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

                        307

                        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