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] Fritzbox - Adapter; unbekannt = "### ? ###" lässt sich nicht verarbeiten

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    933

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] Fritzbox - Adapter; unbekannt = "### ? ###" lässt sich nicht verarbeiten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
20 Beiträge 3 Kommentatoren 2.3k 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.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #5

    Deinen code versteh ich nicht.

    mfg


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • blauholstenB Offline
      blauholstenB Offline
      blauholsten
      Developer
      schrieb am zuletzt editiert von
      #6

      @bahnuhr:

      Deinen code versteh ich nicht.

      mfg `
      Die .test() Methode prüft einen String auf dessen Inhalt, und gibt dann true oder false zurück.

      von mir aus so

      var str =  "### ? ###";
      
      if(str.test(nummer)){
             log('ja');
      }
      else{
             log('nein');
      }
      

      Entwickler vom: - Viessman Adapter
      - Alarm Adapter

      1 Antwort Letzte Antwort
      0
      • bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #7

        @blauholsten:

        probier doch mal mit

        var str =  "### ? ###";
        
        if(str.test(nummer)){
               "tue dies tue das"
        }
        ```` `  
        

        Es kommt Fehlermeldung:

        str.test is not a function


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #8

          Müsste dies (wie oben im Code)

          if (nummer === "### ? ###") {
              log ("richtig");
          } else {
              log ("nein");
          }
          

          nicht das gleiche sein.

          Und dies klappt eben nicht.


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • blauholstenB Offline
            blauholstenB Offline
            blauholsten
            Developer
            schrieb am zuletzt editiert von
            #9

            @bahnuhr:

            @blauholsten:

            probier doch mal mit

            var str =  "### ? ###";
            
            if(str.test(nummer)){
                   "tue dies tue das"
            }
            ```` `  
            

            Es kommt Fehlermeldung:

            str.test is not a function `

            Stimmt! Muss wohl so heissen….

            var str = /### ? ###/
            

            Kommt aber trotzdem false raus. Kann es sein das das "verbotene Zeichen" sind?

            Entwickler vom: - Viessman Adapter
            - Alarm Adapter

            1 Antwort Letzte Antwort
            0
            • bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #10

              habe mittlerweile folgendes festgestellt:

              Die Fritzbox übermittelt: "### ? ###"

              Hierbei ist die Leertaste mit dem charCode 160 !!! benannt.

              Im String ""### ? ###" ist der charCode der Leertaste 32 !!!

              Also unterschiedlicher Code für Leertaste.

              mfg


              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

              1 Antwort Letzte Antwort
              0
              • bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #11

                wie vermutet landet dein Code auch bei Nein !!!

                  var str =  /### ? ###/;
                
                if(str.test(nummer)){
                       log('ja');
                }
                else{
                       log('nein');
                }
                

                m.E. liegt es an der unterschiedlichen Behandlung der Leertaste.

                mfg

                D.Müller


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • blauholstenB Offline
                  blauholstenB Offline
                  blauholsten
                  Developer
                  schrieb am zuletzt editiert von
                  #12

                  Fehler gefunden:

                  var str =  /### \? ###/;
                  
                  if(str.test(nummer)){
                         log('ja');
                  }
                  else{
                         log('nein');
                  }
                  

                  Das geht

                  Entwickler vom: - Viessman Adapter
                  - Alarm Adapter

                  1 Antwort Letzte Antwort
                  0
                  • bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #13

                    bei mir geht es nicht.

                    … not a function


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    1 Antwort Letzte Antwort
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #14

                      Also ich bleib jetzt bei meiner Lösung:

                      if (nummer === String.fromCharCode(35,35,35,160,63,160,35,35,35)) {  // charCode entspricht "### ? ###"
                          log ("richtig");
                      } else {
                          log ("nein");
                      }
                      

                      Die Fritzbox scheint die Leertaste anders zu übermitteln.

                      Und mit o.g. char… funktioniert es.

                      mfg


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • blauholstenB Offline
                        blauholstenB Offline
                        blauholsten
                        Developer
                        schrieb am zuletzt editiert von
                        #15

                        Jetzt schon:

                        var str =  /### \? ###/;
                        
                        if(str.test(nummer)){
                               log('ja');
                        }
                        else{
                               log('nein');
                        }
                        

                        Entwickler vom: - Viessman Adapter
                        - Alarm Adapter

                        1 Antwort Letzte Antwort
                        0
                        • bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #16

                          blauholsten

                          Deine Lösung klappt nicht !!!

                          -> Es klappt mit deinem String

                          -> Es klappt aber nicht mit dem String der die Fritzbox übermittelt.

                          Diese übermittelt als String einen anderen CharCode für die Leertaste.

                          Probier es mit dem Handy aus und schalt die Tel.Nr. aus.

                          mfg

                          Dieter


                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          0
                          • blauholstenB Offline
                            blauholstenB Offline
                            blauholsten
                            Developer
                            schrieb am zuletzt editiert von
                            #17

                            Okay!

                            PS Skript bitte als gelöst markieren.

                            Entwickler vom: - Viessman Adapter
                            - Alarm Adapter

                            1 Antwort Letzte Antwort
                            0
                            • bahnuhrB Online
                              bahnuhrB Online
                              bahnuhr
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #18

                              Anbei das Script wie es nun bei mir läuft komplett:

                              ! ````
                              // Telefon Anzeige in vis
                              ! // Variablen
                              var Anrufer_Nr = "fritzbox.0.calls.ringActualNumber"; // Nr. des Anrufers
                              var Anrufer_Name = "tr-064.0.callmonitor.inbound.callerName"; // Name des Anrufers
                              var Sprache = getState("hm-rega.0.29816").val; // Auto Sprachausgabe
                              var request = require ('request');
                              ! function weiter(obj) {
                              // Name ermitteln
                              var name = "";
                              ! if (obj.state.val === String.fromCharCode(35,35,35,160,63,160,35,35,35)) { // undefinierte Rufnummern, charCode entspricht "### ? ###"
                              name = "Unbekannt"; // undefinierte Rufnummern
                              } else {
                              name = getState(Anrufer_Name).val;
                              }
                              ! // Bild ermitteln
                              switch (name) {
                              case 'Dieter Arbeit':
                              name = "Dieter";
                              setState('javascript.0.Status.Telefon.Bild_Nr', 1);
                              break;
                              default:
                              setState('javascript.0.Status.Telefon.Bild_Nr', 0);
                              break;
                              }
                              ! if (name === "") {
                              name = "Unbekannt";
                              } else {
                              setState('javascript.0.Status.Telefon.Name', name);
                              }
                              setState('javascript.0.Status.Telefon.Nummer', obj.state.val);

                              // Sprachausgabe
                                  if (Sprache === true) {
                                      request('http://192.168.243.76:50000/track=tos-computer-03.wav');
                                      setTimeout(setState('sayit.0.tts.text', name + " ruft an."), 3000);
                                  }
                              
                              //Telegram und log
                                  if (name ==='Unbekannt') {
                                      sendTo('telegram', "Telefon zu Hause:\n Unbekannte Nummer ruft an.");
                                      log("Telefon zu Hause: Unbekannte Nummer ruft an.");
                                  } else {
                                      sendTo('telegram', "Telefon zu Hause:\n" + name + ", " + obj.state.val + ", ruft an.");     
                                      log("Telefon zu Hause: " + name + ", " + obj.state.val + ", ruft an.");     
                                  }
                              
                              View_change ('Telefon', 0); 
                              setTimeout(function() {
                                      View_change ('Titel', 0);
                                      setState('javascript.0.Status.Telefon.Name', "");
                                      setState('javascript.0.Status.Telefon.Nummer', "");
                                      setState('javascript.0.Status.Telefon.Bild_Nr', 0);
                              }, 30000); 
                              

                              ! }
                              ! on({id: Anrufer_Nr, change: "ne"}, function(obj) {
                              log ('Auslöser Telefon');
                              if (obj.state.val !== '') {
                              weiter(obj);
                              }
                              });
                              ! ````


                              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                              Danke.
                              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                              ScreenToGif :https://www.screentogif.com/downloads.html

                              1 Antwort Letzte Antwort
                              0
                              • ruhr70R Offline
                                ruhr70R Offline
                                ruhr70
                                schrieb am zuletzt editiert von
                                #19

                                das "andere Leerzeichen" kommt nicht von der Fritzbox, sondern vom Adapter.

                                Ein Leerzeichen wird gegen ein nbsp; (non breaking space) ausgetauscht, damit die Länge bei html mit Festbreitenschrift passt.

                                Beim Mac erzeugt man ein nbsp; mit alt+Leertaste (aus dem Gedächtnis)

                                im Javascripteditor wird das dann auch grafisch angezeigt

                                Gesendet von iPhone mit Tapatalk

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

                                1 Antwort Letzte Antwort
                                0
                                • bahnuhrB Online
                                  bahnuhrB Online
                                  bahnuhr
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #20

                                  Vom Adapter - hab ich mir schon gedacht.

                                  Trotzdem muss man das erst einmal wissen. Man versucht halt mit der normalen Leertaste eine if abfrage zu basteln und ist fast am verzweifeln warum dies nicht klappt.

                                  Danke für den Tipp mit dem "alt + Leertaste".

                                  Muss ich mal versuchen.

                                  Wieder was gelernt.

                                  Mit freundlichen Grüßen


                                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                  Danke.
                                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                  ScreenToGif :https://www.screentogif.com/downloads.html

                                  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.6k

                                  Benutzer

                                  82.2k

                                  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