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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test PV Forecast Adapter

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Test PV Forecast Adapter

Scheduled Pinned Locked Moved Tester
forecastphotovoltaik
881 Posts 114 Posters 288.3k Views 108 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T THELOH

    @patrickwalther
    Moin zusammen,
    da ich die Material Design Widgets nicht nutze sondern Grafana habe ich den Trend in Inventwo Widgets eingebettet. So kann ich Designs fürs Panel umschalten etc.

    Etwas komplizierter war es einen Datenpunkt zu ereugen, der die richtigen Zeitstempel für die Zukunft schreibt. Also die Werte von Heute 05-21 Uhr und Morgen 05-21Uhr in einem DP in die InfluxDB schreibt.

    Das wäre vielleicht noch eine Idee für den Adapter, da ich bei der Suche zur Umsetzung viele Fragen zum Thema und keine Lösung gefunden habe...
    Beste Grüße

    6fd348ac-6425-4764-8ae9-c80937cb7648-grafik.png

    icebearI Online
    icebearI Online
    icebear
    wrote on last edited by
    #608

    @theloh said in Test PV Forecast Adapter:

    Etwas komplizierter war es einen Datenpunkt zu ereugen, der die richtigen Zeitstempel für die Zukunft schreibt. Also die Werte von Heute 05-21 Uhr und Morgen 05-21Uhr in einem DP in die InfluxDB schreibt.

    Könntest du mal kurz erklären wie du das umgesetzt hast?
    Ich würde das gern auch so machen.

    Gruß Holger

    T 1 Reply Last reply
    0
    • icebearI icebear

      @theloh said in Test PV Forecast Adapter:

      Etwas komplizierter war es einen Datenpunkt zu ereugen, der die richtigen Zeitstempel für die Zukunft schreibt. Also die Werte von Heute 05-21 Uhr und Morgen 05-21Uhr in einem DP in die InfluxDB schreibt.

      Könntest du mal kurz erklären wie du das umgesetzt hast?
      Ich würde das gern auch so machen.

      Gruß Holger

      T Offline
      T Offline
      THELOH
      wrote on last edited by
      #609

      @icebear Welche Infos benötigst du? Wie ich den Datenpunkt der in Grafana genutzt wird erzeuge?

      icebearI 1 Reply Last reply
      0
      • T THELOH

        @icebear Welche Infos benötigst du? Wie ich den Datenpunkt der in Grafana genutzt wird erzeuge?

        icebearI Online
        icebearI Online
        icebear
        wrote on last edited by
        #610

        @theloh

        Genau. Wie hast du den DP erzeugt der die Daten dann in die Datenbank schreibt und in Grafana genutzt wird.

        T 1 Reply Last reply
        0
        • icebearI icebear

          @theloh

          Genau. Wie hast du den DP erzeugt der die Daten dann in die Datenbank schreibt und in Grafana genutzt wird.

          T Offline
          T Offline
          THELOH
          wrote on last edited by THELOH
          #611

          @icebear Die Datenpunkte mit den einzelnen Zielzeiten brauchst du nicht....
          Damit meine ich:
          summary.power.hoursToday.05:00:00-21:00:00_TS
          summary.power.hoursTomorrow.05:00:00-21:00:00_TS
          Es sei denn die möchtest zwei Datwnpunkte für Heute und Morgen getrennt.
          Der Datenpunkt den ich im 48h Grafanbild oben habe ist der summary.power.Power_TS

          Du kannst also jeden zweite Zeile löschen.
          VG

          on({id: [].concat(['0_userdata.0.influxdb.pvforecast.0.Steuerung.Zeitstempel_Skript']), change: "ne"}, async function (obj) {
          function getDatum(iSTD){
              let time = new Date();
              time.setHours(iSTD);
              time.setMinutes(0);
              time.setSeconds(0);
              time.setMilliseconds(0);
              return time.getTime()
          }
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(5), val: getState("pvforecast.0.summary.power.hoursToday.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(5), val: getState("pvforecast.0.summary.power.hoursToday.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(6), val: getState("pvforecast.0.summary.power.hoursToday.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(6), val: getState("pvforecast.0.summary.power.hoursToday.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(7), val: getState("pvforecast.0.summary.power.hoursToday.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(7), val: getState("pvforecast.0.summary.power.hoursToday.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(8), val: getState("pvforecast.0.summary.power.hoursToday.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(8), val: getState("pvforecast.0.summary.power.hoursToday.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(9), val: getState("pvforecast.0.summary.power.hoursToday.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(9), val: getState("pvforecast.0.summary.power.hoursToday.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(10), val: getState("pvforecast.0.summary.power.hoursToday.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(10), val: getState("pvforecast.0.summary.power.hoursToday.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(11), val: getState("pvforecast.0.summary.power.hoursToday.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(11), val: getState("pvforecast.0.summary.power.hoursToday.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(12), val: getState("pvforecast.0.summary.power.hoursToday.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(12), val: getState("pvforecast.0.summary.power.hoursToday.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(13), val: getState("pvforecast.0.summary.power.hoursToday.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(13), val: getState("pvforecast.0.summary.power.hoursToday.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(14), val: getState("pvforecast.0.summary.power.hoursToday.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(14), val: getState("pvforecast.0.summary.power.hoursToday.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(15), val: getState("pvforecast.0.summary.power.hoursToday.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(15), val: getState("pvforecast.0.summary.power.hoursToday.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(16), val: getState("pvforecast.0.summary.power.hoursToday.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(16), val: getState("pvforecast.0.summary.power.hoursToday.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(17), val: getState("pvforecast.0.summary.power.hoursToday.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(17), val: getState("pvforecast.0.summary.power.hoursToday.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(18), val: getState("pvforecast.0.summary.power.hoursToday.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(18), val: getState("pvforecast.0.summary.power.hoursToday.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(19), val: getState("pvforecast.0.summary.power.hoursToday.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(19), val: getState("pvforecast.0.summary.power.hoursToday.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(20), val: getState("pvforecast.0.summary.power.hoursToday.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(20), val: getState("pvforecast.0.summary.power.hoursToday.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(21), val: getState("pvforecast.0.summary.power.hoursToday.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(21), val: getState("pvforecast.0.summary.power.hoursToday.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(5) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(5) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(6) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(6) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(7) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(7) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(8) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(8) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(9) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(9) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(10) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(10) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(11) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(11) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(12) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(12) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(13) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(13) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(14) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(14) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(15) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(15) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(16) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(16) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(17) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(17) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(18) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(18) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(19) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(19) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(20) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(20) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(21) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
          sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(21) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
          });
          
          GlasfaserG 1 Reply Last reply
          0
          • T THELOH

            @icebear Die Datenpunkte mit den einzelnen Zielzeiten brauchst du nicht....
            Damit meine ich:
            summary.power.hoursToday.05:00:00-21:00:00_TS
            summary.power.hoursTomorrow.05:00:00-21:00:00_TS
            Es sei denn die möchtest zwei Datwnpunkte für Heute und Morgen getrennt.
            Der Datenpunkt den ich im 48h Grafanbild oben habe ist der summary.power.Power_TS

            Du kannst also jeden zweite Zeile löschen.
            VG

            on({id: [].concat(['0_userdata.0.influxdb.pvforecast.0.Steuerung.Zeitstempel_Skript']), change: "ne"}, async function (obj) {
            function getDatum(iSTD){
                let time = new Date();
                time.setHours(iSTD);
                time.setMinutes(0);
                time.setSeconds(0);
                time.setMilliseconds(0);
                return time.getTime()
            }
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(5), val: getState("pvforecast.0.summary.power.hoursToday.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(5), val: getState("pvforecast.0.summary.power.hoursToday.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(6), val: getState("pvforecast.0.summary.power.hoursToday.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(6), val: getState("pvforecast.0.summary.power.hoursToday.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(7), val: getState("pvforecast.0.summary.power.hoursToday.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(7), val: getState("pvforecast.0.summary.power.hoursToday.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(8), val: getState("pvforecast.0.summary.power.hoursToday.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(8), val: getState("pvforecast.0.summary.power.hoursToday.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(9), val: getState("pvforecast.0.summary.power.hoursToday.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(9), val: getState("pvforecast.0.summary.power.hoursToday.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(10), val: getState("pvforecast.0.summary.power.hoursToday.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(10), val: getState("pvforecast.0.summary.power.hoursToday.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(11), val: getState("pvforecast.0.summary.power.hoursToday.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(11), val: getState("pvforecast.0.summary.power.hoursToday.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(12), val: getState("pvforecast.0.summary.power.hoursToday.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(12), val: getState("pvforecast.0.summary.power.hoursToday.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(13), val: getState("pvforecast.0.summary.power.hoursToday.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(13), val: getState("pvforecast.0.summary.power.hoursToday.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(14), val: getState("pvforecast.0.summary.power.hoursToday.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(14), val: getState("pvforecast.0.summary.power.hoursToday.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(15), val: getState("pvforecast.0.summary.power.hoursToday.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(15), val: getState("pvforecast.0.summary.power.hoursToday.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(16), val: getState("pvforecast.0.summary.power.hoursToday.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(16), val: getState("pvforecast.0.summary.power.hoursToday.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(17), val: getState("pvforecast.0.summary.power.hoursToday.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(17), val: getState("pvforecast.0.summary.power.hoursToday.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(18), val: getState("pvforecast.0.summary.power.hoursToday.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(18), val: getState("pvforecast.0.summary.power.hoursToday.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(19), val: getState("pvforecast.0.summary.power.hoursToday.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(19), val: getState("pvforecast.0.summary.power.hoursToday.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(20), val: getState("pvforecast.0.summary.power.hoursToday.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(20), val: getState("pvforecast.0.summary.power.hoursToday.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(21), val: getState("pvforecast.0.summary.power.hoursToday.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursToday.05:00:00-21:00:00_TS', state: {ts: getDatum(21), val: getState("pvforecast.0.summary.power.hoursToday.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(5) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(5) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.05:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(6) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(6) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.06:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(7) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(7) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.07:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(8) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(8) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.08:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(9) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(9) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.09:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(10) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(10) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.10:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(11) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(11) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.11:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(12) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(12) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.12:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(13) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(13) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.13:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(14) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(14) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.14:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(15) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(15) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.15:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(16) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(16) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.16:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(17) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(17) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.17:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(18) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(18) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.18:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(19) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(19) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.19:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(20) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(20) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.20:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.Power_TS', state: {ts: getDatum(21) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
            sendTo('influxdb.0', 'storeState', {id: 'summary.power.hoursTomorrow.05:00:00-21:00:00_TS', state: {ts: getDatum(21) + 86400000, val: getState("pvforecast.0.summary.power.hoursTomorrow.21:00:00").val, ack: true, from: "javascript.0", q: 0}});
            });
            
            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            wrote on last edited by
            #612

            @theloh

            kannst du bitte die zu Codes , in Code-Tags </> einfügen
            ...

            dp2.gif

            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

            1 Reply Last reply
            1
            • B Offline
              B Offline
              bastian-m
              wrote on last edited by
              #613

              @haus-automatisierung Vielen Dank für deine Entwicklungs- und Pflegearbeit für den Adapter.

              Ich habe ein kleines Feature-Request:
              Mir ist die Eigenheit von Solcast bekannt, dass wenn man tagsüber eine Aktualisierung der Vorhersage abrufen würde, die bis dahin schon vergangenen Stunden seit Sonnenaufgang nicht mehr Teil der aktualisierten Prognose sind und deswegen der Adapter die Solcast-Daten nur einmal in der Nacht abruft. Für meinen Anwendungsfall wäre es klasse, wenn ich trotzdem eine Aktualisierung triggern könnte - mein Vorschlag wäre über einen Datenpunkt. Ich arbeite im Moment an der Implementierung einer "echten" prognosebasierten Verbrauchersteuerung über ioBroker auf Basis dieses Adapters. Beispiel: Ich räume um 11 Uhr die Spülmaschine ein, die ungefähre Leistungsaufnahme der Maschine im Betrieb und die Programmdauer sind eingepflegt, der ioBroker startet die Spülmaschine zu dem Zeitpunkt, wenn der höchste PV-Eigenverbrauch zu erwarten ist. Dafür wird die Ertragsprognose für den Rest des Tages frisch aktualisiert. Die Prognosegüte steigt teils erheblich dadurch.

              Liebe Grüße und allen einen guten Rutsch!

              B 1 Reply Last reply
              0
              • B bastian-m

                @haus-automatisierung Vielen Dank für deine Entwicklungs- und Pflegearbeit für den Adapter.

                Ich habe ein kleines Feature-Request:
                Mir ist die Eigenheit von Solcast bekannt, dass wenn man tagsüber eine Aktualisierung der Vorhersage abrufen würde, die bis dahin schon vergangenen Stunden seit Sonnenaufgang nicht mehr Teil der aktualisierten Prognose sind und deswegen der Adapter die Solcast-Daten nur einmal in der Nacht abruft. Für meinen Anwendungsfall wäre es klasse, wenn ich trotzdem eine Aktualisierung triggern könnte - mein Vorschlag wäre über einen Datenpunkt. Ich arbeite im Moment an der Implementierung einer "echten" prognosebasierten Verbrauchersteuerung über ioBroker auf Basis dieses Adapters. Beispiel: Ich räume um 11 Uhr die Spülmaschine ein, die ungefähre Leistungsaufnahme der Maschine im Betrieb und die Programmdauer sind eingepflegt, der ioBroker startet die Spülmaschine zu dem Zeitpunkt, wenn der höchste PV-Eigenverbrauch zu erwarten ist. Dafür wird die Ertragsprognose für den Rest des Tages frisch aktualisiert. Die Prognosegüte steigt teils erheblich dadurch.

                Liebe Grüße und allen einen guten Rutsch!

                B Offline
                B Offline
                bastian-m
                wrote on last edited by
                #614

                Ich sehe gerade, ein Neustart der Instanz tut offenbar genau das...

                1 Reply Last reply
                0
                • R Offline
                  R Offline
                  RichardDgn
                  wrote on last edited by
                  #615

                  Guten Abend,
                  ich bin absoluter Neuling was ioBroker, influxDB, Raspberry, usw. angeht, versuche aber aktuell mein Glück mit allem was ich in die Finger bekomme.

                  Soweit funktioniert die Abfrage über ioBroker mit PV-Prognose wunderbar, das einzige was ich aktuell noch vermisse ist die prognostizierte Wattstundensumme je voller Stunde über "forecast". (ist der dritte Responseblock über die Beispiel-API: 'https://api.forecast.solar/estimate/50/10/25/45/13')
                  Hiermit könnte man beispielsweise, je nach Ausstattung, einen Batteriespeicher bis zu einer Grenze entladen, da man ja im Vorfeld "weiß", wieviel Ertrag in kWh generiert werden sollte.

                  Ist die Implementierung dieser Werte in Zukunft geplant?

                  Ich traue mir ganz ungern zu das Script zu zerlegen.

                  Herzlichen Dank für eure enormen Leistungen und viele Grüße!

                  haus-automatisierungH 2 Replies Last reply
                  0
                  • R RichardDgn

                    Guten Abend,
                    ich bin absoluter Neuling was ioBroker, influxDB, Raspberry, usw. angeht, versuche aber aktuell mein Glück mit allem was ich in die Finger bekomme.

                    Soweit funktioniert die Abfrage über ioBroker mit PV-Prognose wunderbar, das einzige was ich aktuell noch vermisse ist die prognostizierte Wattstundensumme je voller Stunde über "forecast". (ist der dritte Responseblock über die Beispiel-API: 'https://api.forecast.solar/estimate/50/10/25/45/13')
                    Hiermit könnte man beispielsweise, je nach Ausstattung, einen Batteriespeicher bis zu einer Grenze entladen, da man ja im Vorfeld "weiß", wieviel Ertrag in kWh generiert werden sollte.

                    Ist die Implementierung dieser Werte in Zukunft geplant?

                    Ich traue mir ganz ungern zu das Script zu zerlegen.

                    Herzlichen Dank für eure enormen Leistungen und viele Grüße!

                    haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    wrote on last edited by
                    #616

                    @richarddgn sagte in Test PV Forecast Adapter:

                    das einzige was ich aktuell noch vermisse ist die prognostizierte Wattstundensumme je voller Stunde über "forecast".

                    Stimmt, das wird aktuell nur addiert. Wäre aber recht einfach das mit aufzunehmen. Kann ich mir mal anschauen, wenn ich Zeit finde.

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    1 Reply Last reply
                    0
                    • R RichardDgn

                      Guten Abend,
                      ich bin absoluter Neuling was ioBroker, influxDB, Raspberry, usw. angeht, versuche aber aktuell mein Glück mit allem was ich in die Finger bekomme.

                      Soweit funktioniert die Abfrage über ioBroker mit PV-Prognose wunderbar, das einzige was ich aktuell noch vermisse ist die prognostizierte Wattstundensumme je voller Stunde über "forecast". (ist der dritte Responseblock über die Beispiel-API: 'https://api.forecast.solar/estimate/50/10/25/45/13')
                      Hiermit könnte man beispielsweise, je nach Ausstattung, einen Batteriespeicher bis zu einer Grenze entladen, da man ja im Vorfeld "weiß", wieviel Ertrag in kWh generiert werden sollte.

                      Ist die Implementierung dieser Werte in Zukunft geplant?

                      Ich traue mir ganz ungern zu das Script zu zerlegen.

                      Herzlichen Dank für eure enormen Leistungen und viele Grüße!

                      haus-automatisierungH Online
                      haus-automatisierungH Online
                      haus-automatisierung
                      Developer Most Active
                      wrote on last edited by
                      #617

                      @richarddgn sagte in Test PV Forecast Adapter:

                      Hiermit könnte man beispielsweise, je nach Ausstattung, einen Batteriespeicher bis zu einer Grenze entladen, da man ja im Vorfeld "weiß", wieviel Ertrag in kWh generiert werden sollte.

                      Habe ich in Version 2.5.0 hinzugefügt.

                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                      📚 Meine inoffizielle ioBroker Dokumentation

                      DiginixD 1 Reply Last reply
                      0
                      • haus-automatisierungH haus-automatisierung

                        @richarddgn sagte in Test PV Forecast Adapter:

                        Hiermit könnte man beispielsweise, je nach Ausstattung, einen Batteriespeicher bis zu einer Grenze entladen, da man ja im Vorfeld "weiß", wieviel Ertrag in kWh generiert werden sollte.

                        Habe ich in Version 2.5.0 hinzugefügt.

                        DiginixD Offline
                        DiginixD Offline
                        Diginix
                        wrote on last edited by Diginix
                        #618

                        @haus-automatisierung Seit 2.5.0 wird bei mir pvforecast.0.plants.1.JSONTable mit Solcast nicht mehr aktualisiert. Ich sehe noch die Werte vom 11. und 12.01., die mit v2.4.0 geschrieben wurden.
                        Log zeigt keinerlei Fehler.
                        pvforecast.0.summary.JSONTable ist komplett leer.

                        Nach Downgrade auf 2.4.0 wurden beide JSONTable wieder mit aktuellen Werten gefüllt.

                        ..:: So long! Tom ::..

                        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                        LatziL haus-automatisierungH 2 Replies Last reply
                        0
                        • DiginixD Diginix

                          @haus-automatisierung Seit 2.5.0 wird bei mir pvforecast.0.plants.1.JSONTable mit Solcast nicht mehr aktualisiert. Ich sehe noch die Werte vom 11. und 12.01., die mit v2.4.0 geschrieben wurden.
                          Log zeigt keinerlei Fehler.
                          pvforecast.0.summary.JSONTable ist komplett leer.

                          Nach Downgrade auf 2.4.0 wurden beide JSONTable wieder mit aktuellen Werten gefüllt.

                          LatziL Online
                          LatziL Online
                          Latzi
                          wrote on last edited by
                          #619

                          @diginix sagte in Test PV Forecast Adapter:

                          Seit 2.5.0 wird bei mir pvforecast.0.plants.1.JSONTable mit Solcast nicht mehr aktualisiert. Ich sehe noch die Werte vom 11. und 12.01., die mit v2.4.0 geschrieben wurden.
                          Log zeigt keinerlei Fehler.
                          pvforecast.0.summary.JSONTable ist komplett leer.
                          Nach Downgrade auf 2.4.0 wurden beide JSONTable wieder mit aktuellen Werten gefüllt.

                          Kann ich genau so bestätigen

                          1 Reply Last reply
                          0
                          • DiginixD Diginix

                            @haus-automatisierung Seit 2.5.0 wird bei mir pvforecast.0.plants.1.JSONTable mit Solcast nicht mehr aktualisiert. Ich sehe noch die Werte vom 11. und 12.01., die mit v2.4.0 geschrieben wurden.
                            Log zeigt keinerlei Fehler.
                            pvforecast.0.summary.JSONTable ist komplett leer.

                            Nach Downgrade auf 2.4.0 wurden beide JSONTable wieder mit aktuellen Werten gefüllt.

                            haus-automatisierungH Online
                            haus-automatisierungH Online
                            haus-automatisierung
                            Developer Most Active
                            wrote on last edited by
                            #620

                            @diginix sagte in Test PV Forecast Adapter:

                            pvforecast.0.summary.JSONTable ist komplett leer.

                            Danke, muss ich mir angucken. Habe relativ viel umbauen müssen, damit die Energie-Daten auch in die Struktur aufgenommen werden konnten.

                            Machst Du einen GitHub Issue, damit ich das nicht vergesse?

                            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                            📚 Meine inoffizielle ioBroker Dokumentation

                            DiginixD 1 Reply Last reply
                            0
                            • haus-automatisierungH haus-automatisierung

                              @diginix sagte in Test PV Forecast Adapter:

                              pvforecast.0.summary.JSONTable ist komplett leer.

                              Danke, muss ich mir angucken. Habe relativ viel umbauen müssen, damit die Energie-Daten auch in die Struktur aufgenommen werden konnten.

                              Machst Du einen GitHub Issue, damit ich das nicht vergesse?

                              DiginixD Offline
                              DiginixD Offline
                              Diginix
                              wrote on last edited by
                              #621

                              @haus-automatisierung Bekommst du:
                              https://github.com/iobroker-community-adapters/ioBroker.pvforecast/issues/82

                              ..:: So long! Tom ::..

                              NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                              1 Reply Last reply
                              1
                              • JB_SullivanJ Offline
                                JB_SullivanJ Offline
                                JB_Sullivan
                                wrote on last edited by
                                #622

                                Habe die 2.5.0 auf dem System und heute Morgen diese Fehlermeldung im Log gefunden. Instanz läuft aber einwandfrei und auch die Grafiken wurden erzeugt.

                                
                                pvforecast.0
                                2023-01-13 09:47:12.064	error	Axios Error TypeError: Cannot read property 'ratelimit' of undefined
                                
                                pvforecast.0
                                2023-01-13 09:47:04.648	error	Axios Error TypeError: Cannot read property 'ratelimit' of undefined
                                

                                ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                                haus-automatisierungH 1 Reply Last reply
                                0
                                • JB_SullivanJ JB_Sullivan

                                  Habe die 2.5.0 auf dem System und heute Morgen diese Fehlermeldung im Log gefunden. Instanz läuft aber einwandfrei und auch die Grafiken wurden erzeugt.

                                  
                                  pvforecast.0
                                  2023-01-13 09:47:12.064	error	Axios Error TypeError: Cannot read property 'ratelimit' of undefined
                                  
                                  pvforecast.0
                                  2023-01-13 09:47:04.648	error	Axios Error TypeError: Cannot read property 'ratelimit' of undefined
                                  
                                  haus-automatisierungH Online
                                  haus-automatisierungH Online
                                  haus-automatisierung
                                  Developer Most Active
                                  wrote on last edited by
                                  #623

                                  @jb_sullivan Mh, die Meldung müsste aber schon "immer" da sein. Gucke ich mir an, danke.

                                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                  📚 Meine inoffizielle ioBroker Dokumentation

                                  LatziL 1 Reply Last reply
                                  0
                                  • haus-automatisierungH haus-automatisierung

                                    @jb_sullivan Mh, die Meldung müsste aber schon "immer" da sein. Gucke ich mir an, danke.

                                    LatziL Online
                                    LatziL Online
                                    Latzi
                                    wrote on last edited by Latzi
                                    #624

                                    @haus-automatisierung
                                    mit der 2.5.1 bleibt bei mir bei solcast die pvforecast.0.summary.JSONTable leer ([]). Die JSONTable der einzelnen Anlagen sind jedoch befüllt.
                                    Brauchst du noch weitere Infos?

                                    Edit: github issue ist erstellt: https://github.com/iobroker-community-adapters/ioBroker.pvforecast/issues/83

                                    Edit vom edit (14.01.23 09:09): Nach Löschen der DP´s und kompletter Neuinstallation (Instanz und Adapter vorher gelöscht) läuft´s nun perfekt - issue geschlossen

                                    haus-automatisierungH 1 Reply Last reply
                                    0
                                    • LatziL Latzi

                                      @haus-automatisierung
                                      mit der 2.5.1 bleibt bei mir bei solcast die pvforecast.0.summary.JSONTable leer ([]). Die JSONTable der einzelnen Anlagen sind jedoch befüllt.
                                      Brauchst du noch weitere Infos?

                                      Edit: github issue ist erstellt: https://github.com/iobroker-community-adapters/ioBroker.pvforecast/issues/83

                                      Edit vom edit (14.01.23 09:09): Nach Löschen der DP´s und kompletter Neuinstallation (Instanz und Adapter vorher gelöscht) läuft´s nun perfekt - issue geschlossen

                                      haus-automatisierungH Online
                                      haus-automatisierungH Online
                                      haus-automatisierung
                                      Developer Most Active
                                      wrote on last edited by
                                      #625

                                      @latzi sagte in Test PV Forecast Adapter:

                                      Nach Löschen der DP´s und kompletter Neuinstallation

                                      Da sich bei den Datenpunkten nichts geändert hat, wäre das nicht notwendig gewesen. Einfach die Daten neu vom Service abholen (oder einen Tag warten) hätte auch gereicht.

                                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                      📚 Meine inoffizielle ioBroker Dokumentation

                                      DiginixD 1 Reply Last reply
                                      0
                                      • haus-automatisierungH haus-automatisierung

                                        @latzi sagte in Test PV Forecast Adapter:

                                        Nach Löschen der DP´s und kompletter Neuinstallation

                                        Da sich bei den Datenpunkten nichts geändert hat, wäre das nicht notwendig gewesen. Einfach die Daten neu vom Service abholen (oder einen Tag warten) hätte auch gereicht.

                                        DiginixD Offline
                                        DiginixD Offline
                                        Diginix
                                        wrote on last edited by
                                        #626

                                        @haus-automatisierung 2.5.1 aktualisiert bei mir alle JSONTable ohne manuelle Eingriffe.

                                        ..:: So long! Tom ::..

                                        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                        haus-automatisierungH 1 Reply Last reply
                                        0
                                        • DiginixD Diginix

                                          @haus-automatisierung 2.5.1 aktualisiert bei mir alle JSONTable ohne manuelle Eingriffe.

                                          haus-automatisierungH Online
                                          haus-automatisierungH Online
                                          haus-automatisierung
                                          Developer Most Active
                                          wrote on last edited by
                                          #627

                                          @diginix Sollte auch so sein, wenn nach dem Upgrade einmal frische Daten vom Server geholt wurden.

                                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                          📚 Meine inoffizielle ioBroker Dokumentation

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          686

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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