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
    123

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

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

[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.
  • NetprogN Offline
    NetprogN Offline
    Netprog
    wrote on last edited by
    #1

    Hallo liebe Gemeinde,

    nun habe auch ich mich versucht etwas in ioBroker einzuarbeiten und ein kleines Script zusammen gebastelt,

    welches mir per SayIt mitteilt, das ein Anruf über die Fritzbox eingeht. Das funktioniert, soweit ganz gut :) .

    Doch nun hätte ich diese Ansage, nicht nur einmal, sondern solange bis das Gespräch angenommen wurde,

    sprich bis "fritzbox.0.calls.ring" auf false wechselt.

    Das habe ich bisher:

    var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number
    
    on ({id: Anrufer, valGe: 1}, AusgabeAnrufer);
    
    function AusgabeAnrufer(){
       setState ('sayit.0.tts.text', 'Hinweis! Anruf von ' + getState(Anrufer).val); 
    }
    
    

    Ich hoffe, das mir bei diesem Vorhaben jemand helfen kann.

    Vielen Dank schonmal.

    1 Reply Last reply
    0
    • 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

                        437

                        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