Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Visualisierung
  4. Diagramm mehrerer Datenpunkte ohne History

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    371

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    327

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    945

Diagramm mehrerer Datenpunkte ohne History

Geplant Angeheftet Gesperrt Verschoben Visualisierung
visflot adapter
45 Beiträge 6 Kommentatoren 3.2k Aufrufe 5 Beobachtet
  • Ä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.
  • paul53P paul53

    @Negalein 40 Zeilen ?

    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #30

    @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

    ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
    ° Node.js Fixer ---> iob nodejs-update
    ° Fixer ---> iob fix

    paul53P 1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      dtp
      schrieb am zuletzt editiert von dtp
      #31

      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?

      ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

      NegaleinN 1 Antwort Letzte Antwort
      0
      • D 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?

        NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        schrieb am zuletzt editiert von
        #32

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

        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
        ° Node.js Fixer ---> iob nodejs-update
        ° Fixer ---> iob fix

        1 Antwort Letzte Antwort
        0
        • NegaleinN Negalein

          @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

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #33

          @Negalein sagte:

          So zB hätte ich gedacht

          Versuche es mal so (nicht getestet)

          var path    = "daswetter.0.NextDaysDetailed.Location_1.Day_"; // 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',
            role: 'json'
          });
          
          function wetter() {
             var list = [];
             for(let i = 0; i < 20; i++) {
                var j = i % 4;
                var sensor = 'temp_value';
                var unit = '°C';
                if(j == 1) {
          	     sensor = 'humidity_value';
          	     unit = '%rH';
                } 
                else if(j == 2) {
          	     sensor = 'rain_value';
          	     unit = 'mm';
                }		 
                else if(j == 3) {
          	     sensor = 'wind_value';
                       unit = 'km/h';
                }		 
                var day = Math.floor(i / 4);
                var tage = ['Heute','Morgen','Tag 2','Tag 3','Tag 4']
                list[i] = {};
                if(j == 0) list[i].Tag = tage[day];
                list[i].Sensor = unit;
                day = day + 1;
                list[i]['02:00'] = getState(path + day + '.Hour_1.' + sensor).val;
                list[i]['05:00'] = getState(path + day + '.Hour_2.' + sensor).val;
                list[i]['08:00'] = getState(path + day + '.Hour_3.' + sensor).val;
                list[i]['11:00'] = getState(path + day + '.Hour_4.' + sensor).val;
                list[i]['14:00'] = getState(path + day + '.Hour_5.' + sensor).val;
                list[i]['17:00'] = getState(path + day + '.Hour_6.' + sensor).val;
                list[i]['20:00'] = getState(path + day + '.Hour_7.' + sensor).val;
                list[i]['23:00'] = getState(path + day + '.Hour_8.' + sensor).val;
             }   
             var json = JSON.stringify(list);
             // log(json);
             setState(idTable, json, true);
          }
          
          // Trigger
          schedule('10 */15 * * * *', wetter);
          
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          NegaleinN 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @Negalein sagte:

            So zB hätte ich gedacht

            Versuche es mal so (nicht getestet)

            var path    = "daswetter.0.NextDaysDetailed.Location_1.Day_"; // 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',
              role: 'json'
            });
            
            function wetter() {
               var list = [];
               for(let i = 0; i < 20; i++) {
                  var j = i % 4;
                  var sensor = 'temp_value';
                  var unit = '°C';
                  if(j == 1) {
            	     sensor = 'humidity_value';
            	     unit = '%rH';
                  } 
                  else if(j == 2) {
            	     sensor = 'rain_value';
            	     unit = 'mm';
                  }		 
                  else if(j == 3) {
            	     sensor = 'wind_value';
                         unit = 'km/h';
                  }		 
                  var day = Math.floor(i / 4);
                  var tage = ['Heute','Morgen','Tag 2','Tag 3','Tag 4']
                  list[i] = {};
                  if(j == 0) list[i].Tag = tage[day];
                  list[i].Sensor = unit;
                  day = day + 1;
                  list[i]['02:00'] = getState(path + day + '.Hour_1.' + sensor).val;
                  list[i]['05:00'] = getState(path + day + '.Hour_2.' + sensor).val;
                  list[i]['08:00'] = getState(path + day + '.Hour_3.' + sensor).val;
                  list[i]['11:00'] = getState(path + day + '.Hour_4.' + sensor).val;
                  list[i]['14:00'] = getState(path + day + '.Hour_5.' + sensor).val;
                  list[i]['17:00'] = getState(path + day + '.Hour_6.' + sensor).val;
                  list[i]['20:00'] = getState(path + day + '.Hour_7.' + sensor).val;
                  list[i]['23:00'] = getState(path + day + '.Hour_8.' + sensor).val;
               }   
               var json = JSON.stringify(list);
               // log(json);
               setState(idTable, json, true);
            }
            
            // Trigger
            schedule('10 */15 * * * *', wetter);
            
            
            NegaleinN Offline
            NegaleinN Offline
            Negalein
            Global Moderator
            schrieb am zuletzt editiert von
            #34

            @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

            @Negalein sagte:

            So zB hätte ich gedacht

            Versuche es mal so (nicht getestet)

            Funktioniert leider nicht.
            Aber egal. Ich versuchs irgendwie grafisch umzusetzen.

            Danke
            Edit vis (2).png

            ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
            ° Node.js Fixer ---> iob nodejs-update
            ° Fixer ---> iob fix

            paul53P 1 Antwort Letzte Antwort
            0
            • NegaleinN Negalein

              @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

              @Negalein sagte:

              So zB hätte ich gedacht

              Versuche es mal so (nicht getestet)

              Funktioniert leider nicht.
              Aber egal. Ich versuchs irgendwie grafisch umzusetzen.

              Danke
              Edit vis (2).png

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #35

              @Negalein
              Ändere mal

                    if(j == 0) list[i].Tag = tage[day];
              

              in

                    if(j == 0) list[i].Tag = tage[day];
                    else list[i].Tag = '';
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              sigi234S 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @Negalein
                Ändere mal

                      if(j == 0) list[i].Tag = tage[day];
                

                in

                      if(j == 0) list[i].Tag = tage[day];
                      else list[i].Tag = '';
                
                sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                schrieb am zuletzt editiert von sigi234
                #36

                @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

                @Negalein
                Ändere mal

                      if(j == 0) list[i].Tag = tage[day];
                

                in

                      if(j == 0) list[i].Tag = tage[day];
                      else list[i].Tag = '';
                

                Schaut bei mir so aus:

                Screenshot (3913).png

                Edit:

                Screenshot (3915).png

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                paul53P 1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  dtp
                  schrieb am zuletzt editiert von
                  #37

                  Also das finde ich aber ehrlich gesagt alles andere, als übersichtlich. Da würde ich lieber bei der Ansicht aus meinem Ausgangsposting bleiben.

                  Eigentlich schwebte mir eher sowas vor:

                  2019-08-22_16h58_31.png

                  ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                  NegaleinN 1 Antwort Letzte Antwort
                  0
                  • sigi234S sigi234

                    @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

                    @Negalein
                    Ändere mal

                          if(j == 0) list[i].Tag = tage[day];
                    

                    in

                          if(j == 0) list[i].Tag = tage[day];
                          else list[i].Tag = '';
                    

                    Schaut bei mir so aus:

                    Screenshot (3913).png

                    Edit:

                    Screenshot (3915).png

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #38

                    @sigi234 sagte:

                    Edit:

                    Passt doch zur Excel-Tabelle von @Negalein.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    sigi234S 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @sigi234 sagte:

                      Edit:

                      Passt doch zur Excel-Tabelle von @Negalein.

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #39

                      @paul53 sagte in Diagramm mehrerer Datenpunkte ohne History:

                      @sigi234 sagte:

                      Edit:

                      Passt doch zur Excel-Tabelle von @Negalein.

                      Ja sag ich eh...........👍

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      1 Antwort Letzte Antwort
                      0
                      • D dtp

                        Also das finde ich aber ehrlich gesagt alles andere, als übersichtlich. Da würde ich lieber bei der Ansicht aus meinem Ausgangsposting bleiben.

                        Eigentlich schwebte mir eher sowas vor:

                        2019-08-22_16h58_31.png

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #40

                        @dtp sagte in Diagramm mehrerer Datenpunkte ohne History:

                        Eigentlich schwebte mir eher sowas vor:

                        2019-08-22_16h58_31.png

                        Mir auch!
                        Eventuell wird es ja noch was! :)

                        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                        ° Node.js Fixer ---> iob nodejs-update
                        ° Fixer ---> iob fix

                        1 Antwort Letzte Antwort
                        0
                        • D dtp

                          Oh, hab da was gefunden. Klick!

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #41

                          @dtp sagte:

                          Oh, hab da was gefunden. Klick!

                          Bist Du damit nicht weiter gekommen ?

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          S 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @dtp sagte:

                            Oh, hab da was gefunden. Klick!

                            Bist Du damit nicht weiter gekommen ?

                            S Offline
                            S Offline
                            Streit187
                            schrieb am zuletzt editiert von
                            #42

                            @paul53 Darf ich dieses, zugegeben sehr altes Thema noch einmal aufwärmen?
                            Ich habe jetzt das ganz Internet durch aber scheinbar gibt es keine Möglichkeit die von deinem Skript ausgegebenen Daten in einem einfachen Graphen darzustellen so wie in dem angehängten Bild.
                            Ich kann das einfach nicht glauben. graph.JPG

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • S Streit187

                              @paul53 Darf ich dieses, zugegeben sehr altes Thema noch einmal aufwärmen?
                              Ich habe jetzt das ganz Internet durch aber scheinbar gibt es keine Möglichkeit die von deinem Skript ausgegebenen Daten in einem einfachen Graphen darzustellen so wie in dem angehängten Bild.
                              Ich kann das einfach nicht glauben. graph.JPG

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #43

                              @streit187 sagte: keine Möglichkeit die von deinem Skript ausgegebenen Daten in einem einfachen Graphen darzustellen so wie in dem angehängten Bild.

                              Mit der Darstellung von Graphen kenne ich mich nicht aus (außer Flot in Verbindung mit History).

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              S 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @streit187 sagte: keine Möglichkeit die von deinem Skript ausgegebenen Daten in einem einfachen Graphen darzustellen so wie in dem angehängten Bild.

                                Mit der Darstellung von Graphen kenne ich mich nicht aus (außer Flot in Verbindung mit History).

                                S Offline
                                S Offline
                                Streit187
                                schrieb am zuletzt editiert von
                                #44

                                @paul53 Mit Flot und History komme ich auch gut zurecht.
                                Aber es handelt sich ja um JSON Daten und ich habe nun das hier gefunden: https://github.com/Scrounger/ioBroker.vis-materialdesign#json-chart
                                Damit sollte es eigentlich sehr gut funktionieren aber mir fehlt leider hier auch das KnowHow diese Daten nun in dieses Chart zu bekommen. Vielleicht findet sich ja hier noch jemand mit den entsprechenden Fähigkeiten.
                                Das ganz ist nämlich auf jeden Fall für jeden Besitzer ein PV Anlage interessant da komplett kostenlos.

                                S 1 Antwort Letzte Antwort
                                0
                                • S Streit187

                                  @paul53 Mit Flot und History komme ich auch gut zurecht.
                                  Aber es handelt sich ja um JSON Daten und ich habe nun das hier gefunden: https://github.com/Scrounger/ioBroker.vis-materialdesign#json-chart
                                  Damit sollte es eigentlich sehr gut funktionieren aber mir fehlt leider hier auch das KnowHow diese Daten nun in dieses Chart zu bekommen. Vielleicht findet sich ja hier noch jemand mit den entsprechenden Fähigkeiten.
                                  Das ganz ist nämlich auf jeden Fall für jeden Besitzer ein PV Anlage interessant da komplett kostenlos.

                                  S Offline
                                  S Offline
                                  Streit187
                                  schrieb am zuletzt editiert von
                                  #45

                                  @paul53
                                  Ich hab es geschafft. Mit deiner Hilfe könnten wir das Thema jetzt schließen. Könntest du dein Skript wie folgt anpassen:

                                  Neuen Datenpunkt anlegen:
                                  in: 0_userdata.0/Solar/Energie
                                  Name: Energie
                                  Rolle: table
                                  Art: Objekt
                                  Typ: State
                                  Wert: Die Response der bekannten URL in dieser Form:
                                  { "axisLabels": ["8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"],
                                  "graphs": <erster Wert>
                                  z.B.: [{"data": [0, 0.01, 0.588, 1.392, 1.484, 1.1, 1.05, 0.95, 0.7, 0.22, 0, 0, 0.02, 0.45, 0.82, 0.98, 1.1, 1.05, 0.95, 0.7, 0.22, 0],
                                  "type": "line",
                                  "yAxis_min": 0,
                                  "yAxis_max": 10,
                                  "yAxis_step": 1,
                                  "yAxis_position": "left",
                                  "yAxis_appendix": " kW",
                                  "datalabel_show": false}]}

                                  Neuen Datenpunkt anlegen:
                                  in: 0_userdata.0/Solar/Leistung
                                  Name: Leistung
                                  Rolle: table
                                  Art: Objekt
                                  Typ: State
                                  Wert: Die Response der bekannten URL in dieser Form:
                                  { "axisLabels": ["8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"],
                                  "graphs": <zweiter Wert>,
                                  "type": "line",
                                  "yAxis_min": 0,
                                  "yAxis_max": 10,
                                  "yAxis_step": 1,
                                  "yAxis_position": "left",
                                  "yAxis_appendix": " kW",
                                  "datalabel_show": false}]}

                                  Diesen Datenpunkt dann einfach nur noch im JSON Chart vom Material Design Widget Adapter auswählen und fertig.
                                  Das wäre großartig.

                                  1 Antwort Letzte Antwort
                                  0

                                  Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                  Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                  Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                  Registrieren Anmelden
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  392

                                  Online

                                  32.8k

                                  Benutzer

                                  82.8k

                                  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