Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst]String formatieren

    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

    [gelöst]String formatieren

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

      Hallo zusammen,

      ich möchte mir gerne Anzeigen lassen, welche Adapter in Iobroker Updates haben. Den entsprechenden Datenpunkt habe ich gefunden und kann mir auch die Adapter in Vis darstellen lassen. Momentan werden die folgendermaßen dargestellt : a, b, c, d, .....
      ich würde die jedoch gerne untereinander dargestellt haben:
      a,
      b,
      c,
      d,
      ....
      hat jemand eine idee wie ich das machen kann?

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Dominik F. last edited by

        @Dominik-F
        Was genau gibt der Datenpunkt aus?

        Dominik F. 1 Reply Last reply Reply Quote 0
        • Dominik F.
          Dominik F. @Homoran last edited by

          @Homoran

          es geht um diesen Datenpunkt: admin.0.info.updatesList
          dieser gibt mir folgendes aus : backitup, hm-rega, hm-rpc
          ich möchte das jedoch so dargestellt haben:
          backitup
          hm-rega
          hm-rpc

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Dominik F. last edited by

            @Dominik-F

            Wollte das gerade rekonstruieren.
            Das Feld ist bei mir leer. 😞
            Obwohl es etwas zum Updaten gäbe. Auch der Wert UpdatesNumber ist mit 0 sicherlich falsch

            Dominik F. 1 Reply Last reply Reply Quote 0
            • Dominik F.
              Dominik F. @Homoran last edited by

              @Homoran

              seltsam....bei mir funktioniert das zuverlässig und ich habe nirgendwo etwas verändert was das beeinflussen könnte, auf jeden fall nicht soweit ich weiß 😄

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                Hab ein wenig gespielt, jetzt sind die Felder auch voll:

                nicht ganz ernst gemeint (auch wenn ich es in anderem Zusammenhang so mache)
                text_untereinander.png

                Einfach das Feld so breit machen, dass ein Zeilenumbruch kommt.

                Sauber macht man es, dass man das ", " gegen ein <br> oder </n> (neue Zeile) austauscht.
                Entweder per Skript, oder vielleicht als Binding.

                Das kann ja mal jemand machen, der sich damit auskennt 😉

                Dominik F. 1 Reply Last reply Reply Quote 0
                • Dominik F.
                  Dominik F. @Homoran last edited by

                  @Homoran

                  Jam die Idee ist mir auch schon gekommen, jedoch wird es irgendwann ein Durcheinander geben wenn mal ein Adapter der länger ist auftaucht.
                  Die Frage ist nur, wie tauscht man das "," gegen <br> aus 😕

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Dominik F. last edited by

                    @Dominik-F

                    Bin gerade an zwei DIngen dran.
                    Habe noch keine Ahnung was ich da mache. Aber so kann man lernen.

                    Das eine ist eine json Tabelle.
                    Es gibt da auch einen Datenpunkt mit einem json.
                    Irgendwie klappt das mit dem json-Table-Widget aber nicht:

                    updates_json.png

                    Das zweite ist, dass ich versuche über ein Blockly die Liste in ein Json zu wandeln.
                    War eigentlich der erste Ansatz bis ich den json Datenpunkt gesehen habe.

                    Dominik F. 1 Reply Last reply Reply Quote 0
                    • Dominik F.
                      Dominik F. @Homoran last edited by

                      @Homoran

                      könnte man sich in der json tabelle nicht nur den ersten wert anzeigen lassen und mit zeilenumbruch den zweiten?

                      J.A.R.V.I.S. Homoran 2 Replies Last reply Reply Quote 0
                      • J.A.R.V.I.S.
                        J.A.R.V.I.S. Developer @Dominik F. last edited by J.A.R.V.I.S.

                        @Dominik-F @Homoran

                        hier ein kleines Skript, was auch bei dem JSON Widget helfen kann.

                        let json = JSON.parse(getState('admin.0.info.updatesJson').val);
                        let updates = [];
                        let result;
                        
                        for(let adapter in json) {
                        
                            let tmp = {};
                        
                            tmp.adapter = adapter;
                            tmp.installed = json[adapter].installedVersion;
                            tmp.available = json[adapter].availableVersion;
                        
                            updates.push(tmp);
                        }
                        
                        result = JSON.stringify(updates);
                        
                        console.log(result); //bzw. das Ergebnis in eine Variable schreiben und von der VIS anzeigen lassen (JSON Widget)
                        
                        Dominik F. 1 Reply Last reply Reply Quote 1
                        • Homoran
                          Homoran Global Moderator Administrators @Dominik F. last edited by

                          @Dominik-F

                          Ich denke mal der UpdateJson Datenpunkt sollte mit dem Widget jsoTable so aussehen:

                          update_json_richtig.png

                          1 Reply Last reply Reply Quote 0
                          • Dominik F.
                            Dominik F. @J.A.R.V.I.S. last edited by

                            @J-A-R-V-I-S

                            dank dir, ich werde das später mal ausprobieren und dann eine rückmeldung geben

                            @Homoran

                            Die Werte dort sind bei static angegeben, hast du mal getestet wie sich die Tabelle verhält wenn ein wert weg ist? müsste das nicht bei table oder so rein?

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Dominik F. last edited by Homoran

                              @Dominik-F sagte in String formatieren:

                              müsste das nicht bei table oder so rein?

                              nein, der Adapter müsste diese Struktur liefern. Aber das macht er nicht, warum auch immer.
                              Mit dem, was der Adapter im Datenpunkt "updateJson" liefert klappt es eben leider nicht.

                              Ich habe nicht die größte Ahnung, aber nachdem ich da jetzt ein paar Stunden dran sitze, würde ich sogar behaupten, dass was da im Datenpunkt steht ist kein valides json

                              Es war nur als Beispiel gedacht "wie es hätte aussehen können"

                              Dominik F. 1 Reply Last reply Reply Quote 0
                              • Dominik F.
                                Dominik F. @Homoran last edited by

                                @Homoran
                                @J-A-R-V-I-S

                                ich glaube ich habs jetzt 🙂 Das Skript war der Schlüssel.
                                Die Liste sieht nun so aus :

                                Unbenannt.PNG

                                Links einmal die komplette Tabelle, rechts nur die Adapter. Das einzige was ich jetzt noch hinbekommen muss ist, die Spalten etwas besser auszurichten, da weiß ich allerdings noch nicht so genau wie.

                                Das Skript habe ich um folgendes erweitert:

                                // Skriptstart  
                                
                                setState('javascript.0.VIS.ioBroker_Updates'/*ioBroker Updates*/, result);
                                 
                                
                                // Aktualisierung bei Wertänderung
                                on(result, function(dp) {
                                   setState('javascript.0.VIS.ioBroker_Updates'/*ioBroker Updates*/, dp.state.val);
                                });
                                

                                Allerdings funktioniert die Aktualisierung der Werteänderung nicht. Habt ihr da noch einen Tipp für mich? Mein Versuch gibt zwar keine Fehlermeldung raus, funktionieren tuts jedoch auch nicht^^

                                1 Reply Last reply Reply Quote 0
                                • Dominik F.
                                  Dominik F. last edited by

                                  Habe den Teil jetzt noch einmal verändert und es scheint zu funktionieren, auf jedenfall ist der Datenpunkt jetzt leer nachdem ich das letzte update installiert habe.

                                  hier der neue Teil, ist der so korrekt?

                                  // Aktualisierung bei Wertänderung
                                  on({id: 'admin.0.info.updatesJson', change: 'ne'}, function(dp) {
                                     setState('javascript.0.VIS.ioBroker_Updates'/*ioBroker Updates*/, dp.state.val);
                                  });
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • Dominik F.
                                    Dominik F. last edited by

                                    Da das Grundproblem gelöst wurde, schließe ich dieses Thema nun. Danke euch

                                    1 Reply Last reply Reply Quote 0
                                    • Dominik F.
                                      Dominik F. last edited by

                                      @Homoran
                                      hier nun das fertige Skript mit hilfe von Paul33 falls es von Interesse ist:

                                      
                                      const idUpdates = 'admin.0.info.updatesJson';
                                      const idVis = 'javascript.0.VIS.ioBroker_Updates'/*ioBroker Updates*/;
                                       
                                      function modify(json) {
                                         let obj = JSON.parse(json);
                                         let updates = [];
                                         for(let adapter in obj) {
                                            let tmp = {};
                                            tmp.adapter = adapter;
                                            tmp.installed = obj[adapter].installedVersion;
                                            tmp.available = obj[adapter].availableVersion;
                                            updates.push(tmp);
                                         }
                                         setState(idVis, JSON.stringify(updates), true);
                                      }
                                       
                                      // Skriptstart 
                                      modify(getState(idUpdates).val);
                                       
                                      //Aktualisierung bei Wertänderung
                                      on({id: idUpdates, change: 'ne'}, function(dp) {
                                         modify(dp.state.val);
                                      });
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      743
                                      Online

                                      31.8k
                                      Users

                                      80.0k
                                      Topics

                                      1.3m
                                      Posts

                                      vis
                                      3
                                      17
                                      1605
                                      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