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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    359

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

[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.
  • 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

                      715

                      Online

                      32.5k

                      Benutzer

                      81.8k

                      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