Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorlage] Google Charts Beispiel

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    209

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

[Vorlage] Google Charts Beispiel

[Vorlage] Google Charts Beispiel

Scheduled Pinned Locked Moved Visualisierung
vis
50 Posts 11 Posters 7.8k Views 18 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    darkiop
    Most Active
    wrote on last edited by
    #5

    Coole Sache, schau ich mir heut Abend mal an!

    Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

    1 Reply Last reply
    0
    • D dtp

      Coole Sache.

      Das müsste doch in analoger Weise auch mit charts.js und dem daswetter-Adapter möglich sein, oder?

      Gruß,

      Thorsten

      MicM Offline
      MicM Offline
      Mic
      Developer
      wrote on last edited by
      #6

      @dtp sagte in [Vorlage] Google Charts Beispiel:

      Das müsste doch in analoger Weise auch mit charts.js und dem daswetter-Adapter möglich sein, oder?

      Klar, geht letztendlich mit jedem Adapter, der Daten liefert, die als Chart dargestellt werden sollen.

      1 Reply Last reply
      0
      • B Offline
        B Offline
        brain
        wrote on last edited by
        #7

        Ich habe gerade mal versucht das Skript zum Laufen zu bekommen. Irgendwo scheint was zu fehlen... Die html-Datei wird nicht erzeugt. Ich vermute, dass mir irgendwelche NPM-Module im Javascript Adapter fehlen. Welche werden denn vorausgesetzt?

        MicM 1 Reply Last reply
        0
        • MicM Mic

          Wenn man mit Google Charts entsprechende Grafiken im ioBroker VIS darstellen möchte, kommt man über ein paar Stolpersteine:

          1. HTML Basic Widget in VIS: Darin kann man theoretisch Google Charts Code einbinden. Allerdings sind dann ioBroker-Javascript-Functions wie z.B. getState() nicht verfügbar, dies kann man nur über einen Workaround lösen.

          2. Das HTML Basic Widget zeigt die Google Charts nicht oder nicht zuverlässig an.

          Ich lasse daher über ein Javascript (im Javascript-Adapter) eine HTML-Datei unter dem entsprechenden VIS-Projekt generieren und zeige diese dann im Widget basic - iFrame an. Damit läuft das super zuverlässig.

          Beispiel-Script zur Implementierung: https://github.com/Mic-M/iobroker.google-charts-example/blob/master/googleCharts.js

          Dieses einfach als neues Script im Javascript-Adapter einfügen und entsprechend anpassen.

          Ich lasse hiermit mittels dasWetter-Adapter eine 7-Tage-Grafik anzeigen.
          aaaaaaaaa.png

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          wrote on last edited by
          #8

          @Mic sagte in [Vorlage] Google Charts Beispiel:

          Ich lasse hiermit mittels dasWetter-Adapter eine 7-Tage-Grafik anzeigen.
          dasw.png

          Hi Mic!

          Ich schaffe es nicht, mir einen Hintergrund anzeigen zu lassen.
          Wie hast du das Widget dafür eingestellt?
          Edit vis (2).png

          Und Oberhalb den Tagen wird mir auch nichts angezeigt.
          vis (4).png

          Anbei noch das angepasste Script.

          /*******************************************************************************
           * Script, um mittels Google Charts einen Wetter-Graph anzuzeigen
           * ----------------------------------------------------
          * Change Log:
          *  0.1 Mic - Initial Release
          * ----------------------------------------------------
          * Autor: Mic (ioBroker-Forum) / Mic-M (Github)
          * Quelle: https://github.com/Mic-M/iobroker.google-charts-example/
          * Support: https://forum.iobroker.net/topic/22779/vorlage-google-charts-beispiel
          ******************************************************************************/
          
          
          /*******************************************************************************
          * Konfiguration
          ******************************************************************************/
          
          // Der Pfad der HTML-Datei, einfach entsprechend anpassen.
          // In VIS dann etwa folgenden Pfad im iFrame-Widget einfügen: '/vis.0/M3/googleChartWeatherGraph.html', 
          // also nur den hinteren Abschnitt ab '/vis.....'
          const FILE_PATH = '/opt/iobroker/iobroker-data/files/vis.0/googleChartWeatherGraph.html';
          
          // Schedule
          const M_SCHEDULE = '5 1 * * *'; // Um 1:05 Uhr jeden Tag
          
          
          /*******************************************************************************
          * Executed on every script start.
          *******************************************************************************/
          let mSchedule;
          main();
          function main() {
             
             // Write the file initially on script start
             writeWeatherHtml();
          
             // Update file per schedule
             clearSchedule(mSchedule);
             mSchedule = schedule(M_SCHEDULE, writeWeatherHtml);
          
          }
          
          function writeWeatherHtml() {
             // Requiring fs module in which writeFile function is defined. 
             const fs = require('fs');
             // Write data in 'Output.txt' . 
             fs.writeFile(FILE_PATH, buildHTML(), (err) => { 
                 if (err) throw err; // In case of a error throw err. 
             }) 
          }
          
          function buildHTML() {
             let html = '';
             html += '<html>\n';
             html += '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>\n';
             html += '<script type="text/javascript">\n';
             html += "google.charts.load('current', {'packages':['corechart']});\n";
             html += "google.charts.setOnLoadCallback(drawChart);\n";
             html += "function drawChart() {"; + "\n";
          
             html += "var data = new google.visualization.DataTable();\n";
             html += "data.addColumn('string', 'Temperature');\n";
             html += "data.addColumn('number', 'Minimum');\n";
             html += "data.addColumn({type: 'number', role: 'annotation'});\n";
             html += "data.addColumn('number', 'Maximum');\n";
             html += "data.addColumn({type: 'number', role: 'annotation'});\n";
             for (let i = 1; i <= 7; i++) {
                 let day = (i === 1) ? 'Heute' : getState('daswetter.0.NextDays.Location_1.Day_' + i + '.Tag_value').val.substr(0, 2);
                 let tHigh = getState('daswetter.0.NextDays.Location_1.Day_' + i + '.Maximale_Temperatur_value').val;
                 let tLow  = getState('daswetter.0.NextDays.Location_1.Day_' + i + '.Minimale_Temperatur_value').val;
                 html += "    data.addRow(['" + day + "', " + tLow + ", " + tLow + ", " + tHigh + ", " + tHigh + "]);\n";
             }
             // See: https://developers.google.com/chart/interactive/docs/gallery/linechart#configuration-options
             html += "var options = {\n";
             html += "    curveType: 'function', backgroundColor: 'transparent', pointSize: 4,\n";
             html += "    hAxis: {textStyle:{color:'white'}},\n";
             html += "    vAxis: { textPosition: 'none', textStyle:{color:'red'},\n";
             html += "    baselineColor:'transparent', gridlines:{count:0} }, legend: { position: 'none' },\n";
             html += "    annotations: { stem: { length: 5, color: 'transparent' }, textStyle: {fontSize: 10, alwaysOutside: true, bold: false} }\n";
             html += "};\n";
             html += "var chart = new google.visualization.LineChart(document.getElementById('mychart'));\n";
             html += "chart.draw(data, options);\n";
             html += "}\n";
             html += "</script>\n";
             html += '<div id="mychart" style="width: 420px; height: 210px;"></div>\n';
             html += '</html>\n';
             return html;
          }
          

          ° Node.js: 20.17.0 NPM: 10.8.2
          ° Proxmox, Ubuntu 22.04.3 LTS
          ° Fixer ---> iob fix

          MicM 1 Reply Last reply
          0
          • B brain

            Ich habe gerade mal versucht das Skript zum Laufen zu bekommen. Irgendwo scheint was zu fehlen... Die html-Datei wird nicht erzeugt. Ich vermute, dass mir irgendwelche NPM-Module im Javascript Adapter fehlen. Welche werden denn vorausgesetzt?

            MicM Offline
            MicM Offline
            Mic
            Developer
            wrote on last edited by
            #9

            @brain sagte in [Vorlage] Google Charts Beispiel:

            Ich habe gerade mal versucht das Skript zum Laufen zu bekommen. Irgendwo scheint was zu fehlen... Die html-Datei wird nicht erzeugt. Ich vermute, dass mir irgendwelche NPM-Module im Javascript Adapter fehlen. Welche werden denn vorausgesetzt?

            NPM-Module eigentlich keine, ich habe bei mir das aktiviert:
            jsa77.png

            B 1 Reply Last reply
            0
            • NegaleinN Negalein

              @Mic sagte in [Vorlage] Google Charts Beispiel:

              Ich lasse hiermit mittels dasWetter-Adapter eine 7-Tage-Grafik anzeigen.
              dasw.png

              Hi Mic!

              Ich schaffe es nicht, mir einen Hintergrund anzeigen zu lassen.
              Wie hast du das Widget dafür eingestellt?
              Edit vis (2).png

              Und Oberhalb den Tagen wird mir auch nichts angezeigt.
              vis (4).png

              Anbei noch das angepasste Script.

              /*******************************************************************************
               * Script, um mittels Google Charts einen Wetter-Graph anzuzeigen
               * ----------------------------------------------------
              * Change Log:
              *  0.1 Mic - Initial Release
              * ----------------------------------------------------
              * Autor: Mic (ioBroker-Forum) / Mic-M (Github)
              * Quelle: https://github.com/Mic-M/iobroker.google-charts-example/
              * Support: https://forum.iobroker.net/topic/22779/vorlage-google-charts-beispiel
              ******************************************************************************/
              
              
              /*******************************************************************************
              * Konfiguration
              ******************************************************************************/
              
              // Der Pfad der HTML-Datei, einfach entsprechend anpassen.
              // In VIS dann etwa folgenden Pfad im iFrame-Widget einfügen: '/vis.0/M3/googleChartWeatherGraph.html', 
              // also nur den hinteren Abschnitt ab '/vis.....'
              const FILE_PATH = '/opt/iobroker/iobroker-data/files/vis.0/googleChartWeatherGraph.html';
              
              // Schedule
              const M_SCHEDULE = '5 1 * * *'; // Um 1:05 Uhr jeden Tag
              
              
              /*******************************************************************************
              * Executed on every script start.
              *******************************************************************************/
              let mSchedule;
              main();
              function main() {
                 
                 // Write the file initially on script start
                 writeWeatherHtml();
              
                 // Update file per schedule
                 clearSchedule(mSchedule);
                 mSchedule = schedule(M_SCHEDULE, writeWeatherHtml);
              
              }
              
              function writeWeatherHtml() {
                 // Requiring fs module in which writeFile function is defined. 
                 const fs = require('fs');
                 // Write data in 'Output.txt' . 
                 fs.writeFile(FILE_PATH, buildHTML(), (err) => { 
                     if (err) throw err; // In case of a error throw err. 
                 }) 
              }
              
              function buildHTML() {
                 let html = '';
                 html += '<html>\n';
                 html += '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>\n';
                 html += '<script type="text/javascript">\n';
                 html += "google.charts.load('current', {'packages':['corechart']});\n";
                 html += "google.charts.setOnLoadCallback(drawChart);\n";
                 html += "function drawChart() {"; + "\n";
              
                 html += "var data = new google.visualization.DataTable();\n";
                 html += "data.addColumn('string', 'Temperature');\n";
                 html += "data.addColumn('number', 'Minimum');\n";
                 html += "data.addColumn({type: 'number', role: 'annotation'});\n";
                 html += "data.addColumn('number', 'Maximum');\n";
                 html += "data.addColumn({type: 'number', role: 'annotation'});\n";
                 for (let i = 1; i <= 7; i++) {
                     let day = (i === 1) ? 'Heute' : getState('daswetter.0.NextDays.Location_1.Day_' + i + '.Tag_value').val.substr(0, 2);
                     let tHigh = getState('daswetter.0.NextDays.Location_1.Day_' + i + '.Maximale_Temperatur_value').val;
                     let tLow  = getState('daswetter.0.NextDays.Location_1.Day_' + i + '.Minimale_Temperatur_value').val;
                     html += "    data.addRow(['" + day + "', " + tLow + ", " + tLow + ", " + tHigh + ", " + tHigh + "]);\n";
                 }
                 // See: https://developers.google.com/chart/interactive/docs/gallery/linechart#configuration-options
                 html += "var options = {\n";
                 html += "    curveType: 'function', backgroundColor: 'transparent', pointSize: 4,\n";
                 html += "    hAxis: {textStyle:{color:'white'}},\n";
                 html += "    vAxis: { textPosition: 'none', textStyle:{color:'red'},\n";
                 html += "    baselineColor:'transparent', gridlines:{count:0} }, legend: { position: 'none' },\n";
                 html += "    annotations: { stem: { length: 5, color: 'transparent' }, textStyle: {fontSize: 10, alwaysOutside: true, bold: false} }\n";
                 html += "};\n";
                 html += "var chart = new google.visualization.LineChart(document.getElementById('mychart'));\n";
                 html += "chart.draw(data, options);\n";
                 html += "}\n";
                 html += "</script>\n";
                 html += '<div id="mychart" style="width: 420px; height: 210px;"></div>\n';
                 html += '</html>\n';
                 return html;
              }
              
              MicM Offline
              MicM Offline
              Mic
              Developer
              wrote on last edited by Mic
              #10

              @Negalein
              Ich habe keinen Hintergrund definiert, also transparent gelassen und über einen vorhandenen Hintergrund gelegt.
              Die Wetter-Symbole sind separate Widgets Typ "basic - String img src". Hier ein Export dieser Widgets:

              [{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_1.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"358px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_2.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"397px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_3.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"436px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_4.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"476px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_5.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"515px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_6.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"554px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_7.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"594px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"}]
              
              NegaleinN 1 Reply Last reply
              0
              • MicM Mic

                @Negalein
                Ich habe keinen Hintergrund definiert, also transparent gelassen und über einen vorhandenen Hintergrund gelegt.
                Die Wetter-Symbole sind separate Widgets Typ "basic - String img src". Hier ein Export dieser Widgets:

                [{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_1.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"358px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_2.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"397px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_3.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"436px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_4.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"476px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_5.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"515px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_6.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"554px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"},{"tpl":"tplValueStringImg","data":{"oid":"daswetter.0.NextDays.Location_1.Day_7.iconURL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"300000","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-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-is-moment":false,"lc-zindex":0,"views":["popWetterHeute","pSystem"]},"style":{"left":"594px","top":"190px","width":"25px","height":"28px","z-index":11},"widgetSet":"basic"}]
                
                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                wrote on last edited by
                #11

                @Mic sagte in [Vorlage] Google Charts Beispiel:

                @Negalein
                Ich habe keinen Hintergrund definiert, also transparent gelassen und über einen vorhandenen Hintergrund gelegt.
                Die Wetter-Symbole sind separate Widgets Typ "basic - String img src". Hier ein Export dieser Widgets:

                Danke, das wars!

                Was ich noch nicht geschafft habe, dass ich das Widget auf 441x232px einstellen muss.
                Dadurch habe ich links und rechts sehr viel Rand.
                Edit vis (3).png

                Stell ich es kleiner, kommen die Scrollbalken.
                Die bekomme ich nicht weg.

                Und ich kann das Widget nur von Rechts kleiner schieben.
                Links bleibt immer der Rand.
                Edit vis (4).png

                Hast du einen Tipp?

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                MicM 1 Reply Last reply
                0
                • NegaleinN Negalein

                  @Mic sagte in [Vorlage] Google Charts Beispiel:

                  @Negalein
                  Ich habe keinen Hintergrund definiert, also transparent gelassen und über einen vorhandenen Hintergrund gelegt.
                  Die Wetter-Symbole sind separate Widgets Typ "basic - String img src". Hier ein Export dieser Widgets:

                  Danke, das wars!

                  Was ich noch nicht geschafft habe, dass ich das Widget auf 441x232px einstellen muss.
                  Dadurch habe ich links und rechts sehr viel Rand.
                  Edit vis (3).png

                  Stell ich es kleiner, kommen die Scrollbalken.
                  Die bekomme ich nicht weg.

                  Und ich kann das Widget nur von Rechts kleiner schieben.
                  Links bleibt immer der Rand.
                  Edit vis (4).png

                  Hast du einen Tipp?

                  MicM Offline
                  MicM Offline
                  Mic
                  Developer
                  wrote on last edited by
                  #12

                  @Negalein
                  Ggf. über CSS steuern. D.h. View im Browser öffnen, im Chrome F12 drücken, und damit das CSS ansehen und entsprechend versuchen, das zu verstehen und korrigieren über VIS CSS.

                  NegaleinN 1 Reply Last reply
                  0
                  • MicM Mic

                    @Negalein
                    Ggf. über CSS steuern. D.h. View im Browser öffnen, im Chrome F12 drücken, und damit das CSS ansehen und entsprechend versuchen, das zu verstehen und korrigieren über VIS CSS.

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    wrote on last edited by
                    #13

                    @Mic sagte in [Vorlage] Google Charts Beispiel:

                    @Negalein
                    Ggf. über CSS steuern. D.h. View im Browser öffnen, im Chrome F12 drücken, und damit das CSS ansehen und entsprechend versuchen, das zu verstehen und korrigieren über VIS CSS.

                    Puhhhh, CSS 😞

                    Hast du bei dir noch was spezielles eingestellt, dass es dir so passend angezeigt wird?
                    1559077500031-dasw[1].png

                    ° Node.js: 20.17.0 NPM: 10.8.2
                    ° Proxmox, Ubuntu 22.04.3 LTS
                    ° Fixer ---> iob fix

                    MicM 1 Reply Last reply
                    0
                    • NegaleinN Negalein

                      @Mic sagte in [Vorlage] Google Charts Beispiel:

                      @Negalein
                      Ggf. über CSS steuern. D.h. View im Browser öffnen, im Chrome F12 drücken, und damit das CSS ansehen und entsprechend versuchen, das zu verstehen und korrigieren über VIS CSS.

                      Puhhhh, CSS 😞

                      Hast du bei dir noch was spezielles eingestellt, dass es dir so passend angezeigt wird?
                      1559077500031-dasw[1].png

                      MicM Offline
                      MicM Offline
                      Mic
                      Developer
                      wrote on last edited by Mic
                      #14

                      @Negalein sagte in [Vorlage] Google Charts Beispiel:

                      Hast du bei dir noch was spezielles eingestellt, dass es dir so passend angezeigt wird?

                      Nein, ich habe es einfach größer gelassen. Da es transparent ist, stört mich das insgesamt nicht.

                      1 Reply Last reply
                      1
                      • MicM Mic

                        @brain sagte in [Vorlage] Google Charts Beispiel:

                        Ich habe gerade mal versucht das Skript zum Laufen zu bekommen. Irgendwo scheint was zu fehlen... Die html-Datei wird nicht erzeugt. Ich vermute, dass mir irgendwelche NPM-Module im Javascript Adapter fehlen. Welche werden denn vorausgesetzt?

                        NPM-Module eigentlich keine, ich habe bei mir das aktiviert:
                        jsa77.png

                        B Offline
                        B Offline
                        brain
                        wrote on last edited by
                        #15

                        @Mic
                        Danke. Daran scheint es aber nicht zu liegen (hatte ich davor schon so eingestellt).
                        Ich habe das Skript nochmal neu kopiert und eingefügt. Nun stürzt meine Javascript aber zumindest nicht mehr ab. Die HTML-Datei wird aber immer noch nicht erzeugt.
                        Ich habe die folgende Funktion des Codes im Verdacht. Muss das FS-Modul installiert werden oder ist das eine Standardfunktion von Javascript?

                        function writeWeatherHtml() {
                           // Requiring fs module in which writeFile function is defined. 
                           const fs = require('fs');
                           // Write data in 'Output.txt' . 
                           fs.writeFile(FILE_PATH, buildHTML(), (err) => { 
                               if (err) throw err; // In case of a error throw err. 
                           }) 
                        }
                        
                        1 Reply Last reply
                        0
                        • MicM Offline
                          MicM Offline
                          Mic
                          Developer
                          wrote on last edited by
                          #16

                          @brain
                          Gibt es denn auch wirklich das Verzeichnis bei dir, das im Script unter const FILE_PATH steht?

                          Falls ja, dann hier den Pfad ebenso korrigieren/setzen und dieses Script mal testen:

                          const FILE_PATH = '/opt/iobroker/iobroker-data/files/vis.0/M3/test.txt';
                          const fs = require('fs');
                          fs.writeFile(FILE_PATH, 'Test-text', (err) => { 
                              if (err) throw err;
                          });
                          

                          Erzeugt Datei "test.txt" im Verzeichnis "'/opt/iobroker/iobroker-data/files/vis.0/M3/", aber nur, wenn dieses Verzeichnis auch existiert.

                          B 1 Reply Last reply
                          0
                          • MicM Mic

                            @brain
                            Gibt es denn auch wirklich das Verzeichnis bei dir, das im Script unter const FILE_PATH steht?

                            Falls ja, dann hier den Pfad ebenso korrigieren/setzen und dieses Script mal testen:

                            const FILE_PATH = '/opt/iobroker/iobroker-data/files/vis.0/M3/test.txt';
                            const fs = require('fs');
                            fs.writeFile(FILE_PATH, 'Test-text', (err) => { 
                                if (err) throw err;
                            });
                            

                            Erzeugt Datei "test.txt" im Verzeichnis "'/opt/iobroker/iobroker-data/files/vis.0/M3/", aber nur, wenn dieses Verzeichnis auch existiert.

                            B Offline
                            B Offline
                            brain
                            wrote on last edited by
                            #17

                            @Mic
                            Danke für den Tipp. Die Datei liegt dort, ist nur über ioBroker selbst nicht sichtbar. Habe mich über FTP verbunden und siehe da...

                            1 Reply Last reply
                            0
                            • N Offline
                              N Offline
                              Nikoxx
                              wrote on last edited by
                              #18

                              Guten Abend,

                              danke für das Skript, funktioniert super. Nun wollte ich das gleiche nur mit einem "Donut-Diagramm" machen. Mit Google würde das gehen aber ich bekomme das Skript nicht umgebaut. Würde gerne aus verschiedenen Datenpunkten die Prozentwerte anzeigen lassen. Versuche das jetzt schon seit 2 Stunden und bevor ich noch 3 Stunden rumprobiere hab ich gedacht ich frag hier mal nach. Vieleicht kann mir ja jemand helfen, ist bestimmt keine große Sache für jemanden der Ahnung hat.

                              LG

                              1 Reply Last reply
                              0
                              • H Offline
                                H Offline
                                hopser2000
                                wrote on last edited by
                                #19

                                Hallo zusammen,

                                ich find die Idee hier super und will mir meine eigenen Charts ebenfalls zusammenbauen. Ich habe nur das Problem, dass die per JS erzeugte Datei nicht angezeigt wird. Im Filesystem wird sie angelegt. So weit alles bestens. Beim Aufruf der VIS zeigt mir die Konsole aber immer
                                "[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (chart.html, line 0)"

                                Gibt's da noch was einzustellen irgendwo??

                                MicM 1 Reply Last reply
                                0
                                • H hopser2000

                                  Hallo zusammen,

                                  ich find die Idee hier super und will mir meine eigenen Charts ebenfalls zusammenbauen. Ich habe nur das Problem, dass die per JS erzeugte Datei nicht angezeigt wird. Im Filesystem wird sie angelegt. So weit alles bestens. Beim Aufruf der VIS zeigt mir die Konsole aber immer
                                  "[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (chart.html, line 0)"

                                  Gibt's da noch was einzustellen irgendwo??

                                  MicM Offline
                                  MicM Offline
                                  Mic
                                  Developer
                                  wrote on last edited by
                                  #20

                                  @hopser2000 sagte in [Vorlage] Google Charts Beispiel:

                                  status of 404 (Not Found)

                                  Aufgrund des 404-Fehlers würde ich zunächst mal prüfen, ob der Pfad auch wirklich korrekt in VIS eingetragen wurde.

                                  H 1 Reply Last reply
                                  0
                                  • MicM Mic

                                    @hopser2000 sagte in [Vorlage] Google Charts Beispiel:

                                    status of 404 (Not Found)

                                    Aufgrund des 404-Fehlers würde ich zunächst mal prüfen, ob der Pfad auch wirklich korrekt in VIS eingetragen wurde.

                                    H Offline
                                    H Offline
                                    hopser2000
                                    wrote on last edited by hopser2000
                                    #21

                                    @Mic Ja der passt. Wenn ich die durch das JS generierte Datei an die gleiche Stelle Hochlade, dann zeigt er sie in der VIS auch an. Das JS schreibt die Änderungen auch in das File rein, aber diese Änderungen werden dann nicht in der VIS angezeigt (auch nicht nach reload und cache löschen etc).

                                    Wie mache ich denn generell Verzeichnisse / Dateien "sichtbar" für die VIS? Gibt's da was, wo ich was einstellen kann/muss?

                                    MicM 1 Reply Last reply
                                    0
                                    • H hopser2000

                                      @Mic Ja der passt. Wenn ich die durch das JS generierte Datei an die gleiche Stelle Hochlade, dann zeigt er sie in der VIS auch an. Das JS schreibt die Änderungen auch in das File rein, aber diese Änderungen werden dann nicht in der VIS angezeigt (auch nicht nach reload und cache löschen etc).

                                      Wie mache ich denn generell Verzeichnisse / Dateien "sichtbar" für die VIS? Gibt's da was, wo ich was einstellen kann/muss?

                                      MicM Offline
                                      MicM Offline
                                      Mic
                                      Developer
                                      wrote on last edited by
                                      #22

                                      @hopser2000 sagte in [Vorlage] Google Charts Beispiel:

                                      diese Änderungen werden dann nicht in der VIS angezeigt (auch nicht nach reload und cache löschen etc).

                                      Nimmst du das Widget "basic - iFrame"? Bei "Updatezeit (ms)" habe ich übrigens 3600000 - also alle 60 Minuten, was für meinen Anwendungszweck reicht.

                                      1 Reply Last reply
                                      0
                                      • H Offline
                                        H Offline
                                        hopser2000
                                        wrote on last edited by
                                        #23

                                        Ja genau, verwende das Basic-iFrame Widget.

                                        1 Reply Last reply
                                        0
                                        • MicM Offline
                                          MicM Offline
                                          Mic
                                          Developer
                                          wrote on last edited by
                                          #24

                                          zu den Zugriffsrechten etc. in VIS kann ich leider nicht wirklich helfen, ggf. machst du am besten einen neuen Thread diesbezüglich auf, falls hier keine weitere Hilfe kommt.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          105

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe