Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MikeRow @ThomKast last edited by

      Hallo @ThomKast, wir wechseln zum 1.2.23 zu Tibber. Pulse habe ich schon installiert. Ich werde deine Lösung mal in den nächsten Tagen installieren und testen. Sieht sehr erfolgsversprechend aus!!

      Gruß Mikerow

      T 2 Replies Last reply Reply Quote 0
      • T
        ThomKast @MikeRow last edited by

        @mikerow Dann viel Erfolg Mike 👍.
        Habe über Deinen Verlauf gerade die Informationen zum neuen tibber/pulse Adapter gefunden. Das schaue ich mir mal genauer an. Da sind ja auch schon fertige Views realisiert. Gut zu wissen 😉.

        M 1 Reply Last reply Reply Quote 0
        • M
          MikeRow @ThomKast last edited by

          @thomkast Hi, ja es gibt einen alten und neuen Tibber Adapter.

          Für den alten Adapter (wird wohl nicht weiterentwickelt) gibt es einen brauchbaren JSON Chart.

          16c08f01-c5ee-45e1-889f-ed9e11f2b39e-image.png


          var myName = "tibber.createchartdata";

          var logOn = false; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
          var forceCreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)

          var tibberPricesToday = "tibber.0.priceInfo.today."; // mit . am Ende!
          var tibberPricesTomorrow = "tibber.0.priceInfo.tomorrow."; // mit . am Ende!

          var tibberStartsAt = "startsAt";
          var tibberTotal = "total";

          // Datenpunkte anlegen:
          // -----------------------------------------------------------------------------
          var idChartData = "tibber.prices.chartData"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idChartData, '[{"label":"15","value":"25.2","dataColor":"#ffffff"},{"label":"16","value":"28.8","dataColor":"#ffffff"},{"label":"17","value":3"5.2","dataColor":"#ffffff"},{"label":"18","value":"33.2","dataColor":"#ffffff"},{"label":"19","value":"20.2","dataColor":"#ffffff"}]', forceCreation, {
          name: 'Chart-Data Price Forecast',
          desc: 'Chart-Data Price Forecast',
          type: 'string',
          role: 'value'
          });

          // Datenpunkte anlegen:
          // -----------------------------------------------------------------------------
          var idBarChartData = "tibber.prices.barChartData"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idBarChartData, '[{"label":"15","value":"25.2","dataColor":"#ffffff"},{"label":"16","value":"28.8","dataColor":"#ffffff"},{"label":"17","value":3"5.2","dataColor":"#ffffff"},{"label":"18","value":"33.2","dataColor":"#ffffff"},{"label":"19","value":"20.2","dataColor":"#ffffff"}]', forceCreation, {
          name: 'Bar Chart-Data Price Forecast',
          desc: 'Bar Chart-Data Price Forecast',
          type: 'string',
          role: 'value'
          });

          createBarChartData();

          // Cron-Job, zum Stundenwechsel
          // Stundenwechsel, Ausführen immer um *:00:10
          schedule('10 0 * * * *', function () {createBarChartData()});

          function createBarChartData () {
          if(logOn) console.log(myName + " Stundenwechsel");

          let barChart = [];
          
          var jetzt = new Date(Date.now());
          var aktStunde = jetzt.getHours();
          var unixTimestamp=new Date().getTime();
          
          // bis zu 18 Stunden in die Zukunft
          const offsets=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18];
          
          for (let offset of offsets)
          {
              // Template Objekt für BarChart erzeugen
              let itemData ={label:"", value:0.0, dataColor: "#c2c2c2", valueColor: "#dddddd"}; //, valueAppendix: "", valueColor: #ffffff"
          
              // Vorbereitung um Werte aus Tibber Adapter zu holen         
              var prefix="";
              aktStunde=jetzt.getHours()+offset;
              if (aktStunde>23)
              {
                  aktStunde=aktStunde-24;
                  prefix=tibberPricesTomorrow;
              }
              else
              {
                  prefix=tibberPricesToday;
              }
          
              var strStunde = ("0" + aktStunde.toString()).slice(-2);
              itemData['label']=strStunde;
          
              prefix=prefix+strStunde+'.';
          
              var aktPrice=getState(prefix+tibberTotal).val;
          
              // falls keine Daten vorliegen, weiter ohne diese ItemData an das Chart-Objekt anzuhängen
              if (aktPrice==null && aktStunde>=0)
                  continue;
          
              // von 0.2345 € auf Cent mit einer Nachkomma-Stelle umrechnen
              itemData['value']=Math.round(aktPrice*1000)/10.0;
          
              // Je nach Preis den Balken einfärben
              if (aktPrice<0.30)
                  itemData['dataColor']="green";
              else
              if (aktPrice<0.40)
                  itemData['dataColor']="yellow";
              else
              if (aktPrice<0.50)
                  itemData['dataColor']="orange";
              else
              if (aktPrice<0.60)
                  itemData['dataColor']="red";
              else
                  itemData['dataColor']="magenta";
          
              // Daten für diese Stunde dem Objekt zufügen
              barChart.push(itemData);
          }
          
          // fertiges Objekt in den Datenpunkt als JSON schreiben
          setState("javascript."+instance+"."+idBarChartData, JSON.stringify(barChart), true);
          

          };

          function createChartData () {
          if(logOn) console.log(myName + " Stundenwechsel");

          let chart = {};
          let axisLabels =[];
          let values =[];
          let datalabels =[];
          
          var jetzt = new Date(Date.now());
          var aktStunde = jetzt.getHours();
          var unixTimestamp=new Date().getTime();
          
          const offsets=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18];
          
          // Spaltenbeschriftungen
          
          //chart.graphs[0].axisLables=axisLabels;
          chart.graphs=new Array();
          chart.graphs.push({});
          chart.graphs[0].color="green";
          chart.graphs[0].type="bar";
          chart.graphs[0].datalabel_rotation=-90;
          chart.graphs[0].datalabel_color="lightgreen";
          chart.graphs[0].datalabel_fontSize=10;
          chart.graphs[0].yAxis_title_text="cent";
          chart.graphs[0].yAxis_show=true;
          chart.graphs[0].legendText="Uhrzeit";
          chart.graphs[0].datalabel_show=true;
          chart.graphs[0].yAxis_minimumDigits=1;
          chart.graphs[0].yAxis_maximumDigits=1;
          
          for (let offset of offsets)
          {
              // Spaltenbeschriftungen
              aktStunde=jetzt.getHours()+offset;
              if (aktStunde>23)
                  aktStunde=aktStunde-24;
              var strStunde = ("0" + aktStunde.toString()).slice(-2);
              axisLabels.push(strStunde)
              //axisLabels.push(aktStunde);
                     
              var prefix="";
              aktStunde=jetzt.getHours()+offset;
              if (aktStunde>23)
              {
                  aktStunde=aktStunde-24;
                  prefix=tibberPricesTomorrow+".";
              }
              else
              {
                  prefix=tibberPricesToday+".";
              }
          
              strStunde = ("0" + aktStunde.toString()).slice(-2);
              prefix=prefix+strStunde+'.';
          
              //if(logOn) console.log(myName + " Stundenwechsel, akt Stunde "+strStunde+", prefix "+prefix);
              var aktPrice=getState(prefix+tibberTotal).val;
              //var aktStartAt=getState(prefix+tibberStartsAt).val;
              //if(logOn) console.log(myName + " aktPrice "+aktPrice+", aktStartAt "+aktStartAt);
              //let itemData ={t:0, y:0.0};
              //itemData['t']=unixTimestamp+3600*offset;
              //itemData['y']=aktPrice;
              values.push(Math.round(aktPrice*1000)/10.0);
              var cents=(Math.round(aktPrice*1000)/10.0).toString();
              datalabels.push(cents);
          
          }
          chart.graphs[0].data=values;
          chart.graphs[0].datalabel_override=datalabels;
          chart.data=values;
          chart.datalabel_override=datalabels;
          chart.axisLables=axisLabels;
          
          setState("javascript."+instance+"."+idChartData, JSON.stringify(chart));
          

          };

          View


          {
          "settings": {
          "style": {
          "background-color": "",
          "background-image": "",
          "background-repeat": "",
          "background-attachment": "",
          "background-position": "",
          "background-size": "",
          "background-clip": "",
          "background-origin": "",
          "background_class": ""
          },
          "theme": "redmond",
          "sizex": "1280",
          "sizey": "800",
          "gridSize": "10",
          "snapType": 2,
          "class": "no-invert",
          "useBackground": false,
          "useAsDefault": false,
          "alwaysRender": false
          },
          "widgets": {
          "e00001": {
          "tpl": "tplHtml",
          "data": {
          "g_fixed": true,
          "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,
          "g_last_change": false,
          "visibility-cond": "==",
          "visibility-val": "",
          "visibility-groups-action": "hide",
          "refreshInterval": "0",
          "signals-cond-0": "==",
          "signals-val-0": true,
          "signals-icon-0": "/vis.0/main/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.0/main/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.0/main/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,
          "class": "no-invert",
          "locked": false,
          "html": ""
          },
          "style": {
          "left": "0px",
          "top": "169px",
          "width": "1264px",
          "height": "619px",
          "z-index": 0,
          "font-family": "Jura-DemiBold"
          },
          "widgetSet": "basic"
          },
          "e00002": {
          "tpl": "tplContainerView",
          "data": {
          "g_fixed": true,
          "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,
          "g_last_change": false,
          "visibility-cond": "==",
          "visibility-val": 1,
          "visibility-groups-action": "hide",
          "signals-cond-0": "==",
          "signals-val-0": true,
          "signals-icon-0": "/vis.0/main/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.0/main/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.0/main/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,
          "contains_view": "A_Menu",
          "name": "VIEW_Header-Menü",
          "locked": false
          },
          "style": {
          "left": "0px",
          "top": "0px",
          "width": "1280px",
          "height": "180px",
          "font-family": "Jura-DemiBold"
          },
          "widgetSet": "basic"
          },
          "e00003": {
          "tpl": "tplHtmlNav",
          "data": {
          "g_fixed": true,
          "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,
          "g_last_change": false,
          "visibility-cond": "==",
          "visibility-val": 1,
          "visibility-groups-action": "hide",
          "signals-cond-0": "==",
          "signals-val-0": true,
          "signals-icon-0": "/vis.0/main/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.0/main/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.0/main/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,
          "html": "Tibber",
          "class": "menu-item",
          "nav_view": "Tibber",
          "hide_effect": "show",
          "show_effect": "show",
          "sync": true,
          "body-background": "#ffffff"
          },
          "style": {
          "left": "378px",
          "top": "50px",
          "opacity": "",
          "z-index": "99",
          "width": "auto",
          "font-family": "Jura-DemiBold"
          },
          "widgetSet": "basic"
          },
          "e00004": {
          "tpl": "tplVis-materialdesign-Chart-Bar",
          "data": {
          "oid": "javascript.0.tibber.prices.barChartData",
          "g_fixed": true,
          "g_visibility": false,
          "g_css_font_text": true,
          "g_css_background": false,
          "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",
          "chartDataMethod": "jsonStringObject",
          "dataCount": "0",
          "chartType": "vertical",
          "backgroundColor": "#mdwTheme:vis-materialdesign.0.colors.charts.background",
          "chartAreaBackgroundColor": "#mdwTheme:vis-materialdesign.0.colors.charts.background_chart",
          "titleLayout": "#mdwTheme:vis-materialdesign.0.fontSizes.card.title",
          "titleFontFamily": "Jura-DemiBold",
          "colorBackground": "#mdwTheme:vis-materialdesign.0.colors.card.background",
          "colorTitleSectionBackground": "#mdwTheme:vis-materialdesign.0.colors.card.background_title",
          "colorTextSectionBackground": "#mdwTheme:vis-materialdesign.0.colors.card.background_body",
          "colorTitle": "#mdwTheme:vis-materialdesign.0.colors.card.title",
          "globalColor": "#mdwTheme:vis-materialdesign.0.colors.charts.global",
          "hoverColor": "#mdwTheme:vis-materialdesign.0.colors.charts.bar.hover",
          "hoverBorderColor": "#mdwTheme:vis-materialdesign.0.colors.charts.bar.hover_border",
          "showValues": "showValuesOn",
          "valuesFontColor": "#mdwTheme:vis-materialdesign.0.colors.charts.value",
          "valuesFontFamily": "Jura-Medium",
          "valuesFontSize": "17",
          "valuesPositionAnchor": "end",
          "valuesPositionAlign": "center",
          "valuesTextAlign": "center",
          "yAxisPosition": "left",
          "yAxisTitleColor": "#mdwTheme:vis-materialdesign.0.colors.charts.y_axis_title",
          "yAxisTitleFontFamily": "Jura-DemiBold",
          "yAxisTitleFontSize": "0",
          "yAxisValueLabelColor": "#dddddd",
          "yAxisValueFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.charts.y_axis_values",
          "yAxisValueFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.charts.y_axis_values",
          "yAxisValueDistanceToAxis": "10",
          "yAxisShowAxis": "true",
          "yAxisShowAxisLabels": "true",
          "yAxisShowGridLines": "true",
          "yAxisGridLinesColor": "#ffffff",
          "yAxisShowTicks": "true",
          "yAxisZeroLineColor": "#mdwTheme:vis-materialdesign.0.colors.charts.y_axis_zeroline",
          "xAxisPosition": "bottom",
          "xAxisTicksSource": "auto",
          "xAxisTitleColor": "#mdwTheme:vis-materialdesign.0.colors.charts.value",
          "xAxisTitleFontFamily": "Jura-DemiBold",
          "xAxisTitleFontSize": "2",
          "xAxisValueLabelColor": "#dddddd",
          "xAxisValueFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.charts.x_axis_values",
          "xAxisValueFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.charts.x_axis_values",
          "xAxisValueDistanceToAxis": "0",
          "xAxisShowAxis": "true",
          "xAxisShowAxisLabels": "true",
          "xAxisShowGridLines": "true",
          "xAxisGridLinesColor": "#ffffff",
          "xAxisShowTicks": "true",
          "xAxisZeroLineColor": "#mdwTheme:vis-materialdesign.0.colors.charts.x_axis_zeroline",
          "xAxisMinRotation": "0",
          "xAxisMaxRotation": "0",
          "legendPosition": "right",
          "legendFontColor": "#mdwTheme:vis-materialdesign.0.colors.charts.legend",
          "legendFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.charts.legend",
          "legendFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.charts.legend",
          "legendPointStyle": "true",
          "showTooltip": "true",
          "tooltipBackgroundColor": "#mdwTheme:vis-materialdesign.0.colors.charts.tooltip_background",
          "tooltipShowColorBox": "true",
          "tooltipTitleFontColor": "#mdwTheme:vis-materialdesign.0.colors.charts.tooltip_title",
          "tooltipTitleFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.charts.tooltip_title",
          "tooltipTitleFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.charts.tooltip_title",
          "tooltipBodyFontColor": "#mdwTheme:vis-materialdesign.0.colors.charts.tooltip_text",
          "tooltipBodyFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.charts.tooltip_text",
          "tooltipBodyFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.charts.tooltip_text",
          "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,
          "chartPaddingBottom": "1",
          "cardUse": false,
          "xAxisTitle": "",
          "showLegend": false,
          "axisValueAppendText": "",
          "axisLabelAutoSkip": false,
          "g_layoutForData_§0": false,
          "g_oids": false,
          "barWidth": "55",
          "valuesRotation": "0",
          "valuesPositionOffset": "",
          "valuesMaxDecimals": "1",
          "valuesMinDecimals": "1",
          "class": "no-invert",
          "chartPaddingTop": "0",
          "valuesSteps": "1",
          "colorScheme": ""
          },
          "style": {
          "left": "40px",
          "top": "210px",
          "width": "1000px",
          "height": "580px",
          "z-index": "100",
          "font-family": "Jura-DemiBold"
          },
          "widgetSet": "materialdesign"
          },
          "e00005": {
          "tpl": "tplHtml",
          "data": {
          "g_fixed": true,
          "g_visibility": false,
          "g_css_font_text": false,
          "g_css_background": true,
          "g_css_shadow_padding": false,
          "g_css_border": true,
          "g_gestures": false,
          "g_signals": false,
          "g_last_change": false,
          "visibility-cond": "==",
          "visibility-val": 1,
          "visibility-groups-action": "hide",
          "refreshInterval": "0",
          "signals-cond-0": "==",
          "signals-val-0": true,
          "signals-icon-0": "/vis.0/main/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.0/main/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.0/main/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,
          "class": "no-invert"
          },
          "style": {
          "left": "6px",
          "top": "197px",
          "width": "1262px",
          "height": "582px",
          "z-index": "0",
          "background-color": "#000000",
          "border-radius": "10px",
          "font-family": "Jura-DemiBold"
          },
          "widgetSet": "basic"
          }
          },
          "name": "Tibber",
          "filterList": []
          }

          und diesen Chart (der wurde schon auf den neuen Tibberconnect Adapter umgeschrieben, sieht aber nicht so schön aus
          de171329-b9f8-48e2-be79-8d1df7762192-image.png

          /****************************************************************************************************
          Script, um mittels Google Charts einen Wetter-Graph anzuzeigen
          Aktuelle Version: https://github.com/Mic-M/iobroker.google-charts-example/
          Support: https://forum.iobroker.net/topic/22779/vorlage-google-charts-beispiel
          Autor: Mic (ioBroker-Forum) / Mic-M (Github)
          changes for tibber: theGrinch (ioBroker-Forum), Tibber invite: https://invite.tibber.com/3ixvd5z5
          Change Log:
          0.3.2 changed for tibberconnect adapter
          0.3.1 show energy prices from tibber
          0.3 Mic * Added line color - https://forum.iobroker.net/post/389919
          0.2 Mic + Fix/improve file creation.
          0.1 Mic - Initial Release
          /
          /
          *

          Konfiguration
          ******************************************************************************/
          // Der Pfad der HTML-Datei, einfach entsprechend anpassen.
          // Die Datei wird abgelegt unterhalb von '/opt/iobroker/iobroker-data/files/vis.0/'
          const FILE_PATH = 'main/googleChartTibber2.html';

          // Schedule
          const M_SCHEDULE = '2 * * * *'; // Jede Stunde +2 Minuten

          // Ausgaben für Debug
          const LOG_DEBUG = true;

          /*******************************************************************************

          Global constants/variables
          /
          let mSchedule; // for the schedule
          /

          Executed on every script start.
          *******************************************************************************/
          main();
          function main() {

          // Write the file initially on script start
          writeGoogleHtml(function(success) {
          if (LOG_DEBUG) log('[Debug] We are now in the callback of writeWeatherHtml().');
          if (success) {
          if (LOG_DEBUG) log('[Debug] Successfully executed writeWeatherHtml(), so we schedule the updates.');
          clearSchedule(mSchedule);
          mSchedule = schedule(M_SCHEDULE, writeGoogleHtml);
          } else {
          log('File not successfully created/updated, so we stop at this point.', 'error');
          }
          });

          }

          /**

          Writing Google html file.
          @param {object} [callback] Optional: A callback function which is executed after proceeding this function.
          */
          function writeGoogleHtml(callback = undefined) {
          let result = writeFile('vis.0', FILE_PATH, buildHTML(), function (error) {
          if (error) {
          log('[Error] Error while executing writeFile(): ' + error);
          if (typeof callback === 'function') { // execute if a function was provided to parameter callback
          if (LOG_DEBUG) log('[Debug] Function to callback parameter was provided');
          return callback(false);
          } else {
          return;
          }
          } else {
          if (LOG_DEBUG) log('[Debug] File successfully written: [' + FILE_PATH + ']');
          if (typeof callback === 'function') { // execute if a function was provided to parameter callback
          if (LOG_DEBUG) log('[Debug] Function to callback parameter was provided');
          return callback(true);
          } else {
          return;
          }
          }
          })
          return result;
          }
          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('number', 'hour');\n";
          html += "data.addColumn('number', 'today');\n";
          html += "data.addColumn({type: 'number', role: 'annotation'});\n";
          html += "data.addColumn('number', 'tomorrow');\n";
          html += "data.addColumn({type: 'number', role: 'annotation'});\n";
          for (let i = 0; i <= 9; i++) {
          let tLow = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesToday.' + i + '.total').val;
          let tHigh = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesTomorrow.' + i + '.total').val;
          html += " data.addRow([" + i + ", " + tLow + ", " + tLow + ", " + tHigh + ", " + tHigh + "]);\n";
          }
          for (let i = 10; i <= 23; i++) {
          let tLow = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesToday.' + i + '.total').val;
          let tHigh = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesTomorrow.' + i + '.total').val;
          html += " data.addRow([" + i + ", " + tLow + ", " + tLow + ", " + tHigh + ", " + tHigh + "]);\n";
          }

          // See: https://developers.google.com/chart/interactive/docs/gallery/linechart#configuration-options
          html += "var options = {\n";
          // Line colors (HTML): lower upper
          html += " colors: ['CornflowerBlue', 'DarkTurquoise'],\n";
          html += " curveType: 'function', backgroundColor: 'transparent', pointSize: 4,\n";
          html += " hAxis: { textStyle:{color:'black'}},\n";
          html += " vAxis: { textPosition: 'none', textStyle:{color:'red'},\n";
          html += " baselineColor:'transparent', gridlines:{count:0} }, legend: { position: 'bottom' },\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: 700px; height: 400px;"></div>\n';
          html += '</html>\n';
          return html;
          }

          T 1 Reply Last reply Reply Quote 0
          • T
            ThomKast @MikeRow last edited by

            @mikerow sagte in Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben:

            Hallo @ThomKast, wir wechseln zum 1.2.23 zu Tibber. Pulse habe ich schon installiert. Ich werde deine Lösung mal in den nächsten Tagen installieren und testen. Sieht sehr erfolgsversprechend aus!!

            Gruß Mikerow

            Hallo @MikeRow, ich musste leider das Geräte-Script noch ein bisschen überarbeiten. Details finden sich oben in der Versionierung. Solltest Du also bereits angefangen haben, lade Dir bitte das aktuelle Script runter.
            Weiterhin viel Erfolg und beste Grüße, Thomas

            W 1 Reply Last reply Reply Quote 0
            • W
              Wesertaler @ThomKast last edited by

              @thomkast
              Danke für das spannende Script zur EPEX Nutzung über Tibber. Wir wechseln ab 01.01.2023 auch zu Tibber, den Token habe ich bereits. Leider kann ich das Script zum Abfragen der Tibber-Preise nicht in Gänze herunterladen. Die JSON Datei enthält nur den letzten Abschnitt (4.2), der Anfang fehlt leider. Kannst Du bitte das Script noch einmal komplett abstellen?

              Vielen Dank,
              Peter

              T 1 Reply Last reply Reply Quote 0
              • T
                ThomKast @Wesertaler last edited by ThomKast

                @wesertaler
                Moin Peter, schön, dass es Dein Interesse trifft. Ich bin auch schon gespannt. In ein paar Tage geht es los. und wenn ich die aktuell günstigen Stundenpreise sehe, dann bin ich schon ziemlich sicher, dass der Umstieg die richtige Entscheidung ist. Genaues sehen wir am Jahresende ;-).

                So ganz verstehe ich Deine Frage nicht. Vermutlich ist nicht die Download-Datei das Problem, sondern die unterschiedliche Art des Imports.
                Die aktualisierte Datei 2022-12-26_TIBBER_scriptt.json kannst Du nun über "3-Punkte-Menu" --> "Skripte importieren" einbinden. Bitte daran denken die "*****" mit dem eigenen Token auszutauschen 😉
                c02a026a-049a-4021-9aa1-4b9cb9c36f23-image.png
                Es handelt sich um die aktuellste Version mit kleinen Ergänzungen, die ich noch nicht beschrieben habe. Hinweise findest Du in den zugeklappten "?"-Kommentaren der einzelnen Bausteine.

                Der Export der alten Datei vom 10.12.2022 wäre mit copy-and-paste über die Funktion "Blöcke importieren" in ein leeres Script zu importieren. Aber die Version würde ich nicht mehr verwenden.
                16a69435-9666-44fb-8577-c3c5cf45c5d4-image.png

                Zur "manuellen Bedienung" in den Fällen, dass TIBBER die Daten nicht rechtzeitig bereitgestellt hat oder technische Probleme die Abholung nicht ermöglichen, kannst Du die Script-Teile auch manuell nutzen.

                • Zur Abholung zu einer späteren Zeit einfach die "Abholzeit" ändern - z.B. auf aktuelle Zeit plus 2 Minuten, um die Werte "quasi jetzt" abzuholen. Nach dem Abholen, die "Abholzeit" dann wieder auf einen Wert nach "14:30" ändern.
                • Um die Preise manuell zu splitten und günstigsten Preis/Stunde zu ermitteln, können die deaktivierten Blöcke unter "2." aktiviert werden. Details im Kommentar.

                Zusätzlich wird in der aktuellen Version noch ein "ungewichteter Durchschnittspreis" ermittelt. Es werden also alle Stundenpreise addiert und durch 24 geteilt. Dazu sind 2 weitere Datenpunkte nötig:
                "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet"
                "0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet"

                Kannst ja noch mal Bescheid geben, ob es geklappt hat.

                Beste Grüße und viel Erfolg, Thomas

                PS: Die obige Beschreibung werde ich noch überarbeiten. Zur Zeit fehlt die Zeit 😉

                1 Reply Last reply Reply Quote 1
                • D
                  dieterh last edited by

                  ![0_1672069230056_Bildschirmfoto 2022-12-26 um 16.36.37.png](Uploading 100%) @thomkast said in Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben:

                  @wesertaler
                  Moin Peter, schön, dass es Dein Interesse trifft. Ich bin auch schon gespannt. In ein paar Tage geht es los. und wenn ich die aktuell günstigen Stundenpreise sehe, dann bin ich schon ziemlich sicher, dass der Umstieg die richtige Entscheidung ist. Genaues sehen wir am Jahresende ;-).

                  So ganz verstehe ich Deine Frage nicht. Vermutlich ist nicht die Download-Datei das Problem, sondern die unterschiedliche Art des Imports. Die aktualisierte Datei kannst Du nun über "3-Punkte-Menu" --> "Skripte importieren" einbinden.
                  c02a026a-049a-4021-9aa1-4b9cb9c36f23-image.png
                  Es handelt sich um die aktuellste Version mit kleinen Ergänzungen, die ich noch nicht beschrieben habe. Hinweise findest Du in den zugeklappten "?"-Kommentaren der einzelnen Bausteine.

                  Der Export der alten Datei vom 10.12.2022 wäre mit copy-and-paste über die Funktion "Blöcke importieren" in ein leeres Script zu importieren. Aber die Version würde ich nicht mehr verwenden.
                  16a69435-9666-44fb-8577-c3c5cf45c5d4-image.png

                  Zur "manuellen Bedienung" in den Fällen, dass TIBBER die Daten nicht rechtzeitig bereitgestellt hat oder technische Probleme die Abholung nicht ermöglichen, kannst Du die Script-Teile auch manuell nutzen.

                  • Zur Abholung zu einer späteren Zeit einfach die "Abholzeit" ändern - z.B. auf aktuelle Zeit plus 2 Minuten, um die Werte "quasi jetzt" abzuholen. Nach dem Abholen, die "Abholzeit" dann wieder auf einen Wert nach "14:30" ändern.
                  • Um die Preise manuell zu splitten und günstigsten Preis/Stunde zu ermitteln, können die deaktivierten Blöcke unter "2." aktiviert werden. Details im Kommentar.

                  Zusätzlich wird in der aktuellen Version noch ein "ungewichteter Durchschnittspreis" ermittelt. Es werden also alle Stundenpreise addiert und durch 24 geteilt. Dazu sind 2 weitere Datenpunkte nötig:
                  "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet"
                  "0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet"

                  Kannst ja noch mal Bescheid geben, ob es geklappt hat.

                  Beste Grüße und viel Erfolg, Thomas

                  PS: Die obige Beschreibung werde ich noch überarbeiten. Zur Zeit fehlt die Zeit 😉

                  Hallo Thomas,

                  auch ich spiele schon eine Weile mit iobroker und Tibber herum und freue mich Deine Aktivitäten gefunden zu haben, da Du anscheinend schon ein bisschen weiter bist.
                  Leider kann ich Dein Script nicht importieren - ich bekomme die Fehlermeldung:
                  Fehler
                  Error: Can't find end of central directory : is this a zip file ?

                  1 Reply Last reply Reply Quote 0
                  • T
                    ThomKast last edited by

                    @dieterh
                    Entschuldige bitte, dass es so nicht funktioniert. Versuch mal bitte folgenden Weg mit der Datei zum downloaden.

                    2022-12-23_Tibber_Script_Blöcke_export_import.html

                    • Download der Datei
                    • Eröffne ein neues, leeres Blockly Script
                    • Öffne die Datei mit einem Editor OHNE JEGLICHE Zeichen einzufügen oder zu ändern
                    • Markiere den kompletten Inhalt und kopiere diesen in die Zwischenablage (STRG+A dann STRG+C)
                    • Im leeren Blockly Script über "Blöcke importieren" die leere Import-Seite öffnen und den Inhalt der Zwischenablage dort einfügen (STRG-V)
                    • Durch klick auf "IMPORT" wird alles importiert
                    • Script unbedingt speichern, bevor etwas anderes aufgerufen wird. Bei einem Refresh der Seite ist der importierte Inhalt sonst nämlich weg

                    Ich nutze es immer auf diesem Weg. Hoffe es klappt auch für Dich.
                    LG, Thomas

                    D W 2 Replies Last reply Reply Quote 1
                    • D
                      dieterh @ThomKast last edited by

                      @thomkast said in Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben:

                      2022-12-23_Tibber_Script_Blöcke_export_import.html

                      Moin Thomas - das hat jetzt prima geklappt - vielen Dank für Deine Unterstützung.
                      Ich werde das dann heute mal evaluieren.

                      1 Reply Last reply Reply Quote 1
                      • W
                        Wesertaler @ThomKast last edited by Wesertaler

                        @thomkast
                        Moin Thomas,
                        leider fehlte mir gestern die Zeit, weiter an dem Problem zu arbeiten. Ich habe aber heute noch ein wenig gebastelt, nachdem ich Dein neuen Export bei mir importiert habe und kann nur sagen super Arbeit!

                        Es läuft einwandfrei mit meinem Token. Ich habe einen guten Vergleich, weil wir als Wallboxen eine OpenWB mit zwei Ladepunkten haben, in der ich über Weihnachten ebenfalls den Token hinterlegt habe. Die abgeholten Preise sind identisch. Ein erster Test mit der OpenWB war gestern bereits erfolgreich 😉 Jetzt werde ich mir mal die Freigabe der Waschmaschine und des Geschirrspülers anschauen. Mal sehen, was mir noch so an gut steuerbaren Verbrauchern auffällt.

                        Nochmals vielen Dank für Deinen Support!
                        Peter

                        T 1 Reply Last reply Reply Quote 1
                        • T
                          ThomKast @Wesertaler last edited by

                          @wesertaler
                          @dieterh
                          Hallo zusammen, heute konnten die TIBBER-Daten nicht zu meiner Abholzeit um 15:05 abgeholt werden. Das kommt immer wieder mal vor Dabei fiel mir auf, dass bei einer späteren, manuell angestoßenen Abholung "günstigster_preis" und "günstige_stunden" nicht neu ermittelt werden. Aus diesem Grund fügt bitte die Aufrufe der beiden Funktionen am Ende der Funktion "preise_holen" ein.
                          f0d31662-a5b2-46b3-9ccf-06e41657a8b1-image.png
                          ... im Screenshot ganz unten in rot markiert.

                          Wenn die Daten nicht abgeholt werden können, liegt dies fast ausschließlich an TIBBER. Vielleicht schaffe ich es noch den/die Fehler abzufangen und eine Benachrichtigung abzusetzen, bzw. die Abholung zu einem späteren Zeitpunkt erneut durchzuführen.

                          Beste Grüße, Thomas

                          1 Reply Last reply Reply Quote 1
                          • T
                            ThomKast last edited by

                            Hallo Zusammen,

                            zu Eurer Info, TIBBER hat die Preise für Morgen noch nicht zur Verfügung gestellt.
                            Ich dachte erst mein Script würde Ärger bereiten... Aber nö. Wenn nix da ist, kann auch nix geholt werden.

                            Wie Ihr im Screenshot der TIBBER API erkennen könnt, liegen aktuelle Werte vor, aber der String für tomorrow ist leer.

                            24de8f44-9d81-489d-a541-b57efd01b25a-image.png

                            Als Lösung bietet sich an, die "abholzeit" auf einen späteren Zeitpunkt zu ändern, in der Hoffnung, dass dann die Daten bereitgestellt wurden.

                            Beste Grüße, Thomas

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              ThomKast @ThomKast last edited by

                              Nun stehen auch die Daten zur Verfügung.
                              Habe TIBBER angeschrieben und mal um Erläuterung gebeten. Mal schauen, ob und was wir für eine Antwort erhalten.

                              6c7a4f86-6399-4309-aed1-a47ee374d0cb-image.png

                              W 1 Reply Last reply Reply Quote 0
                              • W
                                Wesertaler @ThomKast last edited by

                                @thomkast
                                Moin Thomas,
                                nutzt Du noch den Demo Token?

                                Ich habe die Abholzeit auf 16:30 stehen und hatte seit der Inbetriebnahme am 27.12.2022 keine Probleme. An beiden Tagen waren nach 16:30 die EPEX Werte für "today" und "tomorrow" vorhanden. Um 0:02 wurde alles korrekt umgeschoben und die neuesten günstigen Zeiten berechnet.

                                Grüße
                                Peter

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  ThomKast @Wesertaler last edited by

                                  @wesertaler
                                  Hi Peter,

                                  nee, nee, habe schon mein Token hinterlegt. Die Daten sollen ja eigentlich ab 1430 zur Verfügung stehen. Daher hatte ich meine "abholzeit" auf 1505. Das funktionierte auch bislang... Aber um 1600 ist auch ok. Es geht ja nix verloren.

                                  Beste Grüße, Thomas

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dieterh last edited by

                                    Hallo Thomas,

                                    ich oute mich hier als betagter, absoluter iobroker-Anfänger, der sich immer wieder selbst fordert.
                                    Ich selbst beziehe meinen Strom schon länger von Tibber und musste vor kurzem einen 2. Acoount bei denen aufmachen, da wir Strom (mit eigenem Zähler) in unsere Garagen gelegt bekommen haben.

                                    Wie gesagt, ich bin begeistert was du hier machst und versuche das zu verstehen und auf meine Bedürfnisse anzupassen.

                                    Gleich zu Beginn deines neuen Scriptes lädst Du verschiedene Variablen von den Datenpunkten in 0_userdate.0.Tibber aber der Datenpunkt '0_userdate.0.Tibber.Abholzeit' ist nicht in in deinem Datenpunkte-Download enthalten.

                                    Bildschirmfoto 2022-12-29 um 17.03.39.png

                                    Wurde das vergessen oder stehe ich gerade auf dem Schlauch 😊 ?

                                    Ich kann den gerne noch anlegen, aber wie muss der formatiert sein, bzw. welcher Wert soll da rein?

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      ThomKast @dieterh last edited by ThomKast

                                      @dieterh
                                      Hallo Dieter,

                                      über "betagt" könnten wir uns vielleicht überbieten 😉 und bis vor 1nem Jahr hatte ich mit ioBroker und SmartHome auch noch keinen größeren Kontakt. Allerdings hatte ich die komfortable Situation mich 1 Jahr lang fast den ganzen Tag damit beschäftigen zu können. Da kommt dann einiges an Informationen zusammen.

                                      Du bist doch auf einem guten weg und hast richtig festgestellt, dass ich da geschludert habe... Lege den Datenpunkt am besten manuell an, als STRING und verknüpfe ihn dann im Script.
                                      Als Wert trägt er die Uhrzeit, im Format "hh:mm" - also z.B. 16:00, zu der die Preisdaten von Tibber abgeholt werden sollen.

                                      Hinweis: Wenn Du in der Darstellung den kompletten Pfad, wie z.B. "0_userdata_0.Tibber und so weiter" siehst, dann konnte der Datenpunkt nicht gefunden und als Name aufgelöst werden. Zusätzlich findet sich im Log ein Eintrag darauf, dass der Datenpunkt fehlt.

                                      Vielen Dank nochmal für Deinen Hinweis. Wenn ich die Tage den Artikel ganz oben überarbeite, werde ich den Export der Datenpunkte erweitern.

                                      Beste Grüße, Thomas

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        dieterh @ThomKast last edited by

                                        @thomkast
                                        Danke für die schnelle Antwort - aber bist Du sicher das als NUMBER anzulegen?
                                        Da dürfte es schwierig sein, z.B. ein "16:00" einzutragen.

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          ThomKast @dieterh last edited by

                                          @dieterh Nicht mein Tag heute. Natürlich als STRING. 😕

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            MikeRow last edited by

                                            Hallo @ThomKast, ich habe endlich Zeit gefunden die Scripte zu installieren. ich erhalte einige Fehler.
                                            Fehlen da noch einige Datenpunkte? Habe ich was übersehen?

                                            Gruß Mike


                                            2022-12-29 18:54:21.103 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_0" not found
                                            2022-12-29 18:54:21.103 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.103 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.103 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.103 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.103 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.104 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1" not found
                                            2022-12-29 18:54:21.104 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.104 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.104 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.104 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.104 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.105 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_2" not found
                                            2022-12-29 18:54:21.105 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.105 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.105 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.105 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.105 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.106 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_3" not found
                                            2022-12-29 18:54:21.106 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.106 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.106 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.106 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.106 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.106 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_4" not found
                                            2022-12-29 18:54:21.107 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.107 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.107 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.107 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.107 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.107 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_5" not found
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_6" not found
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.108 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.109 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.109 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.109 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.109 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_7" not found
                                            2022-12-29 18:54:21.110 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.110 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.110 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.110 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.110 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.112 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_8" not found
                                            2022-12-29 18:54:21.116 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.116 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.116 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.116 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.117 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.117 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_9" not found
                                            2022-12-29 18:54:21.124 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.124 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.124 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.124 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.124 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.125 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_10" not found
                                            2022-12-29 18:54:21.125 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.125 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.125 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.125 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.125 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.126 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_11" not found
                                            2022-12-29 18:54:21.126 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.126 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.126 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.126 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.126 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.126 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_12" not found
                                            2022-12-29 18:54:21.127 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.127 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.127 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.127 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.127 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.127 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_13" not found
                                            2022-12-29 18:54:21.128 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.128 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.128 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.128 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.128 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.128 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_14" not found
                                            2022-12-29 18:54:21.129 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.129 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.129 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.129 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.129 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.130 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_15" not found
                                            2022-12-29 18:54:21.131 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.131 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.131 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.131 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.131 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.131 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_16" not found
                                            2022-12-29 18:54:21.132 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.132 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.132 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.132 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.132 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.133 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_17" not found
                                            2022-12-29 18:54:21.134 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.134 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.134 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.134 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.134 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.134 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_18" not found
                                            2022-12-29 18:54:21.135 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.135 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.135 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.135 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.135 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.136 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_19" not found
                                            2022-12-29 18:54:21.136 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.136 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.136 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.137 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.137 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.138 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_20" not found
                                            2022-12-29 18:54:21.138 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.138 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.138 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.138 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.138 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.139 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_21" not found
                                            2022-12-29 18:54:21.139 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.139 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.139 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.139 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.139 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.139 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_22" not found
                                            2022-12-29 18:54:21.140 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.140 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.140 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.140 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.140 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.141 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_23" not found
                                            2022-12-29 18:54:21.142 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.143 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.143 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:50:5)
                                            2022-12-29 18:54:21.143 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.143 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3
                                            2022-12-29 18:54:21.143 - warn: javascript.0 (1643) State "0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet" not found
                                            2022-12-29 18:54:21.147 - warn: javascript.0 (1643) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                                            2022-12-29 18:54:21.147 - warn: javascript.0 (1643) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1763:25)
                                            2022-12-29 18:54:21.147 - warn: javascript.0 (1643) at stundenpreise_splitten (script.js.common.Tibber.Tibber_Steuerung_Geraete:53:3)
                                            2022-12-29 18:54:21.147 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:148:7
                                            2022-12-29 18:54:21.147 - warn: javascript.0 (1643) at script.js.common.Tibber.Tibber_Steuerung_Geraete:205:3

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            awattar billig börse epex günstig strompreis stündlich tibber
                                            24
                                            156
                                            22294
                                            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