Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. MaterialDesign Table Fritzbox Missed calls best. Nummer

    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

    MaterialDesign Table Fritzbox Missed calls best. Nummer

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @svenomatt last edited by

      @svenomatt

      da ist ein beispiel mit dem inventwo json widget - das kann das direkt anzeigen

      https://forum.iobroker.net/post/701184

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

        Wollte das Widget von Material Design (Table Widget ) nutzen und dann den org. Datenpunkt vom TR064 nehmen. Bekomme es dort aber irgenwie nicht hin, das nur bsp.haft die erste dritte und vierte Spalte des Json in dem Wigdet angezeigt wird.

        Ich meine das ich das irgengwo im Vis editor angeben muss ( Attribut in Json ) kann ich aber nicht finden

        Bei dem Widget /// JSON Table Basics konnte ich es einstellen

        Bild

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @svenomatt last edited by

          @svenomatt

          probiere mal mein script mit dieser änderung - dann kannst du im script definieren, welche spalten du haben willst

          Image 1.png

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

            @liv-in-sky
            Erstmal Danke für deine Hilfe,

            ich komme aber nicht mehr ganz mit,

            Vieleicht nochmal kurz zu meinem Wunsch, möchte gerne eine Tabelle mit allen verpassten Anrufen mit den Spalten Datum Name und Rufnummer in Vis darstellen.

            Aktuelll nutze ich das JSON Table Basics Wigdet und habe dort über den vis editor (Attribut in Json) die entsprechende Spalte bestimmt die aus dem json gezogen soll und dann in der Tabelle angezeigt wird. Alles soweit OK. Nun möchte ich alles mit dem Material Design Wigdet lösen. Dazu habe ich gedacht das es mit dem "Table Widget" geht. Als Datenpunkt habe ich missedcall json vom Tr64 genommen. Aber wie stelle ich ein das nur bestimmte Attribute in Meiner Tabelle angezeigt werden.

            Sprich: Datum Name Rufnummer
            Im Table Widget konnte ich keine Möglichkeit wie beim Basics Json Wigdet finden.

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @svenomatt last edited by

              @svenomatt

              ich habe nur das hier gefunden - dort kann man die einzelnen spalten ausblenden - aber damit habe ich das problem, dass ich keine zeit anzeigen kann - bin kein profi für material design widgets

              Image 2.png

              Image 3.png

              ich glaube deswegen nutze ich ein script - das mir die zeit richtig anzeigt

              Image 4.png

              falls du das script nutzen willst, da ist noch was zu ändern . wenn kein name bekannt ist, wird das nicht richtig angezeigt

              svenomatt 1 Reply Last reply Reply Quote 0
              • svenomatt
                svenomatt @liv-in-sky last edited by

                @liv-in-sky

                Würde wirklich gerne dein Script nutzen. Zumal es alles das anzeigt was ich bräuchte

                Wenn ich dich richtig verstanden habe muss ich die Zeile 18 ersetzen damit er auf alle eingehenden Anrufe reagiert?

                Was muss ich noch ändern das "wenn keine Name bekannt " das dies richtig anzeigt wird.

                Sorry für die vielen Blöden fragen, habe aber keine Ahnunbg von Java-Programmierung nutze selbst nur blockly

                Danke

                liv-in-sky 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @svenomatt last edited by

                  @svenomatt

                  du musst diese zeile dahin verschieben - die steht leider in der falschen zeile (weiter oben)

                  Image 5.png

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @svenomatt last edited by

                    @svenomatt

                    und die zeile 18 muss auch angepaßt werden !

                    svenomatt 1 Reply Last reply Reply Quote 0
                    • svenomatt
                      svenomatt @liv-in-sky last edited by

                      
                      
                      let dpOrginal= "tr-064.0.calllists.missed.json";  // jsondatenpunkt von der  tr064 instanz
                      let dpNeu= "0_userdata.0.missedFritzbox"      //eigener datenpunkt für das materialdesign table widget
                      let numberToControll= "7003396"                      //eigene nummer, die überprüft werden soll
                      
                       on({id: dpOrginal, change: "any"}, function (obj) { 
                      
                         
                        let myJson;
                      
                        let myJsonReady=[];
                        
                           myJson=JSON.parse(getState(dpOrginal).val)
                      
                       //log(myJson[0].callednumber)
                      
                      for (var index in myJson){
                       if (myJson[index].callednumber==numberToControll) {
                       if (true)/* (myJson[index].caller==numberToControll) */  {
                           let myname="Kein Name vorhanden";   
                           let myTime= (myJson[index].date).split(".")
                           let mySortTime= myJson[index].date.replace(/.+? (.+)$/g,"$1");
                           mySortTime="20"+myTime[2].replace(/ .+$/,"")+" "+myTime[1]+" "+myTime[0]+" "+mySortTime
                      
                           if (myJson[index].name!="") myname=myJson[index].name;
                      
                           myJsonReady.push({
                      
                                     Anrufer: myname ,
                                     Nummer: myJson[index].caller,
                                     date: myJson[index].date,
                                     dateSorter: getDateObject(mySortTime).getTime()
                      
                                 });
                      }
                       
                           setState(dpNeu,JSON.stringify(myJsonReady))
                      
                       }
                      
                         });
                      
                        
                      
                      

                      Frage

                      1. Wäre das so richtig?
                      2. et numberToControll= "7003396" kann dann doch eigentlich raus ODER?
                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @svenomatt last edited by

                        @svenomatt sollte so funktionieren - einfach testen

                        svenomatt 1 Reply Last reply Reply Quote 0
                        • svenomatt
                          svenomatt @liv-in-sky last edited by

                          @liv-in-sky

                          Hat leider auch nicht den gewünschten Erfolg gezeigt. Es wird nicht in den neuen Datenpunkt geschrieben. Habe dann nochmal dein o.g. gepostet Script genutzt und meine Rufnummer eingetragen um zu schauen ob es fkt.

                          aber auch ohne Erfolg. obwohl, im datenpunkt sind zwei [ "ohne Inhalt" ] Klamern aufgetaucht.

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @svenomatt last edited by

                            @svenomatt

                            habe das geändert - probier bitte das mal - habe auch gerade getestet - einfach mit handy angerufen

                            let dpOrginal="tr-064.0.calllists.missed.json";  // jsondatenpunkt von der  tr064 instanz
                            let dpNeu="0_userdata.0.Tabellen.missedFritzbox"           //eigener datenpunkt für das materialdesign table widget
                            
                            
                               on({id: dpOrginal, change: "any"}, function (obj) { 
                                  
                              let myJson;
                              let myJsonReady=[];
                              myJson=JSON.parse(getState(dpOrginal).val)
                            
                            
                            
                            for (var index in myJson){
                            
                                 let myname="kein Name vorhanden";
                                 let myTime= (myJson[index].date).split(".")
                                 let mySortTime= myJson[index].date.replace(/.+? (.+)$/g,"$1");
                                 mySortTime="20"+myTime[2].replace(/ .+$/,"")+" "+myTime[1]+" "+myTime[0]+" "+mySortTime
                                 if (myJson[index].name!="") myname=myJson[index].name;
                                 myJsonReady.push({
                                           'Anrufer': myname ,
                                           'Nummer': myJson[index].caller,
                                           'date': myJson[index].date,
                                           'dateSorter': getDateObject(mySortTime).getTime()
                                       });
                            
                            
                                 setState(dpNeu,JSON.stringify(myJsonReady))
                             }
                            
                               
                               });
                            
                            

                            Image 1.png

                            svenomatt 1 Reply Last reply Reply Quote 1
                            • svenomatt
                              svenomatt @liv-in-sky last edited by

                              @liv-in-sky

                              Vielen Dank, jetzt hat es geklappt,

                              ich traue mich nicht mal zu sagen woran es lag. Scheinbar war durch ein Fritzbox-update der Port für den Call monitor gesperrt.

                              Vielen Dank für deine anhaltend Hilfe, ist mehr als selten.

                              Gruss

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              451
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              template
                              4
                              29
                              1867
                              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