Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Diagramm mehrerer Datenpunkte ohne History

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Diagramm mehrerer Datenpunkte ohne History

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

      Ist Version 4.1.14.

      Hab den Fehler gefunden. Ich habe den Parameter "role: 'value'" entfernt. Nun geht's. Danke.

      sigi234 1 Reply Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active @dtp last edited by

        @dtp sagte in Diagramm mehrerer Datenpunkte ohne History:

        Ist Version 4.1.14.

        Hab den Fehler gefunden. Ich habe den Parameter "role: 'value'" entfernt. Nun geht's. Danke.

        Hallo, bekomme auch keine Daten.................muss ich im Skript was anpassen?

        D 1 Reply Last reply Reply Quote 0
        • D
          dtp @sigi234 last edited by dtp

          @sigi234

          Versuch's mal so:

          var path          = "daswetter.0.NextDaysDetailed.Location_1."; // Pfad der Datenpunkte
          var idTimes       = "vis.dasWetter.Times"; // Pfad des Datenpunkts für die Vorhersagezeitpunkte
          var idTempVals    = "vis.dasWetter.TempVals"; // Pfad des Datenpunkts für die vorhergesagten Temperaturwerte
          var idHumVals     = "vis.dasWetter.HumVals"; // Pfad des Datenpunkts für die vorhergesagten Luftfeuchtewerte
          var idRainVals    = "vis.dasWetter.RainVals"; // Pfad des Datenpunkts für die vorhergesagten Niederschlagswerte
          var idWindMinVals = "vis.dasWetter.WindMinVals"; // Pfad des Datenpunkts für die vorhergesagten Windgeschwindigkeitswerte
          var idWindMaxVals = "vis.dasWetter.WindMaxVals"; // Pfad des Datenpunkts für die vorhergesagten Windgeschwindigkeitswerte
          
          var times = [], tempVals = [], humVals = [], rainVals = [], windMinVals = [], windMaxVals =[];
          
          // Datenpunkte anlegen
          createState(idTimes, "", {
            name: 'Zeitpunkte der Wettervorhersagewerte',
            type: 'array',
            unit: ''
          });
          
          createState(idTempVals, "", {
            name: 'Vorhersagewerte Temperatur',
            type: 'array',
            unit: ''
          });
          
          createState(idHumVals, "", {
            name: 'Vorhersagewerte Luftfeuchte',
            type: 'array',
            unit: ''
          });
          
          createState(idRainVals, "", {
            name: 'Vorhersagewerte Niederschlag',
            type: 'array',
            unit: ''
          });
          
          createState(idWindMinVals, "", {
            name: 'Vorhersagewerte minimale Windgeschwindigkeit',
            type: 'array',
            unit: ''
          });
          
          createState(idWindMaxVals, "", {
            name: 'Vorhersagewerte maximale Windgeschwindigkeit',
            type: 'array',
            unit: ''
          });
          
          function wetter(){
            for(let dayCnt = 0; dayCnt < 5; dayCnt++){
              for(let hourCnt = 0; hourCnt < 8; hourCnt++){
                times[(dayCnt*8)+hourCnt] = getState(path+'Day_'+(dayCnt+1)+'.day_name').val+' '+getState(path+'Day_'+(dayCnt+1)+'.Hour_'+(hourCnt+1)+'.hour_value').val;
                tempVals[(dayCnt*8)+hourCnt] = getState(path+'Day_'+(dayCnt+1)+'.Hour_'+(hourCnt+1)+'.temp_value').val;
                humVals[(dayCnt*8)+hourCnt] = getState(path+'Day_'+(dayCnt+1)+'.Hour_'+(hourCnt+1)+'.humidity_value').val;
                rainVals[(dayCnt*8)+hourCnt] = getState(path+'Day_'+(dayCnt+1)+'.Hour_'+(hourCnt+1)+'.rain_value').val;
                windMinVals[(dayCnt*8)+hourCnt] = getState(path+'Day_'+(dayCnt+1)+'.Hour_'+(hourCnt+1)+'.wind_value').val;
                windMaxVals[(dayCnt*8)+hourCnt] = getState(path+'Day_'+(dayCnt+1)+'.Hour_'+(hourCnt+1)+'.windgusts_value').val;
              }
            } 
            setState(idTimes, {val: times}); setState(idTempVals, {val: tempVals}); setState(idHumVals, {val: humVals}); setState(idRainVals, {val: rainVals}); setState(idWindMinVals, {val: windMinVals}); setState(idWindMaxVals, {val: windMaxVals});
          }
          
          // Trigger
          schedule('10 */15 * * * *', wetter);
          

          Aber vorher musst du die bereits angelegten Datenpunkte unter "javascript.0.vis.dasWetter" wieder löschen.

          Ich weiß aber im Moment noch nicht, wie ich sie dann mit charts.js angezeigt bekomme. Habe aber mal einen entsprechenden Adapter-Request gestellt.

          Gruß,

          Thorsten

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @dtp last edited by

            @dtp
            Welchen Sinn macht unit: '' bei einem Array ?

            sigi234 1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @paul53 last edited by sigi234

              @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

              @dtp
              Welchen Sinn macht unit: '' bei einem Array ?

              Ja, Skript geht nicht, es kommen keine Daten. Soll ich unit löschen?

              Edit: Daten sind jetzt da............

              Übrigens Table geht auch:

              Screenshot (3908).png

              Wie bekomme ich eigentlich bei Zeit h und bei den anderen °C mit angezeigt?

              Bei unit einfach eintragen?

              Negalein paul53 2 Replies Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @sigi234 last edited by

                @sigi234 sagte in Diagramm mehrerer Datenpunkte ohne History:

                Übrigens Table geht auch:

                Screenshot (3908).png

                Wie funktioniert das mit der Tabelle?
                Ich kann da nur 1 DP auswählen.

                Könntest du mir den Export deiner Tabelle (Widget) schicken, damit ich mir das ansehen kann?

                sigi234 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @sigi234 last edited by

                  @sigi234 sagte:

                  Wie bekomme ich eigentlich bei Zeit h und bei den anderen °C mit angezeigt?
                  Bei unit einfach eintragen?

                  Nein, das funktioniert nur mit Zahlen - nicht mit einem Array. Es wird das angezeigt, was im Array enthalten ist. Wenn °C angezeigt werden soll, dann müssen Strings mit °C in das Array geschrieben werden.

                        tempVals[(dayCnt*8)+hourCnt] = getState(path+'Day_'+(dayCnt+1)+'.Hour_'+(hourCnt+1)+'.temp_value').val + ' °C';
                  
                  1 Reply Last reply Reply Quote 0
                  • sigi234
                    sigi234 Forum Testing Most Active @Negalein last edited by

                    @Negalein sagte in Diagramm mehrerer Datenpunkte ohne History:

                    @sigi234 sagte in Diagramm mehrerer Datenpunkte ohne History:

                    Übrigens Table geht auch:

                    Screenshot (3908).png

                    Wie funktioniert das mit der Tabelle?
                    Ich kann da nur 1 DP auswählen.

                    Könntest du mir den Export deiner Tabelle (Widget) schicken, damit ich mir das ansehen kann?

                    [{"tpl":"tplTableBody","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","static_value":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"table_oid":"javascript.0.vis.dasWetterTable","max_rows":"8","colCount":"6","new_on_top":true,"colWidth1":"60px","colWidth2":"60px","colWidth3":"60px","colWidth4":"60px","colName2":"","colWidth5":"60px","colWidth6":"60px","class":""},"style":{"left":"32px","top":"320px","width":"571px","height":"204px","z-index":"5","text-align":"center","font-size":"medium","color":"","background-color":"","background":""},"widgetSet":"basic"}]
                    
                    Negalein 1 Reply Last reply Reply Quote 1
                    • Negalein
                      Negalein Global Moderator @sigi234 last edited by

                      @sigi234 sagte in Diagramm mehrerer Datenpunkte ohne History:

                      [{"tpl":"tplTableBody","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","static_value":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"table_oid":"javascript.0.vis.dasWetterTable","max_rows":"8","colCount":"6","new_on_top":true,"colWidth1":"60px","colWidth2":"60px","colWidth3":"60px","colWidth4":"60px","colName2":"","colWidth5":"60px","colWidth6":"60px","class":""},"style":{"left":"32px","top":"320px","width":"571px","height":"204px","z-index":"5","text-align":"center","font-size":"medium","color":"","background-color":"","background":""},"widgetSet":"basic"}]
                      

                      Funktioniert nicht bei mir.

                      Ich hab keinen DP javascript.0.vis.dasWetterTable

                      Edit vis.png
                      Edit vis (1).png

                      sigi234 1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @Negalein last edited by sigi234

                        @Negalein sagte in Diagramm mehrerer Datenpunkte ohne History:

                        @sigi234 sagte in Diagramm mehrerer Datenpunkte ohne History:

                        Funktioniert nicht bei mir.

                        Ich hab keinen DP javascript.0.vis.dasWetterTable

                        Du brauchst das Skript von @paul53

                        var path    = "daswetter.0.NextDaysDetailed.Location_1."; // Pfad der String-Datenpunkte aus "list"
                        var idTable = "vis.dasWetterTable"; // Pfad des Datenpunkts für das vis-Json
                        
                        // Datenpunkte anlegen
                        createState(idTable, "", {
                          name: idTable,
                          desc: 'Tabelle der Vorhersagewerte aus daswetter.com als Json-Objekt',
                          type: 'string',
                          unit: '',
                          role: 'value'
                        });
                        
                        function wetter() {
                           var list = [];
                           for(let i = 0; i < 8; i++) {
                              list[i] = {};
                              list[i].Zeit = getState(path + 'Day_1.Hour_' + (i + 1) + '.hour_value').val;
                              list[i].Heute = getState(path + 'Day_1.Hour_' + (i + 1) + '.temp_value').val;
                              list[i].Morgen = getState(path + 'Day_2.Hour_' + (i + 1) + '.temp_value').val;
                              list[i].Tag_2 = getState(path + 'Day_3.Hour_' + (i + 1) + '.temp_value').val;
                              list[i].Tag_3 = getState(path + 'Day_4.Hour_' + (i + 1) + '.temp_value').val;
                              list[i].Tag_4 = getState(path + 'Day_5.Hour_' + (i + 1) + '.temp_value').val;
                           }   
                           var json = JSON.stringify(list);
                           // log(json);
                           setState(idTable, json, true);
                        }
                        
                        // Trigger
                        schedule('10 */15 * * * *', wetter);
                        
                        Negalein 1 Reply Last reply Reply Quote 1
                        • Negalein
                          Negalein Global Moderator @sigi234 last edited by

                          @sigi234

                          Danke!
                          Ich hatte das von @dtp

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

                            @sigi234

                            Hast du die Zeile für die Einheiten (°C, km/h, %, mm) schon eingefügt?
                            Wo gehört das im Script von @paul53 eingetragen?

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Negalein last edited by paul53

                              @Negalein sagte:

                              Wo gehört das im Script von @paul53 eingetragen?

                              Das Skript liefert nur die Temperaturwerte. Mit °C:

                                    list[i].Heute = getState(path + 'Day_1.Hour_' + (i + 1) + '.temp_value').val + ' °C';
                                    list[i].Morgen = getState(path + 'Day_2.Hour_' + (i + 1) + '.temp_value').val + ' °C';
                                    list[i].Tag_2 = getState(path + 'Day_3.Hour_' + (i + 1) + '.temp_value').val + ' °C';
                                    list[i].Tag_3 = getState(path + 'Day_4.Hour_' + (i + 1) + '.temp_value').val + ' °C';
                                    list[i].Tag_4 = getState(path + 'Day_5.Hour_' + (i + 1) + '.temp_value').val + ' °C';
                              
                              Negalein 1 Reply Last reply Reply Quote 0
                              • Negalein
                                Negalein Global Moderator @paul53 last edited by

                                @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

                                @Negalein sagte:

                                Wo gehört das im Script von @paul53 eingetragen?

                                Das Skript liefert nur die Temperaturwerte. Mit °C:

                                Könnte man das auf die anderen Werte noch erweitern?

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Negalein last edited by

                                  @Negalein sagte:

                                  Könnte man das auf die anderen Werte noch erweitern?

                                  Wie soll die Tabelle dann aussehen ? Oder mehrere Tabellen ?

                                  Negalein 1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @paul53 last edited by Negalein

                                    @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

                                    @Negalein sagte:

                                    Könnte man das auf die anderen Werte noch erweitern?

                                    Wie soll die Tabelle dann aussehen ? Oder mehrere Tabellen ?

                                    So wie die Tabelle von @dtp ungefähr
                                    Beispiel

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Negalein last edited by

                                      @Negalein 40 Zeilen ?

                                      Negalein 1 Reply Last reply Reply Quote 0
                                      • Negalein
                                        Negalein Global Moderator @paul53 last edited by

                                        @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

                                        @Negalein 40 Zeilen ?

                                        So zB hätte ich gedacht
                                        Screenshot 2019-08-22 14.10.17.png

                                        paul53 1 Reply Last reply Reply Quote 0
                                        • D
                                          dtp last edited by dtp

                                          Hier gingen jetzt zwei Sachen durcheinander. Zum Einen das Skript von @paul53 zur Erstellung einer JSON-Tabelle und dann meine Version, die die Grundlage für charts.js bilden sollte. Das sollten wir vielleicht klarer trennen.

                                          Mir ging es in erster Linie um eine grafische Darstellung der Vorhersagewerte. Eine JSON-Tabelle ist da ggf. nicht so zielführend, zumal man die Werte ja auch problemlos einzeln mit entsprechenden Widgets als Tabelle darstellen kann.

                                          @paul53: hab die Units aus den Array-Datenpunkten ebenfalls entfernt. Danke für den Hinweis.

                                          Hab mir nun mal charts.js mit

                                          npm install chart.js --save
                                          

                                          installiert. Unter node_modules befinden sich auch die entsprechenden charts.js-Verzeichnisse. Doch nun stocke ich bei der Erstellung des entsprechenden Skripts mit

                                          require(['chart.js/dist/Chart.js'], function(Chart){
                                            var myChart = new Chart(ctx, {...});
                                          });
                                          

                                          Wie und wo zeige ich die entsprechenden Daten an? Jemand eine Idee?

                                          Negalein 1 Reply Last reply Reply Quote 0
                                          • Negalein
                                            Negalein Global Moderator @dtp last edited by

                                            @dtp sagte in Diagramm mehrerer Datenpunkte ohne History:

                                            Mir ging es in erster Linie um eine grafische Darstellung der Vorhersagewerte.

                                            Ja, das möchte ich auch!
                                            Mit dem Script von @paul53 funktioniert das leider nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            907
                                            Online

                                            32.1k
                                            Users

                                            80.6k
                                            Topics

                                            1.3m
                                            Posts

                                            flot adapter vis
                                            6
                                            45
                                            2886
                                            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