Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben

NEWS

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

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

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

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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
awattarbilligbörseepexgünstigstrompreisstündlichtibber
156 Beiträge 24 Kommentatoren 38.1k Aufrufe 33 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    ThomKast
    schrieb am zuletzt editiert von ThomKast
    #1

    Die nachfolgende Beschreibung führt die bisherige Lösung im alten Artikel fort und ermöglicht das automatische Einschalten der Waschmaschine (WM), Spülmaschine (SM) oder Geschirrspüler (GS) nicht nur bei PV-Überschuss sondern nun auch bei günstigen stündlichen Strompreisen.

    Soll heißen: Die bisherige Lösung wird nicht weiter beschrieben/aktualisiert.

    Das bisherige Konzept / die bisherigen Funktionen können im alten Beitrag eingesehen werden. Dafür fallen die nachfolgenden Ausführungen etwas :stuck_out_tongue_closed_eyes: kürzer aus. Neue Leser sollten also zuerst den alten Artikel lesen.

    Euer Feedback/Vorschläge/Verbesserungen sind wie immer gerne gesehen :+1:.


    V0.93 vom 30.01.2023

    • Wenn die Betriebsart "epex" lautet und man sich zeitlich in den "günstigen Stunden" bewegte, erfolgt nun der direkte Start der Maschine.
      Vor dieser Änderung wurde die TSD erst freigeschaltet "bst", wenn die nächste "günstige Stunde" erreicht wurde.
      @theGrinch - vielen Dank für Deine Anregung.
      Geräte-Script zum Download wurde erneuert. Die Screenshots wurden nicht aktualisiert.

    V0.92 vom 29.12.2022 mit allen Änderungen des Postverlaufs bis zum 29.12.2022

    • Erneuerung des Screenshots zu den Tibber-Datenpunkten und der Download-Datei.
    • Erneuerung der Download-Datei des TIBBER-Scripts.
    • Erneuerung des Screenshots zu den Waschmaschine-Datenpunkten. Die Download-Datei vom 10.12.2022 kann unverändert verwendet werden.
    • Erneuerung der Download-Datei des Geräte-Scripts.

    V0.91 vom 13.12.2022

    • Änderung unter 3.5 "Steckdose einschalten". Es wird der "waschvorgang" nach Änderung neu geladen. Dies war nötig, weil eine händische Freigabe, also eintragen von "fgg" in den Datenpunkt "waschvorgang" nicht berücksichtigt wurde.
    • Die Erstelle-Text-Bausteine wurden gestrafft.
    • Aktualisiertes Geräte-Script wurde eingefügt.

    V0.9 vom 10.12.2022

    • Erste Version der EPEX-Steuerung, die bereits mehrere Tage erfolgreich läuft.
    • Mit dem TIBBER-DEMO-Token "5K4MVS-OjfWhK_4yrjOlFe1F6kJXPVf7eQYggo8ebAE" (ohne " ") können die NOK-Preise abgeholt werden, ohne dass ein persönlicher Vertrag vorliegen muss. Es existiert leider kein DEMO-Token mit dem Preise des deutschen Marktes abgeholt werden können.

    Vorbereitung / Voraussetzung
    Da wir zum 31.01.23 zu TIBBER wechseln und dann anhand stündlicher Strompreise abgerechnet werden, war es nötig Verbraucher möglichst automatisch zu den Stunden mit den günstigsten Preisen zu starten. In der Umsetzung bedeutet dies, dass die Freigabe "fgg" nicht nur im Fall von PV-Überschuss, sondern auch zu günstigen Stunden erteilt werden soll.
    Die Stundenpreise stehen bereits am Vortag ab 14:00 Uhr für den Folgetage zur Verfügung und können über die TIBBER-API abgeholt werden.


    Anforderung
    Um nicht nur auf "die eine" günstigste Stunde festgelegt zu sein, sollen die Stunden ermittelt werden, in denen der Preis noch einigermaßen günstig ist. Dazu soll es möglich sein einen prozentualen Aufschlag (Hysterese) auf den günstigsten Preis zu definieren.
    Die Stunden, an denen der Strompreis unterhalb des "geringster Preis" + "Hysterese" liegt, sollen ermittelt werden.
    Die Befüllung / Der Start der Verbraucher WM/SM/GS soll zu jeder Zeit erfolgen können. Allerdings soll der Waschvorgang erst zu den günstigen Stunden gestartet werden.
    Eine neue/weitere Betriebsart "EPEX" soll zur Auswahl zur Verfügung stehen.


    Umsetzung
    Die Umsetzung erfolgt in 2 getrennten Scripten.

    1. Das TIBBER-Script sorgt für das tägliche Abholen der Stundenpreise und Ermittlung des günstigsten Preises, sowie der Stunden, zu denen die Tasmota-Steckdosen (TSD) eingeschaltet werden sollen.
    2. Über das Geräte-Script werden die verschiedenen Betriebsarten abgedeckt und die TSD geschaltet.

    1. Umsetzung: TIBBERpreise abholen und günstige Stunden ermitteln

    Folgende Datenpunkte werden benötigt: (Download der JSON-Datei unterhalb des Bildes)
    0719fe0f-59a8-4abb-b0a8-1d40a2cc7257-image.png
    JSON Datei zum runterladen: 2022-12-29_0_userdata.0.Tibber.json

    • Abholzeit = Uhrzeit, zu der die Stundenpreise bei TIBBER heruntergeladen werden sollen
    • Geringster_Preis = der kleinste Stundenpreis des Tages
    • Geringster_Preis_Stunde = die Stunde zu der der Strompreis am geringsten ist
    • Preis_Hysterese = um wieviel % soll aufgeschlagen werden, um weiterhin als "günstig" zu gelten
    • Preis_Hysterese_Stunden = Stunden, zu denen der Strompreis noch "günstig" ist. Oder Stunden, zu denen die TSD eingeschaltet wird.
    • Stundenpreise_heute = JSON Daten aus der Tibber-API für den aktuellen Tag
    • Stundenpreise_morgen = JSON Daten aus der Tibber-API für den kommenden Tag

    Zugehöriges BLOCKLY-Script: (Download der JSON-Datei unterhalb des Bildes)

    020a59cb-646a-41dd-ae59-da7f228a0865-image.pngd1753b55-1f9b-4aec-a821-84e0596ae9e7-image.png43e01cca-8ec0-40d4-a4c8-5d497fd3bcef-image.png

    Script zum runterladen: 2022-12-29_TIBBER_script_BLOCKLY.json


    2. Umsetzung: Verbraucher bei günstigen Stunden einschalten

    Das Geräte-Script, in dem die TSD abhängig der Freigabe gesteuert wird, basiert grundlegend auf der vorherigen Lösung und wurde um die EPEX-Freigabe ergänzt. Zusätzlich wurde das Script der vorherigen Lösung ein wenig gestrafft. Nachfolgend wird nur auf die EPEX-Ergänzungen eingegangen.

    Die nötigen Datenpunkte wurden wie folgt überarbeitet: (download der JSON-Datei unterhalb des Bildes)
    6b6ca2b2-50a5-4fa7-9eca-38560b8cb036-image.png JSON-Datei zum runterladen: 2022-12-10_0_userdata.0.Waschmaschine.json


    Erweitert wurde die "Betriebsart". Es kann nun zwischen "Start sofort", "EPEX" und "PV-Überschuss" gewählt werden.

    Im Geräte-Script erfolgten diese Anpassungen: (Download unterhalb der Bilder)

    Angepasste Variablen und grundlegende Beschreibung:
    de19e584-2b36-4120-901a-8961821afb8f-image.png
    Die neue Betriebsart wird abgefragt und der Anfangsstatus gesetzt:
    Der Ablauf der EPEX-Freigabe ist beschrieben worden:
    aca27e6a-52d3-472c-90e3-1ba3f1d9dc1d-image.png

    Die EPEX-Prüfung und Freigabe wurde ergänzt:
    82bb9a95-6acc-41ee-b397-b94ed7e8a5d3-image.png
    f34755b0-4f77-4e18-a917-1e31fd6c2f29-image.png

    Geräte-Script zum Download: 2023-01-30_TIBBER_script_BLOCKLY.json


    Erfahrungen / Anpassungen / Ausblick

    • Wartende Maschine öffnen:
      Aktuell ist es nicht möglich eine auf Freigabe wartende Maschine zu öffnen, um z.B. weitere Wäsche oder Geschirr einzulegen. Da die TSD ausgeschaltet ist, kann auch die Maschine nicht geöffnet werden. Hierzu bedarf es einer Funktion, die die TSD kurzzeitig einschaltet und dann wieder abschaltet, um weiterhin auf die Freigabe zu warten.

    • Kombination EPEX mit PV-Überschuss
      Über eine weitere kombinierte Betriebsart sollte es möglich sein, den ioBroker entscheiden zu lassen, ob die Geräte mit PV-Überstrom oder nach EPEX in günstigen Stunden, gestartet werden sollen.

    M H C E 5 Antworten Letzte Antwort
    0
    • T ThomKast

      Die nachfolgende Beschreibung führt die bisherige Lösung im alten Artikel fort und ermöglicht das automatische Einschalten der Waschmaschine (WM), Spülmaschine (SM) oder Geschirrspüler (GS) nicht nur bei PV-Überschuss sondern nun auch bei günstigen stündlichen Strompreisen.

      Soll heißen: Die bisherige Lösung wird nicht weiter beschrieben/aktualisiert.

      Das bisherige Konzept / die bisherigen Funktionen können im alten Beitrag eingesehen werden. Dafür fallen die nachfolgenden Ausführungen etwas :stuck_out_tongue_closed_eyes: kürzer aus. Neue Leser sollten also zuerst den alten Artikel lesen.

      Euer Feedback/Vorschläge/Verbesserungen sind wie immer gerne gesehen :+1:.


      V0.93 vom 30.01.2023

      • Wenn die Betriebsart "epex" lautet und man sich zeitlich in den "günstigen Stunden" bewegte, erfolgt nun der direkte Start der Maschine.
        Vor dieser Änderung wurde die TSD erst freigeschaltet "bst", wenn die nächste "günstige Stunde" erreicht wurde.
        @theGrinch - vielen Dank für Deine Anregung.
        Geräte-Script zum Download wurde erneuert. Die Screenshots wurden nicht aktualisiert.

      V0.92 vom 29.12.2022 mit allen Änderungen des Postverlaufs bis zum 29.12.2022

      • Erneuerung des Screenshots zu den Tibber-Datenpunkten und der Download-Datei.
      • Erneuerung der Download-Datei des TIBBER-Scripts.
      • Erneuerung des Screenshots zu den Waschmaschine-Datenpunkten. Die Download-Datei vom 10.12.2022 kann unverändert verwendet werden.
      • Erneuerung der Download-Datei des Geräte-Scripts.

      V0.91 vom 13.12.2022

      • Änderung unter 3.5 "Steckdose einschalten". Es wird der "waschvorgang" nach Änderung neu geladen. Dies war nötig, weil eine händische Freigabe, also eintragen von "fgg" in den Datenpunkt "waschvorgang" nicht berücksichtigt wurde.
      • Die Erstelle-Text-Bausteine wurden gestrafft.
      • Aktualisiertes Geräte-Script wurde eingefügt.

      V0.9 vom 10.12.2022

      • Erste Version der EPEX-Steuerung, die bereits mehrere Tage erfolgreich läuft.
      • Mit dem TIBBER-DEMO-Token "5K4MVS-OjfWhK_4yrjOlFe1F6kJXPVf7eQYggo8ebAE" (ohne " ") können die NOK-Preise abgeholt werden, ohne dass ein persönlicher Vertrag vorliegen muss. Es existiert leider kein DEMO-Token mit dem Preise des deutschen Marktes abgeholt werden können.

      Vorbereitung / Voraussetzung
      Da wir zum 31.01.23 zu TIBBER wechseln und dann anhand stündlicher Strompreise abgerechnet werden, war es nötig Verbraucher möglichst automatisch zu den Stunden mit den günstigsten Preisen zu starten. In der Umsetzung bedeutet dies, dass die Freigabe "fgg" nicht nur im Fall von PV-Überschuss, sondern auch zu günstigen Stunden erteilt werden soll.
      Die Stundenpreise stehen bereits am Vortag ab 14:00 Uhr für den Folgetage zur Verfügung und können über die TIBBER-API abgeholt werden.


      Anforderung
      Um nicht nur auf "die eine" günstigste Stunde festgelegt zu sein, sollen die Stunden ermittelt werden, in denen der Preis noch einigermaßen günstig ist. Dazu soll es möglich sein einen prozentualen Aufschlag (Hysterese) auf den günstigsten Preis zu definieren.
      Die Stunden, an denen der Strompreis unterhalb des "geringster Preis" + "Hysterese" liegt, sollen ermittelt werden.
      Die Befüllung / Der Start der Verbraucher WM/SM/GS soll zu jeder Zeit erfolgen können. Allerdings soll der Waschvorgang erst zu den günstigen Stunden gestartet werden.
      Eine neue/weitere Betriebsart "EPEX" soll zur Auswahl zur Verfügung stehen.


      Umsetzung
      Die Umsetzung erfolgt in 2 getrennten Scripten.

      1. Das TIBBER-Script sorgt für das tägliche Abholen der Stundenpreise und Ermittlung des günstigsten Preises, sowie der Stunden, zu denen die Tasmota-Steckdosen (TSD) eingeschaltet werden sollen.
      2. Über das Geräte-Script werden die verschiedenen Betriebsarten abgedeckt und die TSD geschaltet.

      1. Umsetzung: TIBBERpreise abholen und günstige Stunden ermitteln

      Folgende Datenpunkte werden benötigt: (Download der JSON-Datei unterhalb des Bildes)
      0719fe0f-59a8-4abb-b0a8-1d40a2cc7257-image.png
      JSON Datei zum runterladen: 2022-12-29_0_userdata.0.Tibber.json

      • Abholzeit = Uhrzeit, zu der die Stundenpreise bei TIBBER heruntergeladen werden sollen
      • Geringster_Preis = der kleinste Stundenpreis des Tages
      • Geringster_Preis_Stunde = die Stunde zu der der Strompreis am geringsten ist
      • Preis_Hysterese = um wieviel % soll aufgeschlagen werden, um weiterhin als "günstig" zu gelten
      • Preis_Hysterese_Stunden = Stunden, zu denen der Strompreis noch "günstig" ist. Oder Stunden, zu denen die TSD eingeschaltet wird.
      • Stundenpreise_heute = JSON Daten aus der Tibber-API für den aktuellen Tag
      • Stundenpreise_morgen = JSON Daten aus der Tibber-API für den kommenden Tag

      Zugehöriges BLOCKLY-Script: (Download der JSON-Datei unterhalb des Bildes)

      020a59cb-646a-41dd-ae59-da7f228a0865-image.pngd1753b55-1f9b-4aec-a821-84e0596ae9e7-image.png43e01cca-8ec0-40d4-a4c8-5d497fd3bcef-image.png

      Script zum runterladen: 2022-12-29_TIBBER_script_BLOCKLY.json


      2. Umsetzung: Verbraucher bei günstigen Stunden einschalten

      Das Geräte-Script, in dem die TSD abhängig der Freigabe gesteuert wird, basiert grundlegend auf der vorherigen Lösung und wurde um die EPEX-Freigabe ergänzt. Zusätzlich wurde das Script der vorherigen Lösung ein wenig gestrafft. Nachfolgend wird nur auf die EPEX-Ergänzungen eingegangen.

      Die nötigen Datenpunkte wurden wie folgt überarbeitet: (download der JSON-Datei unterhalb des Bildes)
      6b6ca2b2-50a5-4fa7-9eca-38560b8cb036-image.png JSON-Datei zum runterladen: 2022-12-10_0_userdata.0.Waschmaschine.json


      Erweitert wurde die "Betriebsart". Es kann nun zwischen "Start sofort", "EPEX" und "PV-Überschuss" gewählt werden.

      Im Geräte-Script erfolgten diese Anpassungen: (Download unterhalb der Bilder)

      Angepasste Variablen und grundlegende Beschreibung:
      de19e584-2b36-4120-901a-8961821afb8f-image.png
      Die neue Betriebsart wird abgefragt und der Anfangsstatus gesetzt:
      Der Ablauf der EPEX-Freigabe ist beschrieben worden:
      aca27e6a-52d3-472c-90e3-1ba3f1d9dc1d-image.png

      Die EPEX-Prüfung und Freigabe wurde ergänzt:
      82bb9a95-6acc-41ee-b397-b94ed7e8a5d3-image.png
      f34755b0-4f77-4e18-a917-1e31fd6c2f29-image.png

      Geräte-Script zum Download: 2023-01-30_TIBBER_script_BLOCKLY.json


      Erfahrungen / Anpassungen / Ausblick

      • Wartende Maschine öffnen:
        Aktuell ist es nicht möglich eine auf Freigabe wartende Maschine zu öffnen, um z.B. weitere Wäsche oder Geschirr einzulegen. Da die TSD ausgeschaltet ist, kann auch die Maschine nicht geöffnet werden. Hierzu bedarf es einer Funktion, die die TSD kurzzeitig einschaltet und dann wieder abschaltet, um weiterhin auf die Freigabe zu warten.

      • Kombination EPEX mit PV-Überschuss
        Über eine weitere kombinierte Betriebsart sollte es möglich sein, den ioBroker entscheiden zu lassen, ob die Geräte mit PV-Überstrom oder nach EPEX in günstigen Stunden, gestartet werden sollen.

      M Offline
      M Offline
      MikeRow
      schrieb am zuletzt editiert von
      #2

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

      Gruß Mikerow

      T 2 Antworten Letzte Antwort
      0
      • M MikeRow

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

        Gruß Mikerow

        T Offline
        T Offline
        ThomKast
        schrieb am zuletzt editiert von
        #3

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

        M 1 Antwort Letzte Antwort
        0
        • T ThomKast

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

          M Offline
          M Offline
          MikeRow
          schrieb am zuletzt editiert von
          #4

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

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

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


          var myName = "tibber.createchartdata";

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

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

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

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

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

          createBarChartData();

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

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

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

          };

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

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

          };

          View


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

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

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

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

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

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

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

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

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

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

          }

          /**

          Writing Google html file.
          @param {object} [callback] Optional: A callback function which is executed after proceeding this function.
          */
          function writeGoogleHtml(callback = undefined) {
          let result = writeFile('vis.0', FILE_PATH, buildHTML(), function (error) {
          if (error) {
          log('[Error] Error while executing writeFile(): ' + error);
          if (typeof callback === 'function') { // execute if a function was provided to parameter callback
          if (LOG_DEBUG) log('[Debug] Function to callback parameter was provided');
          return callback(false);
          } else {
          return;
          }
          } else {
          if (LOG_DEBUG) log('[Debug] File successfully written: [' + FILE_PATH + ']');
          if (typeof callback === 'function') { // execute if a function was provided to parameter callback
          if (LOG_DEBUG) log('[Debug] Function to callback parameter was provided');
          return callback(true);
          } else {
          return;
          }
          }
          })
          return result;
          }
          function buildHTML() {
          let html = '';
          html += '<html>\n';
          html += '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>\n';
          html += '<script type="text/javascript">\n';
          html += "google.charts.load('current', {'packages':['corechart']});\n";
          html += "google.charts.setOnLoadCallback(drawChart);\n";
          html += "function drawChart() {"; + "\n";

          html += "var data = new google.visualization.DataTable();\n";
          html += "data.addColumn('number', 'hour');\n";
          html += "data.addColumn('number', 'today');\n";
          html += "data.addColumn({type: 'number', role: 'annotation'});\n";
          html += "data.addColumn('number', 'tomorrow');\n";
          html += "data.addColumn({type: 'number', role: 'annotation'});\n";
          for (let i = 0; i <= 9; i++) {
          let tLow = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesToday.' + i + '.total').val;
          let tHigh = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesTomorrow.' + i + '.total').val;
          html += " data.addRow([" + i + ", " + tLow + ", " + tLow + ", " + tHigh + ", " + tHigh + "]);\n";
          }
          for (let i = 10; i <= 23; i++) {
          let tLow = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesToday.' + i + '.total').val;
          let tHigh = getState('tibberconnect.0.Homes.63e548f3-8b32-4eed-9c9b-9eacb9f9558e.PricesTomorrow.' + i + '.total').val;
          html += " data.addRow([" + i + ", " + tLow + ", " + tLow + ", " + tHigh + ", " + tHigh + "]);\n";
          }

          // See: https://developers.google.com/chart/interactive/docs/gallery/linechart#configuration-options
          html += "var options = {\n";
          // Line colors (HTML): lower upper
          html += " colors: ['CornflowerBlue', 'DarkTurquoise'],\n";
          html += " curveType: 'function', backgroundColor: 'transparent', pointSize: 4,\n";
          html += " hAxis: { textStyle:{color:'black'}},\n";
          html += " vAxis: { textPosition: 'none', textStyle:{color:'red'},\n";
          html += " baselineColor:'transparent', gridlines:{count:0} }, legend: { position: 'bottom' },\n";
          html += " annotations: { stem: { length: 5, color: 'transparent' }, textStyle: {fontSize: 10, alwaysOutside: true, bold: false} }\n";
          html += "};\n";
          html += "var chart = new google.visualization.LineChart(document.getElementById('mychart'));\n";
          html += "chart.draw(data, options);\n";
          html += "}\n";
          html += "</script>\n";
          html += '<div id="mychart" style="width: 700px; height: 400px;"></div>\n';
          html += '</html>\n';
          return html;
          }

          T 1 Antwort Letzte Antwort
          0
          • M MikeRow

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

            Gruß Mikerow

            T Offline
            T Offline
            ThomKast
            schrieb am zuletzt editiert von
            #5

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

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

            Gruß Mikerow

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

            W 1 Antwort Letzte Antwort
            0
            • T ThomKast

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

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

              Gruß Mikerow

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

              W Offline
              W Offline
              Wesertaler
              schrieb am zuletzt editiert von
              #6

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

              Vielen Dank,
              Peter

              T 1 Antwort Letzte Antwort
              0
              • W Wesertaler

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

                Vielen Dank,
                Peter

                T Offline
                T Offline
                ThomKast
                schrieb am zuletzt editiert von ThomKast
                #7

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

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

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

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

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

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

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

                Beste Grüße und viel Erfolg, Thomas

                PS: Die obige Beschreibung werde ich noch überarbeiten. Zur Zeit fehlt die Zeit ;-)

                1 Antwort Letzte Antwort
                1
                • D Offline
                  D Offline
                  dieterh
                  schrieb am zuletzt editiert von
                  #8

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

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

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

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

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

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

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

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

                  Beste Grüße und viel Erfolg, Thomas

                  PS: Die obige Beschreibung werde ich noch überarbeiten. Zur Zeit fehlt die Zeit ;-)

                  Hallo Thomas,

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

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    ThomKast
                    schrieb am zuletzt editiert von
                    #9

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

                    2022-12-23_Tibber_Script_Blöcke_export_import.html

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

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

                    D W 2 Antworten Letzte Antwort
                    1
                    • T ThomKast

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

                      2022-12-23_Tibber_Script_Blöcke_export_import.html

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

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

                      D Offline
                      D Offline
                      dieterh
                      schrieb am zuletzt editiert von
                      #10

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

                      2022-12-23_Tibber_Script_Blöcke_export_import.html

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

                      1 Antwort Letzte Antwort
                      1
                      • T ThomKast

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

                        2022-12-23_Tibber_Script_Blöcke_export_import.html

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

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

                        W Offline
                        W Offline
                        Wesertaler
                        schrieb am zuletzt editiert von Wesertaler
                        #11

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

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

                        Nochmals vielen Dank für Deinen Support!
                        Peter

                        T 1 Antwort Letzte Antwort
                        1
                        • W Wesertaler

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

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

                          Nochmals vielen Dank für Deinen Support!
                          Peter

                          T Offline
                          T Offline
                          ThomKast
                          schrieb am zuletzt editiert von
                          #12

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

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

                          Beste Grüße, Thomas

                          1 Antwort Letzte Antwort
                          1
                          • T Offline
                            T Offline
                            ThomKast
                            schrieb am zuletzt editiert von
                            #13

                            Hallo Zusammen,

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

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

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

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

                            Beste Grüße, Thomas

                            T 1 Antwort Letzte Antwort
                            0
                            • T ThomKast

                              Hallo Zusammen,

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

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

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

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

                              Beste Grüße, Thomas

                              T Offline
                              T Offline
                              ThomKast
                              schrieb am zuletzt editiert von
                              #14

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

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

                              W 1 Antwort Letzte Antwort
                              0
                              • T ThomKast

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

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

                                W Offline
                                W Offline
                                Wesertaler
                                schrieb am zuletzt editiert von
                                #15

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

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

                                Grüße
                                Peter

                                T 1 Antwort Letzte Antwort
                                0
                                • W Wesertaler

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

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

                                  Grüße
                                  Peter

                                  T Offline
                                  T Offline
                                  ThomKast
                                  schrieb am zuletzt editiert von
                                  #16

                                  @wesertaler
                                  Hi Peter,

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

                                  Beste Grüße, Thomas

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    dieterh
                                    schrieb am zuletzt editiert von
                                    #17

                                    Hallo Thomas,

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

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

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

                                    Bildschirmfoto 2022-12-29 um 17.03.39.png

                                    Wurde das vergessen oder stehe ich gerade auf dem Schlauch :blush: ?

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

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • D dieterh

                                      Hallo Thomas,

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

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

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

                                      Bildschirmfoto 2022-12-29 um 17.03.39.png

                                      Wurde das vergessen oder stehe ich gerade auf dem Schlauch :blush: ?

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

                                      T Offline
                                      T Offline
                                      ThomKast
                                      schrieb am zuletzt editiert von ThomKast
                                      #18

                                      @dieterh
                                      Hallo Dieter,

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

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

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

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

                                      Beste Grüße, Thomas

                                      D 1 Antwort Letzte Antwort
                                      0
                                      • T ThomKast

                                        @dieterh
                                        Hallo Dieter,

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

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

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

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

                                        Beste Grüße, Thomas

                                        D Offline
                                        D Offline
                                        dieterh
                                        schrieb am zuletzt editiert von
                                        #19

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

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • D dieterh

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

                                          T Offline
                                          T Offline
                                          ThomKast
                                          schrieb am zuletzt editiert von
                                          #20

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

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          628

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe