Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Anrufer Ansage wiederholen, bis Gespäch angenommen wurde

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    109

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    152

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    865

[gelöst] Anrufer Ansage wiederholen, bis Gespäch angenommen wurde

Scheduled Pinned Locked Moved Skripten / Logik
11 Posts 5 Posters 2.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • derAugeD Offline
    derAugeD Offline
    derAuge
    wrote on last edited by
    #2

    Hallo Netprog,

    willkommen im Forum

    du könntest doch in deiner Funktion eine Schleife einbauen….

    if ring == true...

    dann ansagen

    else

    ende

    Gruß

    Jürgen

    1 Reply Last reply
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      wrote on last edited by
      #3

      Probier mal:

      var idAnrufer   = "fritzbox.0.calls.ringActualNumber";  // actual last ringing number
      var idRing      = "fritzbox.0.calls.ring";
      var idSayIt     = 'sayit.0.tts.text';
      var ansageDelay = 8000;                                 // Zeit in ms zwischen den Ansagen
      var timer       = null;
      
      function ausgabeAnrufer(){
         setState (idSayIt, 'Hinweis! Anruf von ' + getState(idAnrufer).val); 
      }
      
      function wiederholungAnsage(delay) {
          delay = delay || 8000;           // wenn kein Delay übergeben wurde, nimm 8000ms
          if (!getState(idRing).val) return;   // ring noch aktiv? wenn ja weiter, wenn nein Abbruch
          ausgabeAnrufer();                       // Ansage
          log("Ansage Wiederholung");
          timer = setTimeout(function() {
              timer = null;
              wiederholungAnsage(delay); // ruft den Timer nach Ablauf wieder auf
          },delay);
      }
      
      // bei Anruf (aktuelle anrufende Nummer ist nicht leer)
      //on ({id: idAnrufer, valGe: 1}, wiederholungAnsage);
      
      on({id:idAnrufer ,change:'ne'}, function (obj) {
          if (obj.state.val !== "") wiederholungAnsage(ansageDelay);
      });
      
      

      Du kannst das Skript auch erweitern, dass der Name angesagt wird, wenn bekannt (nicht aus dem Fritzbox Telefonbuch)

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Reply Last reply
      0
      • NetprogN Offline
        NetprogN Offline
        Netprog
        wrote on last edited by
        #4

        Hallo,

        vielen Dank für deine Hilfe @ruhr70

        …das hätte ich mit meinen jetzigen Anfänger-Kenntnissen niemals hinbekommen.

        Jetzt funktioniert das genau so, wie ich mir das vorgestellt hatte.

        Nun merke ich immer mehr, wieviel Arbeit da noch vor mir steckt ;)

        1 Reply Last reply
        0
        • derAugeD Offline
          derAugeD Offline
          derAuge
          wrote on last edited by
          #5

          Hale es auch direkt getestet

          Super Sache !!

          Mir ist folgendes Aufgefallen:

          Die erste Ansage kommt "laut"

          Die Wiederholungen sind "leiser"

          Gruß

          Jürgen

          1 Reply Last reply
          0
          • ruhr70R Offline
            ruhr70R Offline
            ruhr70
            wrote on last edited by
            #6

            Ggf. Ist die Zeit zwischen den Ansagen zu kurz?

            Manchmal verschluckt sich SayIt und das Zwischenspeichern und Wiederherstellen der Lautstärke klappt nicht.

            Gesendet von iPad mit Tapatalk

            Adapter: Fritzbox, Unify Circuit
            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

            1 Reply Last reply
            0
            • NetprogN Offline
              NetprogN Offline
              Netprog
              wrote on last edited by
              #7

              Hallo

              das mit den unterschiedlichen Lautstärken, kann ich so nicht feststellen.

              Was mir jetzt, nach mehrfachen Testanrufen jedoch aufgefallen ist, ist

              die Tatsache, das der Zeitraum vom ersten Klingeln bis zur ersten Ansage,

              etwas länger ist, als die Zeiträume zwischen den Ansagen.

              Delay auf 10000ms verlängert und nun passt alles - Perfekt !!!

              1 Reply Last reply
              0
              • N Offline
                N Offline
                Nordlicht
                wrote on last edited by
                #8

                @ruhr70:

                Probier mal:

                ! var idAnrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number var idRing = "fritzbox.0.calls.ring"; var idSayIt = 'sayit.0.tts.text'; var ansageDelay = 8000; // Zeit in ms zwischen den Ansagen var timer = null; ! function ausgabeAnrufer(){ setState (idSayIt, 'Hinweis! Anruf von ' + getState(idAnrufer).val); } ! function wiederholungAnsage(delay) { delay = delay || 8000; // wenn kein Delay übergeben wurde, nimm 8000ms if (!getState(idRing).val) return; // ring noch aktiv? wenn ja weiter, wenn nein Abbruch ausgabeAnrufer(); // Ansage log("Ansage Wiederholung"); timer = setTimeout(function() { timer = null; wiederholungAnsage(delay); // ruft den Timer nach Ablauf wieder auf },delay); } ! // bei Anruf (aktuelle anrufende Nummer ist nicht leer) //on ({id: idAnrufer, valGe: 1}, wiederholungAnsage); ! on({id:idAnrufer ,change:'ne'}, function (obj) { if (obj.state.val !== "") wiederholungAnsage(ansageDelay); }); !

                Du kannst das Skript auch erweitern, dass der Name angesagt wird, wenn bekannt (nicht aus dem Fritzbox Telefonbuch) `

                Hi Ruhr70,

                ist es auch möglich, dass der Callmonitor nur auf 1 Anschlussnummer reagiert? Es gibt hier im Haushalt 4 Anschlussnummer, von denen aber nur 1 für diese Funktion vorgesehen wäre. So wie das Skript jetzt ist, wird es wohl auf alle Anschlussnummern reagieren vermute ich mal.

                Danke.

                Gruß

                Thomas

                1 Reply Last reply
                0
                • ruhr70R Offline
                  ruhr70R Offline
                  ruhr70
                  wrote on last edited by
                  #9

                  Das ist in der Theorie möglich…

                  Ich habe eigentlich gedacht, dass ich viel zu viel Datenpunkte im Adapter fülle. Nun gibt es doch immer wieder mal Wünsche ;-)

                  Wenn Du mehrere Anrufe parallel hast, ist es aufwendiger zu programmieren.

                  Man kann den Datensatz unter fritzbox.0.message auswerten.

                  Dort steht die anrufende Rufnummer drin und die angerufene Rufnummer.

                  13.01.17 16:15:47;RING;0;08150815;47114711;SIP1;
                  
                   *    Format der Fritzbox-Meldungen:
                   *
                   *    Ausgehende Anrufe:            datum;CALL;      CallID;Nebenstelle;callingNumber;calledNumber;lineType;
                   *    Eingehende Anrufe:            datum;RING;      CallID;callingNumber;calledNumber;lineTpe;
                   *    Zustandegekommene Verbindung: datum;CONNECT;   CallID;Nebenstelle;connectedNumber;
                   *    Ende der Verbindung:          datum;DISCONNECT;CallID;dauerInSekunden;
                  

                  Du müsstest auf die Meldung mit dem Ring reagieren:

                  • RING -> für die gewünschte calledNumber:

                  nein: nicht reagieren

                  ja: callID merken und Ansage bis zum CONNECT oder DISCONNECT mit dieser CallID wiederholen.

                  Ich komme leider erst frühestens in einer Woche dazu :(

                  Adapter: Fritzbox, Unify Circuit
                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                  1 Reply Last reply
                  0
                  • N Offline
                    N Offline
                    Nordlicht
                    wrote on last edited by
                    #10

                    @ruhr70:

                    Das ist in der Theorie möglich…

                    Ich habe eigentlich gedacht, dass ich viel zu viel Datenpunkte im Adapter fülle. Nun gibt es doch immer wieder mal Wünsche ;-) `

                    Hi,

                    zuviel geht gar nicht :mrgreen: .

                    Für mich als Laien ist das etwas zu heftig. Ich warte da gerne die Woche ab bis Du Zeit dafür hast…..

                    Mehrere Anrufe gleichzeitig kommt eigentlich nicht vor. So wild geht es hier nicht ab.

                    Danke fürs Aufnehmen des Wunsches.

                    Danke und Gruß

                    Thomas

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      andyb
                      wrote on last edited by
                      #11

                      Hi,

                      Für Android gibt es was ähnliches, läuft allerdings nicht über iobroker. Vielleicht kann man das ja irgendwie einbinden.

                      http://www.sonofy.co

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      500

                      Online

                      32.8k

                      Users

                      82.7k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe