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. [gelöst] Anrufer Ansage wiederholen, bis Gespäch angenommen wurde

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    986

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 5 Kommentatoren 2.4k Aufrufe
  • Ä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.
  • NetprogN Offline
    NetprogN Offline
    Netprog
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • derAugeD Offline
      derAugeD Offline
      derAuge
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • NetprogN Offline
          NetprogN Offline
          Netprog
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • derAugeD Offline
            derAugeD Offline
            derAuge
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • NetprogN Offline
                NetprogN Offline
                Netprog
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  Nordlicht
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • N Offline
                      N Offline
                      Nordlicht
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        andyb
                        schrieb am zuletzt editiert von
                        #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 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

                        759

                        Online

                        32.5k

                        Benutzer

                        81.6k

                        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