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

                        558
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

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