Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test PV Forecast Adapter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test PV Forecast Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Meistertr
      Meistertr Developer @Diginix last edited by

      @diginix mein fehler hatte da ein bock drin.

      in der 0.2.5:

      • solcast abruf nur bei start und nach mitternacht (Intervall wird dann in der config ausgeblendet)
      • fehler bei solcast und wetter abgefangen
      • Intervall wird jetzt vernünftig übernommen wenn größer 60
      Diginix M 2 Replies Last reply Reply Quote 1
      • Diginix
        Diginix @Meistertr last edited by Diginix

        @meistertr Ist auch der Bug behoben dass die Instanz nicht mehr läuft wenn sie mal nach 22 Uhr neu gestartet würde?

        Habe die 0.2.5 mal von deinem Fork installiert. Gab schonmal keine Probleme beim Start der Instanz.

        1 Reply Last reply Reply Quote 0
        • M
          MartyBr @Meistertr last edited by

          @meistertr Die Installation der 0.2.5 verlief ohne Probleme. Die Daten werden angezeigt.
          Ich habe nur ein Problem: Die Graphen pro String werden richtig angezeigt. Wem ich aber den JSONGRAPH von Summary auswähle so werden keine Daten angezeigt. Bei den einzelnen Strings werden aber die Daten richtig angezeigt.
          Hier mal die Datenpunkte:
          Ost

          {
            "graphs": [
              {
                "data": [
                  {
                    "t": "2022-03-01 06:44:00",
                    "y": 0
                  },
                  {
                    "t": "2022-03-01 06:52:00",
                    "y": 362
                  },
                  {
                    "t": "2022-03-01 07:00:00",
                    "y": 1792
                  },
                  {
                    "t": "2022-03-01 08:00:00",
                    "y": 3353
                  },
                  {
                    "t": "2022-03-01 09:00:00",
                    "y": 4263
                  },
                  {
                    "t": "2022-03-01 10:00:00",
                    "y": 4543
                  },
                  {
                    "t": "2022-03-01 11:00:00",
                    "y": 4276
                  },
                  {
                    "t": "2022-03-01 12:00:00",
                    "y": 3587
                  },
                  {
                    "t": "2022-03-01 13:00:00",
                    "y": 2589
                  },
                  {
                    "t": "2022-03-01 14:00:00",
                    "y": 1471
                  },
                  {
                    "t": "2022-03-01 15:00:00",
                    "y": 838
                  },
                  {
                    "t": "2022-03-01 16:00:00",
                    "y": 555
                  },
                  {
                    "t": "2022-03-01 17:00:00",
                    "y": 213
                  },
                  {
                    "t": "2022-03-01 17:27:00",
                    "y": 46
                  },
                  {
                    "t": "2022-03-01 17:54:00",
                    "y": 0
                  },
                  {
                    "t": "2022-03-02 06:42:00",
                    "y": 0
                  },
                  {
                    "t": "2022-03-02 06:51:00",
                    "y": 39
                  },
                  {
                    "t": "2022-03-02 07:00:00",
                    "y": 187
                  },
                  {
                    "t": "2022-03-02 08:00:00",
                    "y": 600
                  },
                  {
                    "t": "2022-03-02 09:00:00",
                    "y": 978
                  },
                  {
                    "t": "2022-03-02 10:00:00",
                    "y": 1180
                  },
                  {
                    "t": "2022-03-02 11:00:00",
                    "y": 1283
                  },
                  {
                    "t": "2022-03-02 12:00:00",
                    "y": 1286
                  },
                  {
                    "t": "2022-03-02 13:00:00",
                    "y": 1164
                  },
                  {
                    "t": "2022-03-02 14:00:00",
                    "y": 1015
                  },
                  {
                    "t": "2022-03-02 15:00:00",
                    "y": 803
                  },
                  {
                    "t": "2022-03-02 16:00:00",
                    "y": 559
                  },
                  {
                    "t": "2022-03-02 17:00:00",
                    "y": 230
                  },
                  {
                    "t": "2022-03-02 17:28:00",
                    "y": 46
                  },
                  {
                    "t": "2022-03-02 17:56:00",
                    "y": 0
                  }
                ],
                "tooltip_AppendText": " Watt",
                "legendText": "Ost",
                "yAxis_id": 0,
                "type": "bar",
                "displayOrder": 0,
                "barIsStacked": true,
                "color": "#d21515",
                "barStackId": 1,
                "datalabel_color": "#e20c0c",
                "datalabel_fontSize": 10
              }
            ]
          }
          

          Sued:

          {
            "graphs": [
              {
                "data": [
                  {
                    "t": "2022-03-01 06:44:00",
                    "y": 0
                  },
                  {
                    "t": "2022-03-01 06:52:00",
                    "y": 33
                  },
                  {
                    "t": "2022-03-01 07:00:00",
                    "y": 172
                  },
                  {
                    "t": "2022-03-01 08:00:00",
                    "y": 356
                  },
                  {
                    "t": "2022-03-01 09:00:00",
                    "y": 517
                  },
                  {
                    "t": "2022-03-01 10:00:00",
                    "y": 580
                  },
                  {
                    "t": "2022-03-01 11:00:00",
                    "y": 641
                  },
                  {
                    "t": "2022-03-01 12:00:00",
                    "y": 641
                  },
                  {
                    "t": "2022-03-01 13:00:00",
                    "y": 573
                  },
                  {
                    "t": "2022-03-01 14:00:00",
                    "y": 525
                  },
                  {
                    "t": "2022-03-01 15:00:00",
                    "y": 396
                  },
                  {
                    "t": "2022-03-01 16:00:00",
                    "y": 233
                  },
                  {
                    "t": "2022-03-01 17:00:00",
                    "y": 81
                  },
                  {
                    "t": "2022-03-01 17:27:00",
                    "y": 15
                  },
                  {
                    "t": "2022-03-01 17:54:00",
                    "y": 0
                  },
                  {
                    "t": "2022-03-02 06:42:00",
                    "y": 0
                  },
                  {
                    "t": "2022-03-02 06:51:00",
                    "y": 12
                  },
                  {
                    "t": "2022-03-02 07:00:00",
                    "y": 54
                  },
                  {
                    "t": "2022-03-02 08:00:00",
                    "y": 180
                  },
                  {
                    "t": "2022-03-02 09:00:00",
                    "y": 310
                  },
                  {
                    "t": "2022-03-02 10:00:00",
                    "y": 393
                  },
                  {
                    "t": "2022-03-02 11:00:00",
                    "y": 438
                  },
                  {
                    "t": "2022-03-02 12:00:00",
                    "y": 454
                  },
                  {
                    "t": "2022-03-02 13:00:00",
                    "y": 424
                  },
                  {
                    "t": "2022-03-02 14:00:00",
                    "y": 385
                  },
                  {
                    "t": "2022-03-02 15:00:00",
                    "y": 317
                  },
                  {
                    "t": "2022-03-02 16:00:00",
                    "y": 207
                  },
                  {
                    "t": "2022-03-02 17:00:00",
                    "y": 86
                  },
                  {
                    "t": "2022-03-02 17:28:00",
                    "y": 18
                  },
                  {
                    "t": "2022-03-02 17:56:00",
                    "y": 0
                  }
                ],
                "tooltip_AppendText": " Watt",
                "legendText": "Sued",
                "yAxis_id": 1,
                "type": "bar",
                "displayOrder": 1,
                "barIsStacked": true,
                "color": "yellow",
                "barStackId": 1,
                "datalabel_color": "yellow",
                "datalabel_fontSize": 10
              }
            ]
          }
          

          Summary:

          {
            "graphs": [
              [
                {
                  "data": [
                    {
                      "t": "2022-03-01 06:44:00",
                      "y": 0
                    },
                    {
                      "t": "2022-03-01 06:52:00",
                      "y": 362
                    },
                    {
                      "t": "2022-03-01 07:00:00",
                      "y": 1792
                    },
                    {
                      "t": "2022-03-01 08:00:00",
                      "y": 3353
                    },
                    {
                      "t": "2022-03-01 09:00:00",
                      "y": 4263
                    },
                    {
                      "t": "2022-03-01 10:00:00",
                      "y": 4543
                    },
                    {
                      "t": "2022-03-01 11:00:00",
                      "y": 4276
                    },
                    {
                      "t": "2022-03-01 12:00:00",
                      "y": 3587
                    },
                    {
                      "t": "2022-03-01 13:00:00",
                      "y": 2589
                    },
                    {
                      "t": "2022-03-01 14:00:00",
                      "y": 1471
                    },
                    {
                      "t": "2022-03-01 15:00:00",
                      "y": 838
                    },
                    {
                      "t": "2022-03-01 16:00:00",
                      "y": 555
                    },
                    {
                      "t": "2022-03-01 17:00:00",
                      "y": 213
                    },
                    {
                      "t": "2022-03-01 17:27:00",
                      "y": 46
                    },
                    {
                      "t": "2022-03-01 17:54:00",
                      "y": 0
                    },
                    {
                      "t": "2022-03-02 06:42:00",
                      "y": 0
                    },
                    {
                      "t": "2022-03-02 06:51:00",
                      "y": 39
                    },
                    {
                      "t": "2022-03-02 07:00:00",
                      "y": 187
                    },
                    {
                      "t": "2022-03-02 08:00:00",
                      "y": 600
                    },
                    {
                      "t": "2022-03-02 09:00:00",
                      "y": 978
                    },
                    {
                      "t": "2022-03-02 10:00:00",
                      "y": 1180
                    },
                    {
                      "t": "2022-03-02 11:00:00",
                      "y": 1283
                    },
                    {
                      "t": "2022-03-02 12:00:00",
                      "y": 1286
                    },
                    {
                      "t": "2022-03-02 13:00:00",
                      "y": 1164
                    },
                    {
                      "t": "2022-03-02 14:00:00",
                      "y": 1015
                    },
                    {
                      "t": "2022-03-02 15:00:00",
                      "y": 803
                    },
                    {
                      "t": "2022-03-02 16:00:00",
                      "y": 559
                    },
                    {
                      "t": "2022-03-02 17:00:00",
                      "y": 230
                    },
                    {
                      "t": "2022-03-02 17:28:00",
                      "y": 46
                    },
                    {
                      "t": "2022-03-02 17:56:00",
                      "y": 0
                    }
                  ],
                  "tooltip_AppendText": " Watt",
                  "legendText": "Ost",
                  "yAxis_id": 0,
                  "type": "bar",
                  "displayOrder": 0,
                  "barIsStacked": true,
                  "color": "#d21515",
                  "barStackId": 1,
                  "datalabel_color": "#e20c0c",
                  "datalabel_fontSize": 10
                }
              ],
              [
                {
                  "data": [
                    {
                      "t": "2022-03-01 06:44:00",
                      "y": 0
                    },
                    {
                      "t": "2022-03-01 06:52:00",
                      "y": 33
                    },
                    {
                      "t": "2022-03-01 07:00:00",
                      "y": 172
                    },
                    {
                      "t": "2022-03-01 08:00:00",
                      "y": 356
                    },
                    {
                      "t": "2022-03-01 09:00:00",
                      "y": 517
                    },
                    {
                      "t": "2022-03-01 10:00:00",
                      "y": 580
                    },
                    {
                      "t": "2022-03-01 11:00:00",
                      "y": 641
                    },
                    {
                      "t": "2022-03-01 12:00:00",
                      "y": 641
                    },
                    {
                      "t": "2022-03-01 13:00:00",
                      "y": 573
                    },
                    {
                      "t": "2022-03-01 14:00:00",
                      "y": 525
                    },
                    {
                      "t": "2022-03-01 15:00:00",
                      "y": 396
                    },
                    {
                      "t": "2022-03-01 16:00:00",
                      "y": 233
                    },
                    {
                      "t": "2022-03-01 17:00:00",
                      "y": 81
                    },
                    {
                      "t": "2022-03-01 17:27:00",
                      "y": 15
                    },
                    {
                      "t": "2022-03-01 17:54:00",
                      "y": 0
                    },
                    {
                      "t": "2022-03-02 06:42:00",
                      "y": 0
                    },
                    {
                      "t": "2022-03-02 06:51:00",
                      "y": 12
                    },
                    {
                      "t": "2022-03-02 07:00:00",
                      "y": 54
                    },
                    {
                      "t": "2022-03-02 08:00:00",
                      "y": 180
                    },
                    {
                      "t": "2022-03-02 09:00:00",
                      "y": 310
                    },
                    {
                      "t": "2022-03-02 10:00:00",
                      "y": 393
                    },
                    {
                      "t": "2022-03-02 11:00:00",
                      "y": 438
                    },
                    {
                      "t": "2022-03-02 12:00:00",
                      "y": 454
                    },
                    {
                      "t": "2022-03-02 13:00:00",
                      "y": 424
                    },
                    {
                      "t": "2022-03-02 14:00:00",
                      "y": 385
                    },
                    {
                      "t": "2022-03-02 15:00:00",
                      "y": 317
                    },
                    {
                      "t": "2022-03-02 16:00:00",
                      "y": 207
                    },
                    {
                      "t": "2022-03-02 17:00:00",
                      "y": 86
                    },
                    {
                      "t": "2022-03-02 17:28:00",
                      "y": 18
                    },
                    {
                      "t": "2022-03-02 17:56:00",
                      "y": 0
                    }
                  ],
                  "tooltip_AppendText": " Watt",
                  "legendText": "Sued",
                  "yAxis_id": 1,
                  "type": "bar",
                  "displayOrder": 1,
                  "barIsStacked": true,
                  "color": "yellow",
                  "barStackId": 1,
                  "datalabel_color": "yellow",
                  "datalabel_fontSize": 10
                }
              ]
            ],
            "axisLabels": [
              "2022-03-01 06:44:00",
              "2022-03-01 06:52:00",
              "2022-03-01 07:00:00",
              "2022-03-01 08:00:00",
              "2022-03-01 09:00:00",
              "2022-03-01 10:00:00",
              "2022-03-01 11:00:00",
              "2022-03-01 12:00:00",
              "2022-03-01 13:00:00",
              "2022-03-01 14:00:00",
              "2022-03-01 15:00:00",
              "2022-03-01 16:00:00",
              "2022-03-01 17:00:00",
              "2022-03-01 17:27:00",
              "2022-03-01 17:54:00",
              "2022-03-02 06:42:00",
              "2022-03-02 06:51:00",
              "2022-03-02 07:00:00",
              "2022-03-02 08:00:00",
              "2022-03-02 09:00:00",
              "2022-03-02 10:00:00",
              "2022-03-02 11:00:00",
              "2022-03-02 12:00:00",
              "2022-03-02 13:00:00",
              "2022-03-02 14:00:00",
              "2022-03-02 15:00:00",
              "2022-03-02 16:00:00",
              "2022-03-02 17:00:00",
              "2022-03-02 17:28:00",
              "2022-03-02 17:56:00"
            ]
          }
          

          Das verhalten war schon bei der 0.2.4

          Hier das Widget:

          [{"tpl":"tplVis-materialdesign-Chart-JSON","data":{"oid":"pvforecast.0.Sued.JSONGraph","g_fixed":true,"g_visibility":true,"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","chartType":"bar","backgroundColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.background;dark:vis-materialdesign.0.colors.dark.charts.background; mode === \"true\" ? dark : light}","chartAreaBackgroundColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.background_chart;dark:vis-materialdesign.0.colors.dark.charts.background_chart; mode === \"true\" ? dark : light}","globalColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.global;dark:vis-materialdesign.0.colors.dark.charts.global; mode === \"true\" ? dark : light}","showLegend":"true","legendPosition":"right","legendFontColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.legend;dark:vis-materialdesign.0.colors.dark.charts.legend; mode === \"true\" ? dark : light}","legendFontFamily":"{vis-materialdesign.0.fonts.charts.legend}","legendFontSize":"{vis-materialdesign.0.fontSizes.charts.legend}","legendPointStyle":"true","showTooltip":"true","tooltipMode":"nearest","tooltipTimeFormats":"{\"millisecond\":\"lll:ss\",\"second\":\"lll:ss\",\"minute\":\"lll\",\"hour\":\"lll\",\"day\":\"lll\",\"week\":\"lll\",\"month\":\"lll\",\"quarter\":\"lll\",\"year\":\"lll\"}","tooltipBackgroundColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.tooltip_background;dark:vis-materialdesign.0.colors.dark.charts.tooltip_background; mode === \"true\" ? dark : light}","tooltipShowColorBox":"true","tooltipTitleFontColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.tooltip_title;dark:vis-materialdesign.0.colors.dark.charts.tooltip_title; mode === \"true\" ? dark : light}","tooltipTitleFontFamily":"{vis-materialdesign.0.fonts.charts.tooltip_title}","tooltipTitleFontSize":"{vis-materialdesign.0.fontSizes.charts.tooltip_title}","tooltipBodyFontColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.tooltip_text;dark:vis-materialdesign.0.colors.dark.charts.tooltip_text; mode === \"true\" ? dark : light}","tooltipBodyFontFamily":"{vis-materialdesign.0.fonts.charts.tooltip_text}","tooltipBodyFontSize":"{vis-materialdesign.0.fontSizes.charts.tooltip_text}","xAxisPosition":"bottom","xAxisTicksSource":"auto","xAxisTitleColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.x_axis_title;dark:vis-materialdesign.0.colors.dark.charts.x_axis_title; mode === \"true\" ? dark : light}","xAxisTitleFontFamily":"{vis-materialdesign.0.fonts.charts.x_axis_title}","xAxisTitleFontSize":"{vis-materialdesign.0.fontSizes.charts.x_axis_title}","xAxisValueLabelColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.x_axis_values;dark:vis-materialdesign.0.colors.dark.charts.x_axis_values; mode === \"true\" ? dark : light}","xAxisValueFontFamily":"{vis-materialdesign.0.fonts.charts.x_axis_values}","xAxisValueFontSize":"{vis-materialdesign.0.fontSizes.charts.x_axis_values}","xAxisDistanceBetweenTicks":"10","xAxisValueDistanceToAxis":"0","xAxisShowAxis":"true","xAxisShowAxisLabels":"true","xAxisShowGridLines":"true","xAxisGridLinesColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.x_axis_gridlines;dark:vis-materialdesign.0.colors.dark.charts.x_axis_gridlines; mode === \"true\" ? dark : light}","xAxisShowTicks":"true","xAxisZeroLineColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.x_axis_zeroline;dark:vis-materialdesign.0.colors.dark.charts.x_axis_zeroline; mode === \"true\" ? dark : light}","xAxisMinRotation":"0","xAxisMaxRotation":"0","yAxisTitleColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.y_axis_values;dark:vis-materialdesign.0.colors.dark.charts.y_axis_values; mode === \"true\" ? dark : light}","yAxisTitleFontFamily":"{vis-materialdesign.0.fonts.charts.y_axis_title}","yAxisTitleFontSize":"{vis-materialdesign.0.fontSizes.charts.y_axis_title}","yAxisValueLabelColor":"{mode:vis-materialdesign.0.colors.darkTheme;light:vis-materialdesign.0.colors.light.charts.y_axis_values;dark:vis-materialdesign.0.colors.dark.charts.y_axis_values; mode === \"true\" ? dark : light}","yAxisValueFontFamily":"{vis-materialdesign.0.fonts.charts.y_axis_values}","yAxisValueFontSize":"{vis-materialdesign.0.fontSizes.charts.y_axis_values}","yAxisValueDistanceToAxis":"10","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,"mdwDebug":false,"titleLayout":"#mdwTheme:vis-materialdesign.0.fontSizes.card.title","titleFontFamily":"#mdwTheme:vis-materialdesign.0.fonts.card.title","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","tooltipPosition":"nearest","tooltipBodyAlignment":"left","barWidth":"100"},"style":{"left":"3px","top":"40px","width":"1394px","height":"334px"},"widgetSet":"materialdesign"}]
          
          1 Reply Last reply Reply Quote 0
          • P
            PatrickWalther Developer last edited by

            Hi, es gibt seit heute Mittag die Api v24.6 welche auf pvgis basiert. Mehr Infos siehe Link.

            https://joint-research-centre.ec.europa.eu/pvgis-photovoltaic-geographical-information-system/getting-started-pvgis/pvgis-user-manual_en

            1 Reply Last reply Reply Quote 0
            • P
              PatrickWalther Developer last edited by

              Test PV Forecast Adapter 0.2.5
              Veröffentlichungsdatum 01.03.2022
              Github Link https://github.com/iobroker-community-adapters/ioBroker.pvforecast

              Guten Tag,

              seit gestern gibt es die neue Version und der Adapter ist in der Iobroker community(bitte beachtet den neuen Link). Der Antrag für die offizielle Liste ist gestellt.

              Grüße
              Patrick

              Diginix 1 Reply Last reply Reply Quote 1
              • Diginix
                Diginix last edited by Diginix

                @Meistertr

                Heute morgen 1 Uhr hatte ich folgende Fehler im Log:

                2022-03-02 01:00:03.720 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.00:30:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.724 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.01:00:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.725 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.01:30:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.725 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.02:00:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.725 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.02:30:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.726 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.03:00:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.726 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.03:30:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.726 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.04:00:00" has no existing object, this might lead to an error in future versions
                2022-03-02 01:00:03.727 - warn: pvforecast.0 (1873535) State "pvforecast.0.1.everyhour_kw.04:30:00" has no existing object, this might lead to an error in future versions
                

                Die gleichen Meldungen kamen gestern nach der Erstinst. von 0.2.5. Da könnte ich es verstehen, aber täglich sollte das doch nicht passieren?
                Unterhalb von pvforecast.0.1.everyhour_kw fängt es aber auch erst mit 5 Uhr an.
                d2952aa4-e7d7-462c-89a3-68a90aff30a0-image.png

                Meistertr 2 Replies Last reply Reply Quote 0
                • Meistertr
                  Meistertr Developer @Diginix last edited by

                  @diginix i will fix 😊

                  1 Reply Last reply Reply Quote 1
                  • B
                    bastian-m last edited by bastian-m

                    Vielen Dank an euch für die stetige Weiterentwicklung dieses Adapters.
                    Ich habe einen neuen Feature-Request bei Github eingetragen.
                    Ich bastle seit längerer zeit an einer prognosebasierten Verbrauchssteuerung, das Grundkonzept funktioniert mittlerweile. Was dafür aber bisher fehlt: Die Aufteilung von everyhour_kw auf zwei Ordner für "today" und "tomorrow".

                    Mein Script kann bisher an Hand der Prognosedaten in "everyhour_kw" für einen Verbraucher von dem die Laufzeit und die Leistungsaufnahme übergeben werden entscheiden, zu welcher Uhrzeit der Verbraucher am optimalsten gestartet wird um einen möglichst hohen Eigenverbrauch zu erzielen. Das möchte ich gerne ausbauen, indem ich z.B. für bestimmte Verbraucher entscheide, ob ich sie z.B. mit geringer Leistung kontinuierlich die Nacht durchlaufen lasse, oder Nachts ausschalte und dann am Folgetag bei viel Sonne mit höherer Leistung ein paar Stunden laufen lasse. Konkretes Anwendungsbeispiel ist meine Wärmepumpe für Heizung/Warmwasser.

                    Ich glaube, so ganz viel Arbeit wäre die Erweiterung des Adapters nicht, oder?

                    Liebe Grüße,
                    Bastian

                    Meistertr 1 Reply Last reply Reply Quote 0
                    • Meistertr
                      Meistertr Developer @bastian-m last edited by

                      @bastian-m das wäre möglich, aber im scipt würde ich sowieso den json datenpunkt nutzen weil er einfacher zu verarbeiten ist als die Objekte

                      B 1 Reply Last reply Reply Quote 0
                      • Meistertr
                        Meistertr Developer @Diginix last edited by

                        @diginix fixed on git

                        1 Reply Last reply Reply Quote 1
                        • Diginix
                          Diginix @PatrickWalther last edited by

                          @patrickwalther sagte in Test PV Forecast Adapter:

                          Test PV Forecast Adapter 0.2.5
                          Veröffentlichungsdatum 01.03.2022
                          Github Link https://github.com/iobroker-community-adapters/ioBroker.pvforecast

                          Guten Tag,

                          seit gestern gibt es die neue Version und der Adapter ist in der Iobroker community(bitte beachtet den neuen Link). Der Antrag für die offizielle Liste ist gestellt.

                          Grüße
                          Patrick

                          Bitte auch den Link im OP auf den offiziellen umstellen.

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            PatrickWalther Developer @Diginix last edited by

                            @diginix was meinst du mit OP?

                            Erster Beitrag wurde geändert

                            Diginix 1 Reply Last reply Reply Quote 1
                            • Diginix
                              Diginix @PatrickWalther last edited by

                              @patrickwalther sagte in Test PV Forecast Adapter:

                              @diginix was meinst du mit OP?

                              Opening Post. Passt. Danke!

                              1 Reply Last reply Reply Quote 0
                              • B
                                bastian-m @Meistertr last edited by

                                @meistertr Wenn ich ernsthaft programmieren könnte bestimmt. 😉 Vielleicht hättet ihr trotzdem Lust das einzubauen, vielleicht ist es ja auch für andere in irgendeiner Form von Nutzen. Dürfte im Adaptercode ja nicht vieeeel mehr als ein bisschen Copy-Paste sein, oder?
                                Patrick habe ich schonmal was gespendet, dir fehlt noch ein Donate-Link in deinem Github-Profil!

                                Diginix 1 Reply Last reply Reply Quote 0
                                • Diginix
                                  Diginix @bastian-m last edited by

                                  @bastian-m Wie machst du denn jetzt den ganzen Vergleich in deinem Skript mit einer (unbekannten) Menge an Objekten?

                                  B 1 Reply Last reply Reply Quote 0
                                  • BananaJoe
                                    BananaJoe Most Active last edited by

                                    Frage zu e-Charts: Das bedingt das save to influxdv genutzt wird oder wie kann ich mir das vorstellen?

                                    Oder besser gesagt; kann mir das bitte jemand noch mal für ... stellen wir uns vor ich wäre 8 Jahre alt ... erklären?

                                    1 Reply Last reply Reply Quote 0
                                    • Bernd 0
                                      Bernd 0 last edited by

                                      Hallo zusammen,
                                      erstmal vielen Dank @Meistertr für die Weiterentwicklung des Adapters.
                                      Ich habe die Daten in der Vis dargestellt und was ich nicht ganz verstehe ist, dass ich bei Solcast meinen Power-Output über den Tag sehe. Maximal kann meine Anlage 9Kw und das Diagramm zeigt das sehr schön.

                                      5cc23ef4-a724-4535-a187-820bcd8d065e-image.png

                                      Die Daten, die ich vom Adapter erhalte kann ich nicht wirklich interpretieren.
                                      Habe ich eine falsche Einstellung getätigt? Habe ich einen Denkfehler?

                                      fd7d3cdb-5c9b-42a3-9b1a-49be3a475bf9-image.png

                                      Es müssten doch eigentlich die gleichen Daten vom Adapter wie von der Solcast Page kommen, oder?

                                      Danke und VG

                                      1 Reply Last reply Reply Quote 0
                                      • Bernd 0
                                        Bernd 0 last edited by

                                        @bernd-0 Habe meinen "Fehler" gefunden. Ich habe den Azimuth von Solcast übernommen. Für den Adapter wird er aber anders berechnet.

                                        1 Reply Last reply Reply Quote 0
                                        • Diginix
                                          Diginix last edited by Diginix

                                          @Meistertr Da nun von solcast nur einmal 1 Uhr am Tag abgerufen wird, ist der Vorhersagewert für tomorrow im Laufe des Tages doch recht "veraltet". Wäre es denkbar/machbar nur diesen über den Tag verteilt noch weiter zu aktualisieren?
                                          Oder ändert sich da bei solcast eh nichts bis zum Beginn des eigentlichen Tages?
                                          Auf der solcast Seite bekomme ich über die API nur die Stundenwerte, aber habe nicht gefunden wo man den Gesamt Ertrag für heute und morgen sehen kann. Aktuell ist der Wert für morgen doch recht hoch und ich denke dass er heute im Laufe des Tages sicher schon nach unten korrigiert wäre, so denn die solcast API das hergibt.

                                          Edit: Habe mir eben nochmal die Werte mit der vom Adapter verwendeten URL von solcast für morgen geholt und summiert und da kommt weiterhin der selbe Wert heraus wie der von 1 Uhr heute morgen. Also wird bei solcast tomorrow im Laufe des Tages anscheinend nicht weiter verfeinert sondert bleibt über den Tag fix.

                                          Meistertr 1 Reply Last reply Reply Quote 0
                                          • BananaJoe
                                            BananaJoe Most Active last edited by BananaJoe

                                            @PatrickWalther

                                            So, es ist vollbracht. Zwar durch die Brust ins Auge, aber es läuft (nebenbei habe ich aber wieder einmal viel gelernt).

                                            Ich habe nun die Vorhersage erfolgreich mit dem SQL-Adapter (und einer MySQL-Datenbank) und dem echarts-Adapter als Anzeige zum laufen bekommen:
                                            65f1abc8-bf77-43da-9914-17be824c2dcb-image.png
                                            gelb ist meine echte Tagesleistung, rot die aus diesem Adapter (auch wenn ich hier Äpfel mit Birnen vergleiche, gelb sind W und rot Wh, daran mache ich mich als nächstes).

                                            Als Vorrausetzung nehme ich einen installierten und funktionsfähigen SQL-Adapter an.
                                            Außerdem habt Ihr den pvforecast Adapter konfiguriert und am laufen so das es einen Datenpunkt mit der Vorhersage gibt. Meine Lösung nutzt den Datenpunkt JSONTable der Anlage. Meine Anlage heißt 600W und der Datenpunkt also

                                            pvforecast.0.600W.JSONTable
                                            

                                            ###################################################################

                                            Schritt 1: Datenpunkt erstellen, konfigurieren und initialisieren
                                            Es braucht einen Datenpunkt der Daten hält, ich habe hier diesen erstellt:

                                            0_userdata.0.Solaranlage.pvforecast
                                            

                                            Als Typ Number bzw. Nummer
                                            Dann habe ich ich SQL für den Datenpunkt eingeschaltet:
                                            ed032325-be5e-40ed-afdb-2da83d0824a2-image.png
                                            Entprellzeit auf 0 da die Daten in einem rutsch geschrieben werden

                                            Nun ist es wichtig im Objekte Explorer dort einmal einen Wert von Hand reinzuschreiben, z.B. eine 42:
                                            97f71f6a-a0a7-4718-86cd-199ad63c96e5-image.png
                                            Erst dann ist der Datenpunkt in der SQL-Datenbank auch angelegt. Das hat mich die ersten bestimmt 20 Minuten nerven gekostet bis ich darauf gekommen bin. Solange funktioniert nämlich das SendTo noch nicht.

                                            Schritt 2: Das Blockly Skript
                                            Ja ja, ich dachte ich könnte das mal eben mit Blockly zusammenklicken statt es direkt in JavaScript zu schreiben. Mach ich vielleicht noch. Nun ist es Blockly mit 3 JavaScript Funktionen weil der SendTo Block einfach nicht zu überreden war das ganze vernünftig zu senden.

                                            Im Spoiler der Blockly-Export

                                            <xml xmlns="https://developers.google.com/blockly/xml">
                                             <variables>
                                               <variable id="xr?C%:}F%HR,+baC%W8n">x</variable>
                                               <variable id="d/.bOP=7VlC5/[+=8g/u">myVAL</variable>
                                               <variable id="SL$d6/`ClO6iqfefh5LN">myTS</variable>
                                               <variable id="B$n_|Lt?V?dltG$1=%U!">JSONTable</variable>
                                               <variable id="zqSSt1.lPBrP!prtJp:[">JSONListe</variable>
                                               <variable id="[,noZ+!#R([v)Vli[JAC">counter</variable>
                                               <variable id="9[xS=sH).DKBS8oGN@cs">i</variable>
                                               <variable id="tkH#qcE=H5/_7~OttW5(">tempDatum</variable>
                                               <variable id="f=MX5bxXCe`#`$z~HXcG">tempLeistung</variable>
                                             </variables>
                                             <block type="procedures_defcustomreturn" id="f5+e$i!@hdFdP7[JA1^`" x="288" y="-212">
                                               <mutation statements="false">
                                                 <arg name="x" varid="xr?C%:}F%HR,+baC%W8n"></arg>
                                               </mutation>
                                               <field name="NAME">ReplaceHyphen</field>
                                               <field name="SCRIPT">cmV0dXJuIHgucmVwbGFjZSgiLy0vZyIsIi4iKTs=</field>
                                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                             </block>
                                             <block type="procedures_defcustomnoreturn" id="W?BjTQs!pguWw4HPwT)p" x="287" y="-162">
                                               <mutation statements="false">
                                                 <arg name="myVAL" varid="d/.bOP=7VlC5/[+=8g/u"></arg>
                                                 <arg name="myTS" varid="SL$d6/`ClO6iqfefh5LN"></arg>
                                               </mutation>
                                               <field name="NAME">SendTo_SQL_storeState</field>
                                               <field name="SCRIPT">Ly8gVW5kIHdlcnQgZXJzdGVsbGVuIHdpZSBnZXBsYW50DQpzZW5kVG8oInNxbC4wIiwgInN0b3JlU3RhdGUiLCB7DQogICAgImlkIjogJzBfdXNlcmRhdGEuMC5Tb2xhcmFubGFnZS5wdmZvcmVjYXN0JywNCiAgICAic3RhdGUiOiB7IA0KICAgICAgICAidmFsIjogbXlWQUwsIA0KICAgICAgICAidHMiOiBteVRTLA0KICAgICAgICAiYWNrIjogdHJ1ZQ0KICAgIH0NCn0sIGFzeW5jIGZ1bmN0aW9uIChyZXN1bHQpIHsNCiAgICBjb25zb2xlLmxvZyhyZXN1bHQpOw0KfSk7</field>
                                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                             </block>
                                             <block type="procedures_defcustomnoreturn" id="m.]d6DR4hIR|rhM`P3KU" x="288" y="-112">
                                               <mutation statements="false"></mutation>
                                               <field name="NAME">SendTo_SQL_deleteAll</field>
                                               <field name="SCRIPT">Ly8gQWxsZXMgbMO2c2NoZW4NCnNlbmRUbygic3FsLjAiLCAiZGVsZXRlQWxsIiwgew0KICAgICJpZCI6ICcwX3VzZXJkYXRhLjAuU29sYXJhbmxhZ2UucHZmb3JlY2FzdCcsDQp9LCBhc3luYyBmdW5jdGlvbiAocmVzdWx0KSB7DQogICAgICBjb25zb2xlLmxvZyhyZXN1bHQpOw0KfSk7DQo=</field>
                                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                             </block>
                                             <block type="comment" id="emF90N[xA].w:e$0a5`A" x="288" y="-62">
                                               <field name="COMMENT">Trigger auf den Datenpunkt JSONTable der</field>
                                               <next>
                                                 <block type="comment" id="v|g5R@PBSlfR{}gqtWR1">
                                                   <field name="COMMENT">gewünschten Anlage</field>
                                                   <next>
                                                     <block type="on_ext" id="2}81gNSPn48mxt-C32N3">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                       <field name="CONDITION">ne</field>
                                                       <field name="ACK_CONDITION"></field>
                                                       <value name="OID0">
                                                         <shadow type="field_oid" id="$fUC/kgh^7[pBZjds,[N">
                                                           <field name="oid">default</field>
                                                         </shadow>
                                                         <block type="text" id="Q~[~L7`?jff9w0!|{R!~">
                                                           <field name="TEXT">pvforecast.0.600W.JSONTable</field>
                                                         </block>
                                                       </value>
                                                       <statement name="STATEMENT">
                                                         <block type="comment" id="xipk,Q4m/$Zbq(9xP]N;">
                                                           <field name="COMMENT">Den JSON in eine Variable als Objekt holen</field>
                                                           <next>
                                                             <block type="variables_set" id="9le8nB_}E+{=^zh:Futa" disabled="true">
                                                               <field name="VAR" id="B$n_|Lt?V?dltG$1=%U!">JSONTable</field>
                                                               <value name="VALUE">
                                                                 <block type="convert_json2object" id="C^`)6e!W4atd.!+{(i`D">
                                                                   <value name="VALUE">
                                                                     <block type="get_value_var" id="CX?q]Gc8j[Ks2F4.yc=c">
                                                                       <field name="ATTR">val</field>
                                                                       <value name="OID">
                                                                         <shadow type="text" id="Y:eexHcUNi5aP`=sh5_;">
                                                                           <field name="TEXT"></field>
                                                                         </shadow>
                                                                         <block type="text" id="2yV92%k{c@aR$t@FV|VK">
                                                                           <field name="TEXT">pvforecast.0.600W.JSONTable</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="variables_set" id="y:J|yOI69aKr_]e}X})q">
                                                                   <field name="VAR" id="B$n_|Lt?V?dltG$1=%U!">JSONTable</field>
                                                                   <value name="VALUE">
                                                                     <block type="on_source" id="GDRdyJ%YUi4U{P:xhe%L">
                                                                       <field name="ATTR">state.val</field>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="comment" id="78{/(q^zo:Vm3)}YeMKs">
                                                                       <field name="COMMENT">Den JSON nochmal als Liste</field>
                                                                       <next>
                                                                         <block type="variables_set" id="$C:;|F_ENe?Kc{f9E*tE" disabled="true">
                                                                           <field name="VAR" id="zqSSt1.lPBrP!prtJp:[">JSONListe</field>
                                                                           <value name="VALUE">
                                                                             <block type="lists_split" id=":4[[9BsVwSu-#SFS/qp#">
                                                                               <mutation mode="SPLIT"></mutation>
                                                                               <field name="MODE">SPLIT</field>
                                                                               <value name="INPUT">
                                                                                 <block type="get_value_var" id="k${_LxJlQ~Jc%^8mQ;J3">
                                                                                   <field name="ATTR">val</field>
                                                                                   <value name="OID">
                                                                                     <shadow type="text">
                                                                                       <field name="TEXT"></field>
                                                                                     </shadow>
                                                                                     <block type="text" id="@(LLEO9DcZC_107PY7e;">
                                                                                       <field name="TEXT">pvforecast.0.600W.JSONTable</field>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="DELIM">
                                                                                 <shadow type="text" id="_=ir)--C~K.5!,@3!%@4">
                                                                                   <field name="TEXT">},</field>
                                                                                 </shadow>
                                                                               </value>
                                                                             </block>
                                                                           </value>
                                                                           <next>
                                                                             <block type="variables_set" id="KTHIaej{MV5TTxsehu:h">
                                                                               <field name="VAR" id="zqSSt1.lPBrP!prtJp:[">JSONListe</field>
                                                                               <value name="VALUE">
                                                                                 <block type="lists_split" id="`#[tp]8]y!L^LEp8OL)J">
                                                                                   <mutation mode="SPLIT"></mutation>
                                                                                   <field name="MODE">SPLIT</field>
                                                                                   <value name="INPUT">
                                                                                     <block type="on_source" id="c),q`)7dZyX)GtW;Oe0Y">
                                                                                       <field name="ATTR">state.val</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="DELIM">
                                                                                     <shadow type="text" id="koPJuBu/Hm/D7+[$DR$`">
                                                                                       <field name="TEXT">},{</field>
                                                                                     </shadow>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <next>
                                                                                 <block type="comment" id="_dDWRwqorhv|K4r20+CF">
                                                                                   <field name="COMMENT">Zähler für die einzelnen Werte</field>
                                                                                   <next>
                                                                                     <block type="variables_set" id="w[HNQFZ(pKC;(LonsppG">
                                                                                       <field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
                                                                                       <value name="VALUE">
                                                                                         <block type="math_number" id="$YD#)Z6].!0wU8:!IFY-">
                                                                                           <field name="NUM">-1</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <next>
                                                                                         <block type="comment" id="nON/.IM*.X5L7BSfqn.j">
                                                                                           <field name="COMMENT">Vorherige Werte löschen</field>
                                                                                           <next>
                                                                                             <block type="procedures_callcustomnoreturn" id="MjjlAd,#02dH9;[91A:e">
                                                                                               <mutation name="SendTo_SQL_deleteAll"></mutation>
                                                                                               <next>
                                                                                                 <block type="comment" id="+UxP]UFX*K*Ay8@+.3D(">
                                                                                                   <field name="COMMENT">Kurz warten ...</field>
                                                                                                   <next>
                                                                                                     <block type="timeouts_wait" id="b#[5BCU4#vD.+@RIgxwr">
                                                                                                       <field name="DELAY">2</field>
                                                                                                       <field name="UNIT">sec</field>
                                                                                                       <next>
                                                                                                         <block type="comment" id="?qlG@bV1nj7K%h8?`S-h">
                                                                                                           <field name="COMMENT">Die Werte abarbeiten:</field>
                                                                                                           <next>
                                                                                                             <block type="controls_forEach" id="sZ%NhNSxC10sAg@O]Kz6">
                                                                                                               <field name="VAR" id="9[xS=sH).DKBS8oGN@cs">i</field>
                                                                                                               <value name="LIST">
                                                                                                                 <block type="variables_get" id="psB3RQ42dmHy[=aKrs!2">
                                                                                                                   <field name="VAR" id="zqSSt1.lPBrP!prtJp:[">JSONListe</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <statement name="DO">
                                                                                                                 <block type="comment" id="0i?Xu2@hUv,g4?;i5Fhl">
                                                                                                                   <field name="COMMENT">Wird beim ersten mal 0 sein</field>
                                                                                                                   <next>
                                                                                                                     <block type="math_change" id="liet[5#L@~`I]t{8:/Es">
                                                                                                                       <field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
                                                                                                                       <value name="DELTA">
                                                                                                                         <shadow type="math_number" id="986qLvCF[J2VK^no0@Rp">
                                                                                                                           <field name="NUM">1</field>
                                                                                                                         </shadow>
                                                                                                                       </value>
                                                                                                                       <next>
                                                                                                                         <block type="comment" id="}fPI/Q;fVu7V-uYuX2I+">
                                                                                                                           <field name="COMMENT">Wir arbeiten die Liste ab, nutzen aber das Objekt!</field>
                                                                                                                           <next>
                                                                                                                             <block type="variables_set" id="^w);@i_kdtjWWf?c}BcO">
                                                                                                                               <field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
                                                                                                                               <value name="VALUE">
                                                                                                                                 <block type="get_attr" id="jTRbW_-wI4-}.!,5V(VJ">
                                                                                                                                   <value name="PATH">
                                                                                                                                     <shadow type="text" id="3r`W9/~ToEj{Abx:)agx">
                                                                                                                                       <field name="TEXT"></field>
                                                                                                                                     </shadow>
                                                                                                                                     <block type="text_join" id="xoFmSb~Y+xnD;cvM|g;-">
                                                                                                                                       <mutation items="2"></mutation>
                                                                                                                                       <value name="ADD0">
                                                                                                                                         <block type="variables_get" id="K9;4LQ$1S/`at#YY52.j">
                                                                                                                                           <field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
                                                                                                                                         </block>
                                                                                                                                       </value>
                                                                                                                                       <value name="ADD1">
                                                                                                                                         <block type="text" id="Kkt8qVr.ykp~NV;@{Uas">
                                                                                                                                           <field name="TEXT">.Uhrzeit</field>
                                                                                                                                         </block>
                                                                                                                                       </value>
                                                                                                                                     </block>
                                                                                                                                   </value>
                                                                                                                                   <value name="OBJECT">
                                                                                                                                     <block type="variables_get" id="`-rw74I`kqylUWgeH*+(">
                                                                                                                                       <field name="VAR" id="B$n_|Lt?V?dltG$1=%U!">JSONTable</field>
                                                                                                                                     </block>
                                                                                                                                   </value>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                               <next>
                                                                                                                                 <block type="comment" id="b?]P+H9BwqfkDRv$/:j(">
                                                                                                                                   <field name="COMMENT">Die - in . umwandeln</field>
                                                                                                                                   <next>
                                                                                                                                     <block type="variables_set" id="k@v15A-cYpf/vbpRa;_z">
                                                                                                                                       <field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
                                                                                                                                       <value name="VALUE">
                                                                                                                                         <block type="procedures_callcustomreturn" id="p[kw(;yI)pXBjjzD#D)~">
                                                                                                                                           <mutation name="ReplaceHyphen">
                                                                                                                                             <arg name="x"></arg>
                                                                                                                                           </mutation>
                                                                                                                                           <value name="ARG0">
                                                                                                                                             <block type="variables_get" id="N)h=(1TR`.9#96=m?A0Y">
                                                                                                                                               <field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
                                                                                                                                             </block>
                                                                                                                                           </value>
                                                                                                                                         </block>
                                                                                                                                       </value>
                                                                                                                                       <next>
                                                                                                                                         <block type="comment" id="I-6Pjzc2in5fU|/L@xLT">
                                                                                                                                           <field name="COMMENT">In ein Datum-Objekt umwandeln</field>
                                                                                                                                           <next>
                                                                                                                                             <block type="variables_set" id="FsILBORsaLrrazBi1L)J">
                                                                                                                                               <field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
                                                                                                                                               <value name="VALUE">
                                                                                                                                                 <block type="convert_from_date" id="4bbw}ZJhpHe}e.*nJ0`M">
                                                                                                                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                                                                   <field name="OPTION">object</field>
                                                                                                                                                   <value name="VALUE">
                                                                                                                                                     <block type="variables_get" id="RjC;=Ac;nPHFrHCNt$SG">
                                                                                                                                                       <field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
                                                                                                                                                     </block>
                                                                                                                                                   </value>
                                                                                                                                                 </block>
                                                                                                                                               </value>
                                                                                                                                               <next>
                                                                                                                                                 <block type="comment" id="?/.AjS+{19mE_EhC6?{%">
                                                                                                                                                   <field name="COMMENT">Die Leistung holen (hier in Wh statt kWh)</field>
                                                                                                                                                   <next>
                                                                                                                                                     <block type="variables_set" id="7$e1=Z.||tt-}b}$`QUX">
                                                                                                                                                       <field name="VAR" id="f=MX5bxXCe`#`$z~HXcG">tempLeistung</field>
                                                                                                                                                       <value name="VALUE">
                                                                                                                                                         <block type="math_arithmetic" id="czVYE)d?^hj;sB8tQW%c" inline="false">
                                                                                                                                                           <field name="OP">MULTIPLY</field>
                                                                                                                                                           <value name="A">
                                                                                                                                                             <shadow type="math_number" id="QXXI#nb51thU(gYujO7l">
                                                                                                                                                               <field name="NUM">1</field>
                                                                                                                                                             </shadow>
                                                                                                                                                             <block type="get_attr" id="!p(Q2{*u/U@(LdLaWO;s">
                                                                                                                                                               <value name="PATH">
                                                                                                                                                                 <shadow type="text">
                                                                                                                                                                   <field name="TEXT"></field>
                                                                                                                                                                 </shadow>
                                                                                                                                                                 <block type="text_join" id="eO+Kc@J#5ncJexgCa;XG">
                                                                                                                                                                   <mutation items="2"></mutation>
                                                                                                                                                                   <value name="ADD0">
                                                                                                                                                                     <block type="variables_get" id="6h@/w;v+5fJ:2k^fRu$`">
                                                                                                                                                                       <field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
                                                                                                                                                                     </block>
                                                                                                                                                                   </value>
                                                                                                                                                                   <value name="ADD1">
                                                                                                                                                                     <block type="text" id="u;lW,EMq1lo;0wl@^s~Z">
                                                                                                                                                                       <field name="TEXT">.Leistung</field>
                                                                                                                                                                     </block>
                                                                                                                                                                   </value>
                                                                                                                                                                 </block>
                                                                                                                                                               </value>
                                                                                                                                                               <value name="OBJECT">
                                                                                                                                                                 <block type="variables_get" id=":wC%m_*5#kUmjSCtRht*">
                                                                                                                                                                   <field name="VAR" id="B$n_|Lt?V?dltG$1=%U!">JSONTable</field>
                                                                                                                                                                 </block>
                                                                                                                                                               </value>
                                                                                                                                                             </block>
                                                                                                                                                           </value>
                                                                                                                                                           <value name="B">
                                                                                                                                                             <shadow type="math_number" id=".oUR!B4y8;}kLXv3HYVD">
                                                                                                                                                               <field name="NUM">1000</field>
                                                                                                                                                             </shadow>
                                                                                                                                                           </value>
                                                                                                                                                         </block>
                                                                                                                                                       </value>
                                                                                                                                                       <next>
                                                                                                                                                         <block type="comment" id=".r}c.6$[JDf=.|#00pZj">
                                                                                                                                                           <field name="COMMENT">Und in die Datenbank schreiben</field>
                                                                                                                                                           <next>
                                                                                                                                                             <block type="procedures_callcustomnoreturn" id="C,/_Emb0_,HXS0:;0?Cb">
                                                                                                                                                               <mutation name="SendTo_SQL_storeState">
                                                                                                                                                                 <arg name="myVAL"></arg>
                                                                                                                                                                 <arg name="myTS"></arg>
                                                                                                                                                               </mutation>
                                                                                                                                                               <value name="ARG0">
                                                                                                                                                                 <block type="variables_get" id="ZX``,0~qVZ*H;d75IT!S">
                                                                                                                                                                   <field name="VAR" id="f=MX5bxXCe`#`$z~HXcG">tempLeistung</field>
                                                                                                                                                                 </block>
                                                                                                                                                               </value>
                                                                                                                                                               <value name="ARG1">
                                                                                                                                                                 <block type="variables_get" id="2rC,dvFPd3*_,1)EOdkN">
                                                                                                                                                                   <field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
                                                                                                                                                                 </block>
                                                                                                                                                               </value>
                                                                                                                                                             </block>
                                                                                                                                                           </next>
                                                                                                                                                         </block>
                                                                                                                                                       </next>
                                                                                                                                                     </block>
                                                                                                                                                   </next>
                                                                                                                                                 </block>
                                                                                                                                               </next>
                                                                                                                                             </block>
                                                                                                                                           </next>
                                                                                                                                         </block>
                                                                                                                                       </next>
                                                                                                                                     </block>
                                                                                                                                   </next>
                                                                                                                                 </block>
                                                                                                                               </next>
                                                                                                                             </block>
                                                                                                                           </next>
                                                                                                                         </block>
                                                                                                                       </next>
                                                                                                                     </block>
                                                                                                                   </next>
                                                                                                                 </block>
                                                                                                               </statement>
                                                                                                             </block>
                                                                                                           </next>
                                                                                                         </block>
                                                                                                       </next>
                                                                                                     </block>
                                                                                                   </next>
                                                                                                 </block>
                                                                                               </next>
                                                                                             </block>
                                                                                           </next>
                                                                                         </block>
                                                                                       </next>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </statement>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                            </xml>
                                            

                                            Anpassen müsst Ihr:

                                            In der JavaScript-Funktion SendTo_SQL_storeState den Namen des Ziel-Datenpunktes:
                                            40558805-14b2-4080-9681-84d67524a428-image.png
                                            gelb markiert:
                                            84a72c5c-f34e-4793-8174-a9eb2ee5e8ad-image.png

                                            Das gleiche in der JavaScript-Funktion SendTo_SQL_DeleteAll
                                            91c29379-c885-4fef-b5b4-c710f95d35ff-image.png

                                            Und im Kopf den Quellpfad zu eurer Anlage:
                                            46235a8d-a6ad-44ff-8668-09fe532644d5-image.png

                                            Und ob Ihr es in kWh oder Wh haben wollt:
                                            cdba127d-a976-408f-a313-22f6ba0d77e3-image.png
                                            (die x 1000 entfernen oder durch 1 Ersetzen bei kWh)

                                            Wenn Ihr das Skript startet passiert erst einmal nichts. Erst wenn neue Daten reinkämen.
                                            Zum Testen könntet Ihr

                                            • Im Trigger von wurde geändert auf wurde aktualisiert ändern
                                            • den pvforecast Adapter einmal neu starten. Zumindest bei mir holt er dann sofort einmal neue Daten

                                            und schon hat er uns die Werte schön in die Datenbank geschrieben:

                                            MariaDB [iobroker]> select * from ts_number where id = '95';
                                            +----+---------------+------+------+-------+------+
                                            | id | ts            | val  | ack  | _from | q    |
                                            +----+---------------+------+------+-------+------+
                                            | 95 | 1646287082001 |    0 |    1 |     0 |    0 |
                                            | 95 | 1646288940000 |   29 |    1 |     0 |    0 |
                                            | 95 | 1646290802000 |  146 |    1 |     0 |    0 |
                                            | 95 | 1646294400000 |  247 |    1 |     0 |    0 |
                                            | 95 | 1646298000000 |  377 |    1 |     0 |    0 |
                                            | 95 | 1646301600000 |  422 |    1 |     0 |    0 |
                                            | 95 | 1646305200000 |  428 |    1 |     0 |    0 |
                                            | 95 | 1646308800000 |  383 |    1 |     0 |    0 |
                                            | 95 | 1646312400000 |  317 |    1 |     0 |    0 |
                                            | 95 | 1646316000000 |  222 |    1 |     0 |    0 |
                                            | 95 | 1646319600000 |  113 |    1 |     0 |    0 |
                                            | 95 | 1646323200000 |   34 |    1 |     0 |    0 |
                                            | 95 | 1646326800000 |    8 |    1 |     0 |    0 |
                                            | 95 | 1646327160000 |    2 |    1 |     0 |    0 |
                                            | 95 | 1646327460000 |    0 |    1 |     0 |    0 |
                                            | 95 | 1646373360000 |    0 |    1 |     0 |    0 |
                                            | 95 | 1646375280000 |   36 |    1 |     0 |    0 |
                                            | 95 | 1646377200000 |  180 |    1 |     0 |    0 |
                                            | 95 | 1646380800000 |  284 |    1 |     0 |    0 |
                                            | 95 | 1646384400000 |  360 |    1 |     0 |    0 |
                                            | 95 | 1646388000000 |  401 |    1 |     0 |    0 |
                                            | 95 | 1646391600000 |  406 |    1 |     0 |    0 |
                                            | 95 | 1646395200000 |  372 |    1 |     0 |    0 |
                                            | 95 | 1646398800000 |  310 |    1 |     0 |    0 |
                                            | 95 | 1646402400000 |  218 |    1 |     0 |    0 |
                                            | 95 | 1646406000000 |  114 |    1 |     0 |    0 |
                                            | 95 | 1646409600000 |   35 |    1 |     0 |    0 |
                                            | 95 | 1646413200000 |    8 |    1 |     0 |    0 |
                                            | 95 | 1646413620000 |    2 |    1 |     0 |    0 |
                                            | 95 | 1646413980000 |    0 |    1 |     0 |    0 |
                                            +----+---------------+------+------+-------+------+
                                            30 rows in set (0.001 sec)
                                            
                                            

                                            Die kann man jetzt in echarts etc. verwenden.

                                            Woran ich noch verzweifle:

                                            // Alles löschen
                                            sendTo("sql.0", "deleteAll", {
                                                "id": '0_userdata.0.Solaranlage.pvforecast',
                                            }, async function (result) {
                                                  console.log(result);
                                            });
                                            

                                            Wie schaffe ich es auch den Wert von id als Variable zu übergeben?
                                            Daran habe ich nämlich 90% der Zeit gesessen. Zuerst habe ich es vergeblich mit dem Blockly-SendTo Block versucht (aber der hat es immer falsch formatiert gesendet) und dann wie ich die festen Werte durch Variablen ersetze.

                                            P sonnenschein 3 Replies Last reply Reply Quote 3
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            532
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            forecast photovoltaik
                                            113
                                            879
                                            195994
                                            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