Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Anrufer Ansage FritzBox / SayIt

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anrufer Ansage FritzBox / SayIt

    This topic has been deleted. Only users with topic management privileges can see it.
    • ruhr70
      ruhr70 last edited by

      @Dragonius:

      Danke!

      Das klappt schon mal prima!!

      Und ich hab mir da so einen bei abgebrochen…...

      Wäre schön wenn die Namenszuordnung im Fritz-Adapter dann auch irgendwann möglich wäre.

      Gruß

      Dragonius `

      Anbei mit Telefonbuch im Script und Ansage des Namens (ungetestet).

      var telefonbuchRufnummerNichtBekannt = "Rufnummer nicht im Telefonbuch";
      
      var telefonbuchRufnummer = {
          "021147114711":
          {
              "name":         "Michael Handy",    // name zur Rufnummer
              "bemerkung":    "Reserve"           // optional
          },
          "051147110815":     {"name":"Hänschen Klein"},
          "07114711471":      {"name":"Gustav Gans Handy"},
          "089123456789":     {"name":"Vanessa Müller"},
          "030200020001":     {"name":"Gabi Kösters"},
      
          "### ? ###":        {"name":"Rufnummer unterdrückt"}
      };
      
      function rufnummer2name (rufnummer) {
          var name = "";
      
          //rufnummer = rufnummer.replace("#","");
          //rufnummer = rufnummer.replace("*","");
      
          if (!telefonbuchRufnummer[rufnummer]) {                                     // undefinierte Rufnummern
              name = telefonbuchRufnummerNichtBekannt;                                // undefinierte Rufnummern
          } else {
              name = telefonbuchRufnummer[rufnummer].name;
          }
          return name;
      }
      
      var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number
      
      on ({id: Anrufer, valGe: 1}, AusgabeAnrufer);
      
      function AusgabeAnrufer(){
          //setState("sayit.0.tts.text", "Anruf von. " + getState(Anrufer).val);
          setState("sayit.0.tts.text", "Anruf von. " + rufnummer2name(getState(Anrufer).val)); 
      }
      
      

      Ich nutze den oberen Part (JSON und die Funktion rufnummer2name()) als globales Script und nutze es in verschiedenen weiteren Scripts (Ereignisliste, Ansage des Anrufernamen, usw.).
      6305_sonnenstand.jpg

      1 Reply Last reply Reply Quote 0
      • B
        Beatz last edited by

        Es gibt doch einen Adapter vCard, der meinem Verständnis nach Telefonbuch Einträge zuordnen soll. Habe ich nicht im Einsatz, findest Du aber hier im Forum.

        1 Reply Last reply Reply Quote 0
        • D
          Dragonius last edited by

          Danke, Danke!

          Hat Super geklappt. Und so schnell. Wow…..

          Ich hätte da noch ne Frage (Vielleicht schaffe ich dann auch was alleine...):

          Ich krieg das mit den Variablen nicht hin. :evil:

          Ich weiß das man Datenpunkte nicht direkt auslesen kann. Wenn ich mir andere Scripte anschaue, wird das über einen Zwischenschritt gelöst:

          zB.

          var varWatt ='hm-rpc.0.LEQ0529875.2.POWER'
          

          Gut. Damit steht jetzt hm-rpc.0.LEQ0529875.2.POWER in der Variablen varWatt. Aber wie kann ich das weiterverarbeiten? Wie bekomme ich letztlich den Wert ausgelesen? Und was hat es mit .val auf sich?

          Ich bräuchte da mal etwas "Starthilfe"…..

          Oder gibt es irgendwo ein gutes, deutsches Wiki?

          Gruß

          Dragonius

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo Dragonius,

            // Objekt in Variable packen
            var varWatt ='hm-rpc.0.LEQ0529875.2.POWER';
            // Wert des Objektes auslesen und in neuer Variable speichern
            var leistung = getState(varWatt).val;
            // weiterverwerten ...
            log(leistung);
            
            

            weitere Werte, die du aus dem Objekt auslesen kannst, findest du https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#on–-subscribe-on-changes-or-updates-of-some-state

            Gruß

            Pix

            1 Reply Last reply Reply Quote 0
            • D
              Dragonius last edited by

              ich bin begeistert! Das ging ja wieder schnell!

              Vielen Dank für die Hilfe. Ich hoffe jetzt komme ich mal ein wenig alleine weiter! 🙂

              1 Reply Last reply Reply Quote 0
              • ruhr70
                ruhr70 last edited by

                Hast Du die Namenauflösung über den vCard Adapter oder über die Funktion rufnummer2name() in dem Script oben?

                Den vCard Adapter hab ich mir noch nicht angeschaut.

                1 Reply Last reply Reply Quote 0
                • D
                  Dragonius last edited by

                  Moinsen,

                  ich hab das über die Funktion gelöst. Läuft prima. Danke nochmal!

                  Gesendet von meinem iPhone mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • N
                    nobob last edited by

                    Hallo Zusammen,

                    ich hätte zu dem Thema Ansage FritzBox / SayIt noch eine kleine Frage:

                    Ich habe das oben eingestellte Skript von ruhr70 (vielen Dank auch mal von meiner Seite aus)

                    an meine eigene Wünsche angepasst und bin somit zufrieden.

                    Nun zu meiner Frage:

                    Besteht eine Möglichkeit das Skript so anzupassen, das es auf die Eigene Nummer reagiert ?

                    Sprich: Ein Anruf am Gerät mit der Eigenen Nummer XY geht ein dann Skript ausführen.

                    Ich habe mir schon die Objekte vom Fritzbox Adapter angeschaut konnte aber jetzt nicht

                    feststellen ob eine direkte Abfrage der Eigenen Nummer möglich ist.

                    Vielleicht hat ja einer von Euch eine Idee.

                    Im voraus schon mal vielen Dank für Eure Bemühungen und einen angenehmen Nachmittag / Abend.

                    Viele Grüße

                    nobob

                    1 Reply Last reply Reply Quote 0
                    • S
                      stephan61 last edited by

                      Hallo nobob

                      schau mal unterhttp://forum.iobroker.net/viewtopic.php … t=fritzbox

                      da hat hometm sowas geschrieben

                      Gruß Stephan

                      1 Reply Last reply Reply Quote 0
                      • ruhr70
                        ruhr70 last edited by

                        @nobob:

                        Nun zu meiner Frage:

                        Besteht eine Möglichkeit das Skript so anzupassen, das es auf die Eigene Nummer reagiert ?

                        Sprich: Ein Anruf am Gerät mit der Eigenen Nummer XY geht ein dann Skript ausführen.

                        Ich habe mir schon die Objekte vom Fritzbox Adapter angeschaut konnte aber jetzt nicht

                        feststellen ob eine direkte Abfrage der Eigenen Nummer möglich ist. `

                        Ich weiß nicht, ob ich es richtig verstanden habe…

                        Du willst etwas machen, sobald Du einen Anruf von einer eigenen Nummer (intern?, extern?) erhälst?

                        var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number
                        
                        on ({id: Anrufer, valGe: 1}, function(obj) {
                        	// ...
                        }
                        
                        

                        Ansonsten kannst Du bei einem ankommenden Ruf mit if(…) prüfen, ob der Anruf von einer Rufnummer kommt, auf der Du besonders reagieren willst.

                        1 Reply Last reply Reply Quote 0
                        • N
                          nobob last edited by

                          @stehphan61:

                          Vielen Dank für Deine Antwort, aber der Link bringt mich bei meiner Angelegenheit nicht wirklich weiter.

                          @ruhr70:

                          Dir ebenfalls vielen Dank für Deine Antwort. Ich glaube Du hast mich nicht ganz richtig verstanden,

                          oder ich habe es einfach etwas zu kurz erklärt.

                          Anbei nochmals ein Versuch bei dem ich hoffe dass es jetzt etwas klarer wird.

                          Ich habe intern 2 Telefonnummern. Einmal eine Telefonnummer: privat1 und die andere privat2.

                          <u>Folgendes Szenario:</u>

                          Eingehender Anruf an privat1 -> Ansage des Anrufers über das Skript

                          Eingehender Anruf an privat2 -> z.B. Keine Ansage.

                          Über die tabellarische Ansicht (siehe Bild) werden die Rufnummern unter Eig.Nr schon richtig angezeigt.

                          Allerdings finde ich bei den Objekten im Moment keine Variable wo ich die Eig. Nr. abfragen könnte.

                          858_2016-03-04__tabellarische_darstellung.jpg
                          Ich hoffe ich konnte es jetzt etwas klarer Darstellen, aber ich vermute mal,

                          dass hierfür der Fritzbox Adapter erweitert werden müsste.

                          Ich bin für jede Hilfe dankbar und verbleibe mal mit

                          Freundlichen Grüßen

                          nobob

                          1 Reply Last reply Reply Quote 0
                          • ruhr70
                            ruhr70 last edited by

                            @nobob:

                            @ruhr70:

                            Dir ebenfalls vielen Dank für Deine Antwort. Ich glaube Du hast mich nicht ganz richtig verstanden,

                            oder ich habe es einfach etwas zu kurz erklärt.

                            Anbei nochmals ein Versuch bei dem ich hoffe dass es jetzt etwas klarer wird.

                            Ich habe intern 2 Telefonnummern. Einmal eine Telefonnummer: privat1 und die andere privat2.

                            <u>Folgendes Szenario:</u>

                            Eingehender Anruf an privat1 -> Ansage des Anrufers über das Skript

                            Eingehender Anruf an privat2 -> z.B. Keine Ansage.

                            Über die tabellarische Ansicht (siehe Bild) werden die Rufnummern unter Eig.Nr schon richtig angezeigt.

                            Allerdings finde ich bei den Objekten im Moment keine Variable wo ich die Eig. Nr. abfragen könnte.

                            filename="2016-03-04__Tabellarische_Darstellung.jpg" index="0">~~
                            Ich hoffe ich konnte es jetzt etwas klarer Darstellen, aber ich vermute mal,

                            dass hierfür der Fritzbox Adapter erweitert werden müsste. `

                            Vielleicht ist mir Deine Anforderung immer noch nicht ganz klar.

                            Die interne Nummer gibt die Fritzbox erst raus, wenn das Gespräch angenommen wurde.

                            D.h., wenn mehre Telefone klingeln hast Du keine Chance diese Info aus der Fritzbox herauszubekommen.

                            Wenn das Gespräch angenommen wurde, gibt die Fritzbox die interne Nummer an, wo das Gespräch angenommen worden ist.

                            Wenn Du die Ansage in Abhängigkeit der angerufenen Amtsrufnummer abspielen willst, dann geht das auch ohne Erweiterung des Adapters.

                            Datenpunkt: fritzbox.0.message

                            Beispiel bei Anruf: "04.03.16 20:08:33;RING;0;017347114711;47124713;SIP1;"

                            47124713, bzw. SIP1 ist die angerufene Rufnummer.

                            Hier steht in der Meldung mit RING die angerufene Amtsrufnummer in der Form der Rufnummer und in der Form SIP1, SIP2, usw. drin.

                            Auf diese Meldung kannst Du beim Anruf reagieren und den String per Javascript auswerten. D.h. Nur weiterverarbeiten, wenn RING in der Meldung drinsteht. Und dann den String nach der angerufenen Nummer durchsuchen.

                            1 Reply Last reply Reply Quote 0
                            • N
                              nobob last edited by

                              @ruhr70:

                              Vielen Dank für Deine Antwort. Ich glaube mit dem Datenpunkt ´fritzbox.0.message´

                              und Deinem Hinweis mit dem String auslesen per Javascript könnte ich mal mein Glück

                              versuchen 😉 .

                              Diesen Datenpunkt habe ich mir gar nicht so genau angesehen. Vielen Dank für den Hinweis.

                              Bei weiteren Frage melde ich mich dementsprechend hier im Forum.

                              Ich verbleibe dann mal mit vielen Grüßen und wünsche noch einen angenehmen Samstag Nachmittag

                              nobob

                              1 Reply Last reply Reply Quote 0
                              • N
                                nobob last edited by

                                Hallo Miteinander,

                                dank dem Vorschlag von ruhr70 habe ich das Skript nach meinen Wünschen angepasst und es erfüllt seinen Zweck.

                                Da ich Euch das Script nicht vorenthalten möchte hier mein angepasstes Skript (allerdings ohne offizelle Daten)

                                ! ````
                                /*
                                ..........Anrufer Ansage Fritzbox / SayIT rev00
                                ..........Datum: Im Forum Verfasst 2016-02-23, 00:39
                                ..........Autor: ruhr70
                                ..........Forum ioBroker
                                ..........http://forum.iobroker.net/viewtopic.php?f=21&t=2328
                                ..........
                                ..........Änderungshistorie
                                ..........-----------------
                                ..........Anrufer Ansage Fritzbox / SayIT rev01
                                ..........Datum: 2016-03-08
                                ..........Bearbeiter : nobob
                                ..........Änderung: Bei Verwendung von unterschiedlichen Telefonnummern (z.B. Privat_1, Privat_2,
                                ....................Fax etc.) abfragen auf welcher Rufnummer der externe Anruf eingeht und über
                                ....................unterschiedliche SayIT Adapter den Anruf ansagen.
                                */
                                ! // #################################################################################################
                                // # Einstellungsbereich ANFANG
                                // #
                                ! // Telefonbuch (Dummy Daten)
                                var telefonbuchRufnummer =
                                { "051147110815": {"name":"Hänschen Klein"},
                                "07114711471": {"name":"Gustav Gans Handy"},

                                			"### ? ###":        {"name":"Rufnummer unterdrückt"}
                                       };
                                

                                ! // Variable für den Einleitungstext
                                var TextBeginn = "Anruf von. ";

                                // Variable wenn die Rufnummer nicht im Telefonbuch vorhanden ist
                                	var telefonbuchRufnummerNichtBekannt = "Unbekannt. Nummer nicht vorhanden";
                                

                                ! // Variable für die aktuell anrufende Rufnummer (Fritzbox Adapter X (hier: Adapter 0))
                                var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number
                                ! // Variable für den FritzBox Message String / Datenpunkt
                                var FritzMessage = 'fritzbox.0.message';
                                ! // Variablen für die Information zum Auslesen aus dem Datenpunkt ´fritzbox.0.message´
                                var AktiverAnruf = new RegExp("RING"); // String /RING/ in Variable für *.match Auswertung
                                var TelefonNr_1 = new RegExp("xxxxx"); // 1. Telefonnummer (String /xxxxx/ in Variable)
                                var TelefonNr_2 = new RegExp("yyyyy"); // 2. Telefonnummer (String /yyyyy/ in Variable)

                                // Variablen für die benötigte If Abfrage (feste Vergleichs-Werte)
                                	var Standard_1 = "RING";	// String für einen aktuellen Anruf
                                	var Standard_2 = "xxxxx";	// Standard für den 1\. Vergleich
                                	var Standard_3 = "yyyyy";	// Standard für den 2\. Vergleich (wenn gewünscht)
                                

                                ! // Variable für die Sprachausgabe (SayIT Adapter X)
                                // beide eingestellt auf unterschiedliche Sonos Lautsprecher
                                var SayIT_1_config = "sayit.0.tts."; // ohne weiteren Zusatz, Zusatz wird später im
                                // Skript angefügt
                                var SayIT_2_config = "sayit.1.tts.";
                                ! // Lautstaerke fuer die jeweilige Sprachausgabe
                                var Volume_1 = "10";
                                var Volume_2 = "20";
                                ! // Texte für Logeinträge
                                var Log_Vergleich_1 = "Externer Anruf auf der ersten Telefonnummer";
                                var Log_Vergleich_2 = "Externer Anruf auf der zweiten Telefonnummer";
                                var Log_Else = "Keine, falsche oder Fax Rufnummer erkannt";
                                ! // #
                                // # Einstellungsbereich ENDE
                                // #################################################################################################
                                ! // Text Zuweisung zum jeweiligen SayIT Adapter; Variable wird für die
                                // Sprachausgabe benötigt
                                var idSayIT_1 = SayIT_1_config + "text"; // hier der 1. SayIt Adapter
                                var idSayIT_2 = SayIT_2_config + "text"; // hier der 2.
                                ! // FUNKTION : Auswerten der Rufnummer und vergleichen mit Eintrag im Telefonbuch
                                ! function rufnummer2name (rufnummer) {
                                var name = ""; // Variable name ablöschen
                                ! if (!telefonbuchRufnummer[rufnummer]) { // Wenn Rufnummer nicht im Telefonbuch
                                name = telefonbuchRufnummerNichtBekannt; // Oben festgelegter Text in Ausgabevariable
                                // schreiben
                                } else {
                                name = telefonbuchRufnummer[rufnummer].name; // Wenn Rufnummer im Telefonbuch vorhanden
                                // den oben festgelegten Text unter name
                                // in Ausgabevariable schreiben
                                }
                                return name; // Rückgabewert entweder Telefonbucheintrag
                                // oder nicht bekannt.
                                }
                                ! // FUNKTION : Sprachausgabe über SayIT Adapter
                                ! function AusgabeAnrufer() {
                                // Auswertungen müssen hier erfolgen, da sonst der alte Wert vom Daten-
                                // punkt ´fritzbox.0.message´ ausgelesen wird.
                                ! // Volumen für die 1. Sprachausgabe setzen
                                var idVolume_1 = SayIT_1_config + "volume";
                                setState (idVolume_1, Volume_1); // Volumen auf Wert X setzen
                                ! // Volumen für die weitere Sprachausgabe setzen
                                var idVolume_2 = SayIT_2_config + "volume";
                                setState (idVolume_2, Volume_2); // Volumen auf Wert X setzen
                                ! // Aktuellen ´fritzbox.0.message´ Datenpunkt in Variable speichern
                                // var strInfo = getState('fritzbox.0.message').val;
                                var strInfo = getState(FritzMessage).val;

                                // Datenpunkt strInfo auf die Zeichenkette RING und Telefonnummer durchsuchen
                                var Vergleich_1 = strInfo.match(AktiverAnruf);
                                var Vergleich_2 = strInfo.match(TelefonNr_1);
                                var Vergleich_3 = strInfo.match(TelefonNr_2);
                                

                                ! // Auswertung auf welcher Nummer angerufen wird mit Sprachausgabe
                                // auf den jeweiligen Sonos Lautsprechern

                                // Hier Vergleich 1
                                if (Vergleich_1 == Standard_1 && Vergleich_2 == Standard_2){
                                        setState(idSayIT_1, TextBeginn + rufnummer2name(getState(Anrufer).val));
                                        log(Log_Vergleich_1);
                                    }
                                // Hier Vergleich 2
                                if (Vergleich_1 == Standard_1 && Vergleich_3 == Standard_3){
                                        setState(idSayIT_2, TextBeginn + rufnummer2name(getState(Anrufer).val));
                                        log(Log_Vergleich_2);
                                }
                                else {
                                    log(Log_Else);
                                }     
                                

                                }

                                ! // Wenn ein Anruf erkannt wird, die Funktion AusgabeAnrufer abarbeiten
                                on ({id: Anrufer, valGe: 1}, AusgabeAnrufer);
                                ! ````

                                Da ich mich mit JavaSkript nicht so gut auskenne, vermute ich mal dass man das besser programmieren

                                könnte, aber für meine Zwecke ist es ausreichend.

                                Was ich allerdings noch nicht verstehe ist, dass der Logeintrag von else mit eingetragen wird,

                                wenn der Vergleich 1 zutrifft. Bei Vergleich 2 ist alles in Ordnung.

                                Vielleicht weiß ja da einer eine Antwort.

                                In diesem Sinne noch einen angenehmen restlichen Sonntag.

                                Viele Grüße nobob

                                1 Reply Last reply Reply Quote 0
                                • htrecksler
                                  htrecksler Forum Testing last edited by

                                  ` > if (Vergleich_1 == Standard_1 && Vergleich_3 == Standard_3){

                                  setState(idSayIT_2, TextBeginn + rufnummer2name(getState(Anrufer).val));

                                  log(Log_Vergleich_2);

                                  }

                                  else {

                                  log(Log_Else);

                                  } `

                                  versuch mal (ohne Gewähr)

                                      if ((Vergleich_1 == Standard_1) && (Vergleich_3 == Standard_3)){
                                              setState(idSayIT_2, TextBeginn + rufnummer2name(getState(Anrufer).val));
                                              log(Log_Vergleich_2);
                                      }
                                      else {
                                          log(Log_Else);
                                      }     
                                  
                                  

                                  Gruss Hermann

                                  1 Reply Last reply Reply Quote 0
                                  • N
                                    nobob last edited by

                                    Hallo Hermann,

                                    vielen Dank für Deine Antwort.

                                    Ich werde das mal im laufe der Woche versuchen und

                                    mich dann wieder melden.

                                    Viele Grüße

                                    nobob

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      nobob last edited by

                                      Hallo Hermann,

                                      wie schon geschrieben habe ich Deinen Vorschlag mal umgesetzt.

                                      Allerdings ist das Verhalten noch genau so wie zuvor.

                                      Bei der ersten If Bedingung wird zusätzlich die Else Bedingung mit

                                      ausgeführt und bei der zweiten ist alles in Ordnung.

                                      Ich kann damit leben, ich Frage mich nur was ich da Falsch mache.

                                      Aber trotzdem vielen Dank für Deinen Vorschlag.

                                      Gruß und einen angenehmen Tag

                                      nobob

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        Big Fish last edited by

                                        Hallo Zusammen,

                                        das Skript funktioniert soweit ganz gut. Allerdings bin ich auf folgendes Problem gestoßen.

                                        Die Variable Anrufer wird bei mir wie folgt gesetzt.

                                        var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number

                                        Im iobroker sehe ich auch unter diesem Objekt die Anrufer Nummer. Im skript enthält die var jedoch nur den String "fritzbox.0.calls.ringActualNumber"

                                        Zum überprüfen habe ich in den Step einen Logger eingebaut:

                                        // Hier Vergleich 1

                                        if (Vergleich_1 == Standard_1 && Vergleich_2 == Standard_2){

                                        setState(idSayIT_1, TextBeginn + rufnummer2name(getState(Anrufer).val));

                                        log(Log_Vergleich_1);

                                        log(Anrufer)

                                        }

                                        Kann es sein, dass ringActualNumber nicht gleichzeitig mit dem Ring Objekt beschrieben wird? Bzw. hat jemand anderes das gleiche Problem?

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          nobob last edited by

                                          Hallo Big Fish,

                                          das ist richtig, dass Du über den Befehl ´log(Anrufer)´ nur den String zurückbekommst.

                                          Wenn Du die Rufnummer mit loggen möchtest musst Du den Befehl wie folgt schreiben:

                                          log(getState(Anrufer).val)

                                          Damit sollte dann die Rufnummer im Log eingetragen werden.

                                          Ich hoffe ich konnte Dir diesbezüglich weiterhelfen.

                                          Gruß nobob.

                                          P.S.: Anbei wünsche ich allen noch schöne Ostern.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            simpixo last edited by

                                            @ruhr70:

                                            @Dragonius:

                                            Danke!

                                            Das klappt schon mal prima!!

                                            Und ich hab mir da so einen bei abgebrochen…...

                                            Wäre schön wenn die Namenszuordnung im Fritz-Adapter dann auch irgendwann möglich wäre.

                                            Gruß

                                            Dragonius `

                                            Anbei mit Telefonbuch im Script und Ansage des Namens (ungetestet).

                                            var telefonbuchRufnummerNichtBekannt = "Rufnummer nicht im Telefonbuch";
                                            
                                            var telefonbuchRufnummer = {
                                                "021147114711":
                                                {
                                                    "name":         "Michael Handy",    // name zur Rufnummer
                                                    "bemerkung":    "Reserve"           // optional
                                                },
                                                "051147110815":     {"name":"Hänschen Klein"},
                                                "07114711471":      {"name":"Gustav Gans Handy"},
                                                "089123456789":     {"name":"Vanessa Müller"},
                                                "030200020001":     {"name":"Gabi Kösters"},
                                                
                                                "### ? ###":        {"name":"Rufnummer unterdrückt"}
                                            };
                                            
                                            function rufnummer2name (rufnummer) {
                                                var name = "";
                                            
                                                //rufnummer = rufnummer.replace("#","");
                                                //rufnummer = rufnummer.replace("*","");
                                            
                                                if (!telefonbuchRufnummer[rufnummer]) {                                     // undefinierte Rufnummern
                                                    name = telefonbuchRufnummerNichtBekannt;                                // undefinierte Rufnummern
                                                } else {
                                                    name = telefonbuchRufnummer[rufnummer].name;
                                                }
                                                return name;
                                            }
                                            
                                            var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number
                                            
                                            on ({id: Anrufer, valGe: 1}, AusgabeAnrufer);
                                            
                                            function AusgabeAnrufer(){
                                                //setState("sayit.0.tts.text", "Anruf von. " + getState(Anrufer).val);
                                                setState("sayit.0.tts.text", "Anruf von. " + rufnummer2name(getState(Anrufer).val)); 
                                            }
                                            
                                            

                                            Ich nutze den oberen Part (JSON und die Funktion rufnummer2name()) als globales Script und nutze es in verschiedenen weiteren Scripts (Ereignisliste, Ansage des Anrufernamen, usw.). `

                                            Hallo ruhr70

                                            Super Script, dafür schon mal ein fettes DANKE!!!

                                            Wäre es aber möglich ein exportiertes Fritz!Box Telefonbuch in das Script einzubinden!? Es handelt sich bei dem exportierten File um eine xml Datei!

                                            Dann würde das eintragen der Nummern in das Script wegfallen!!

                                            Oder könntest du mir ein Tip geben, wonach ich suchen müsste um das umsetzten zu können [emoji16][emoji6]

                                            Danke schon mal

                                            Gruß

                                            Adrian

                                            Gesendet von meinem iPhone mit Tapatalk

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            731
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            36
                                            8397
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo