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. Tester
  4. Test Adapter tibber v0.1.x

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.2k

Test Adapter tibber v0.1.x

Geplant Angeheftet Gesperrt Verschoben Tester
testtibber
145 Beiträge 38 Kommentatoren 45.2k Aufrufe 35 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.
  • Andreas Del GaldoA Andreas Del Galdo

    @magnus-1
    Hallo und vielen Dank für deine Mühe.
    Ich wollte den Adapter gerade in Betrieb nehmen und bin dazu offensichtlich gerade nicht in der Lage. Per NPM ist das ganze installiert, allerdings taucht der Adapter nicht in der Adapterliste auf.

    Kannst du mir dazu nochmal Hilfestellung geben?

    Vielen Dank
    Andreas

    @magnus-1 said in Test Adapter tibber v0.1.x:

    Hallo zusammen,

    ich freue mich Euch mit tibber meinen ersten Anlauf für einen ioBroker adapter zum testen bereitzustellen:

    Aktuelle Test Version v0.3.1-beta
    Veröffentlichungsdatum 30.09.2021

    NPM Link | https://www.npmjs.com/package/iobroker.tibber
    Github Link | https://github.com/Magnus8513/ioBroker.tibber

    Aktuell werden durch den Adapter stündlich die variablen Preisinfos für die über die Tibber API eingeholt und in entsprechenden states bereitgestellt. Hierfür ist lediglich der persönliche Tibber token zu hinterlegen.

    Ich habe noch eine handvoll Ideen was ich noch gerne integrieren möchte, und werde diese hier noch ergänzen.

    Ich freue mich auf Euer Feedback. Gerne könnt Ihr auch direkt im GitHub issues aufmachen.

    Report Issue via GitHub

    Link zur Diskussion auf GitHub zum Adapter Request

    Feature Ideen bisher:

    • (new) Zählerstände zurück pushen die über andere Adapter erfasst werden
    • (new) generell weitere (Meta)-Daten die aus der API Schnittstelle kommen und bereitstellen
    • (new) dynamische Berechnung der Ersparnis durch eine stündliche Abrechnung bei entsprechender Lastverschiebung
    • (ready for testing starting ab v0.2.0-beta) eine komfortable Lösung um anderen Adaptern leicht die beste Zeit zum Laufen in den nächsten x stunden zurück zu melden.
    • Eure Ideen...

    Viele Grüße,
    Magnus

    Thomas KohbT Offline
    Thomas KohbT Offline
    Thomas Kohb
    schrieb am zuletzt editiert von Thomas Kohb
    #22

    @andreas-del-galdo

    Hey, ich hab leider das gleiche Problem... per npm installiert aber nicht im Broker zusehen...
    Gibt da ne Lösung?

    pi@iobroker-pi:/opt/iobroker $ sudo iobroker install tibber
    adapter "tibber" already installed. Use "upgrade" to upgrade to a newer version.

    .
    pi@iobroker-pi:/opt/iobroker $ sudo iobroker upgrade tibber
    Adapter "tibber" is not in the repository and cannot be updated.

    M B 2 Antworten Letzte Antwort
    0
    • Thomas KohbT Thomas Kohb

      @andreas-del-galdo

      Hey, ich hab leider das gleiche Problem... per npm installiert aber nicht im Broker zusehen...
      Gibt da ne Lösung?

      pi@iobroker-pi:/opt/iobroker $ sudo iobroker install tibber
      adapter "tibber" already installed. Use "upgrade" to upgrade to a newer version.

      .
      pi@iobroker-pi:/opt/iobroker $ sudo iobroker upgrade tibber
      Adapter "tibber" is not in the repository and cannot be updated.

      M Offline
      M Offline
      Magnus 1
      Developer
      schrieb am zuletzt editiert von
      #23

      @Andreas-Del-Galdo , @Thomas-Kohb : Hallo zusammen, sorry für die verzögerte Rückmeldung. Schaue mir das spätestens am Wochende mal genauer an wo es hier hängt.

      @Michaelnorge : steht auf der todo liste. habe allerdings noch nicht ganz die passende idee wie ich das am besten in der datenstruktur abbilde. Den aktuellen wert in einen Datenpunkt ist sicher klar, aber was mache ich mit der historie? das erzeugt ja schnell sehr viele Datenpunkte im Adapter. Bin nicht sicher ob das so design good practice ist. Hast Du einen Vorschlag?

      M Thomas KohbT 2 Antworten Letzte Antwort
      0
      • M Magnus 1

        @Andreas-Del-Galdo , @Thomas-Kohb : Hallo zusammen, sorry für die verzögerte Rückmeldung. Schaue mir das spätestens am Wochende mal genauer an wo es hier hängt.

        @Michaelnorge : steht auf der todo liste. habe allerdings noch nicht ganz die passende idee wie ich das am besten in der datenstruktur abbilde. Den aktuellen wert in einen Datenpunkt ist sicher klar, aber was mache ich mit der historie? das erzeugt ja schnell sehr viele Datenpunkte im Adapter. Bin nicht sicher ob das so design good practice ist. Hast Du einen Vorschlag?

        M Offline
        M Offline
        Michaelnorge
        schrieb am zuletzt editiert von
        #24

        @magnus-1 Hei ;-)
        Ist denn eine History zwingend notwenig? Mir würde der Momentanwert als Objekt ausreichen, sodaß ich den als Anzeige in der VIS abbilden kann :-)

        –--------------------------------------------------------------------------------------

        • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
        M 1 Antwort Letzte Antwort
        1
        • M Michaelnorge

          @magnus-1 Hei ;-)
          Ist denn eine History zwingend notwenig? Mir würde der Momentanwert als Objekt ausreichen, sodaß ich den als Anzeige in der VIS abbilden kann :-)

          M Offline
          M Offline
          Magnus 1
          Developer
          schrieb am zuletzt editiert von
          #25

          @michaelnorge na dann schau ich mir das doch mal als erstes an und sehe zu, dass ich das schon mal einbau. komme dann ggf. nochmal zum testen auf dich zurück weil ich selbst hier in DE noch kein pulse habe, sondern über discovergy daten bekomme.

          Christian Bock SkoleC M ? V 4 Antworten Letzte Antwort
          0
          • M Magnus 1

            @michaelnorge na dann schau ich mir das doch mal als erstes an und sehe zu, dass ich das schon mal einbau. komme dann ggf. nochmal zum testen auf dich zurück weil ich selbst hier in DE noch kein pulse habe, sondern über discovergy daten bekomme.

            Christian Bock SkoleC Offline
            Christian Bock SkoleC Offline
            Christian Bock Skole
            schrieb am zuletzt editiert von
            #26

            @magnus-1 Prima! Danke dir für deine Mühe!!
            Ich hab jetzt auch den Tibber Pulse bestellt (Norwegen). Werden in den nächsten Tagen die integration ioBroker/Tibber ausprobieren. Frage dich um Hilfe, falls ich er nicht hin kriege, @Michaelnorge :-)

            1 Antwort Letzte Antwort
            1
            • M Magnus 1

              @michaelnorge na dann schau ich mir das doch mal als erstes an und sehe zu, dass ich das schon mal einbau. komme dann ggf. nochmal zum testen auf dich zurück weil ich selbst hier in DE noch kein pulse habe, sondern über discovergy daten bekomme.

              M Offline
              M Offline
              Michaelnorge
              schrieb am zuletzt editiert von
              #27

              @magnus-1 Ja supi!!! Danke Dir !!!

              –--------------------------------------------------------------------------------------

              • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
              1 Antwort Letzte Antwort
              0
              • M Magnus 1

                @michaelnorge na dann schau ich mir das doch mal als erstes an und sehe zu, dass ich das schon mal einbau. komme dann ggf. nochmal zum testen auf dich zurück weil ich selbst hier in DE noch kein pulse habe, sondern über discovergy daten bekomme.

                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                #28

                @magnus-1
                Eben installiert Läuft! :-)
                Supergrosses Dankeschön!!

                Gibt es irgendwo eine Idebank wo man Tipps austauschen kann wie man diese Werte in zB Blockly verwenden kann?

                M 1 Antwort Letzte Antwort
                0
                • M Magnus 1

                  @michaelnorge na dann schau ich mir das doch mal als erstes an und sehe zu, dass ich das schon mal einbau. komme dann ggf. nochmal zum testen auf dich zurück weil ich selbst hier in DE noch kein pulse habe, sondern über discovergy daten bekomme.

                  V Offline
                  V Offline
                  Videonisse
                  schrieb am zuletzt editiert von
                  #29

                  @magnus-1 sagte in Test Adapter tibber v0.1.x:

                  @michaelnorge na dann schau ich mir das doch mal als erstes an und sehe zu, dass ich das schon mal einbau. komme dann ggf. nochmal zum testen auf dich zurück weil ich selbst hier in DE noch kein pulse habe, sondern über discovergy daten bekomme.

                  Ich teste auch gern mit Pulse, ich habe den (Schwedishen?) mit P1 schnittstelle.

                  Wegen die sehr hohe stunden-preisen habe ich jetzt gerade nicht Tibber aber benutze immer noch Pulse mit live data. Hätte es gern in ioBroker :-)

                  ioBroker v3.3.18, Debian 10 Buster 64-bit (Vmware 6.5 VM), Node.js: v12.22.6, NPM: 6.14.15
                  Most important Device Adapters: KNX, Trådfri, Homekit/Yahka

                  M 1 Antwort Letzte Antwort
                  0
                  • V Videonisse

                    @magnus-1 sagte in Test Adapter tibber v0.1.x:

                    @michaelnorge na dann schau ich mir das doch mal als erstes an und sehe zu, dass ich das schon mal einbau. komme dann ggf. nochmal zum testen auf dich zurück weil ich selbst hier in DE noch kein pulse habe, sondern über discovergy daten bekomme.

                    Ich teste auch gern mit Pulse, ich habe den (Schwedishen?) mit P1 schnittstelle.

                    Wegen die sehr hohe stunden-preisen habe ich jetzt gerade nicht Tibber aber benutze immer noch Pulse mit live data. Hätte es gern in ioBroker :-)

                    M Offline
                    M Offline
                    Michaelnorge
                    schrieb am zuletzt editiert von
                    #30

                    @videonisse said in Test Adapter tibber v0.1.x:

                    Wegen die sehr hohe stunden-preisen habe ich jetzt gerade nicht Tibber aber benutze immer noch Pulse mit live data. Hätte es gern in ioBroker

                    Jepp, ich auch ;-)

                    –--------------------------------------------------------------------------------------

                    • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
                    1 Antwort Letzte Antwort
                    0
                    • ? Ein ehemaliger Benutzer

                      @magnus-1
                      Eben installiert Läuft! :-)
                      Supergrosses Dankeschön!!

                      Gibt es irgendwo eine Idebank wo man Tipps austauschen kann wie man diese Werte in zB Blockly verwenden kann?

                      M Offline
                      M Offline
                      Michaelnorge
                      schrieb am zuletzt editiert von
                      #31

                      @A Former User said in Test Adapter tibber v0.1.x:

                      Gibt es irgendwo eine Idebank wo man Tipps austauschen kann wie man diese Werte in zB Blockly verwenden kann?

                      cf3a8a1d-1bd6-456c-a769-f8159ac470aa-grafik.png

                      Die ganzen Ideen spuckt dir Tante Google aus wenn Du danach suchst :-)

                      –--------------------------------------------------------------------------------------

                      • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
                      1 Antwort Letzte Antwort
                      0
                      • T Online
                        T Online
                        theGrinch
                        schrieb am zuletzt editiert von
                        #32

                        Moin,
                        ich bekomme unter "currency" NOK angezeigt und auch Preise, die nicht mit der Tibber App korrelieren.
                        Unter developer.tibber.com bekomme ich mit meinem API Key die korrekten EUR Preise angezeigt.
                        Hast du eine Idee dazu?
                        Super Adapter sonst!

                        T 1 Antwort Letzte Antwort
                        0
                        • T theGrinch

                          Moin,
                          ich bekomme unter "currency" NOK angezeigt und auch Preise, die nicht mit der Tibber App korrelieren.
                          Unter developer.tibber.com bekomme ich mit meinem API Key die korrekten EUR Preise angezeigt.
                          Hast du eine Idee dazu?
                          Super Adapter sonst!

                          T Online
                          T Online
                          theGrinch
                          schrieb am zuletzt editiert von
                          #33

                          @thegrinch hab's gefunden: der persönliche Token wurde scheinbar nicht gespeichert. Jetzt geht's.

                          1 Antwort Letzte Antwort
                          0
                          • Thomas KohbT Thomas Kohb

                            @andreas-del-galdo

                            Hey, ich hab leider das gleiche Problem... per npm installiert aber nicht im Broker zusehen...
                            Gibt da ne Lösung?

                            pi@iobroker-pi:/opt/iobroker $ sudo iobroker install tibber
                            adapter "tibber" already installed. Use "upgrade" to upgrade to a newer version.

                            .
                            pi@iobroker-pi:/opt/iobroker $ sudo iobroker upgrade tibber
                            Adapter "tibber" is not in the repository and cannot be updated.

                            B Offline
                            B Offline
                            Bennideluecks
                            schrieb am zuletzt editiert von
                            #34

                            @thomas-kohb

                            Ich habe auch das gleiche Problem: Über npm installiert, aber nicht unter ioB bei den Instanzen sichtbar. Ich bekomme die gleichen Meldungen angezeigt.

                            Habe ich etwas vergessen?

                            Thomas KohbT 1 Antwort Letzte Antwort
                            0
                            • M Magnus 1

                              @malz1902 gut zu hören, dass es läuft.

                              bzgl. der Meldung über die API ist mit nicht bekannt, dass Tibber das unterstützt für die stundenweise Abrechnung.

                              Ich meine gelesen zu habend, dass es eine Möglichkeit über die API einen Wert zu Tibber zu übertragen gibt - das habe ich noch nicht testen können, da bei mir die Werte bereits sekündlich via Discovergy an tibber gehen.

                              Ob Sie das allerdings anerkennen um darüber dann stündlich abzurechnen weiß ich nicht. Ich meine aber, dass sie grundsätzlich immerhin tagesgenaue Preise anbieten und selbst dafür würde sich ein regelmäßiger Übertrag ja dann schon lohnen. Ich schreib mir das mal auf die Feature-Wunsch-Liste ;)

                              Viele Grüße
                              Magnus

                              T Offline
                              T Offline
                              Tomy020
                              schrieb am zuletzt editiert von
                              #35

                              @magnus-1 Hallo Magnus,

                              vielen Dank für den Adapter. Installiert und läuft super.
                              Den Vorschlag von Malz würde mir auch noch fehlen. Das wäre dann echt super, wenn man die Stundengenaue Abrechnung integrieren könnte.
                              Hab ein Smartmeter von Sungrow, was von Tibber nicht unterstützt wird.

                              Danke
                              VG
                              Thomas

                              1 Antwort Letzte Antwort
                              0
                              • M Magnus 1

                                @Andreas-Del-Galdo , @Thomas-Kohb : Hallo zusammen, sorry für die verzögerte Rückmeldung. Schaue mir das spätestens am Wochende mal genauer an wo es hier hängt.

                                @Michaelnorge : steht auf der todo liste. habe allerdings noch nicht ganz die passende idee wie ich das am besten in der datenstruktur abbilde. Den aktuellen wert in einen Datenpunkt ist sicher klar, aber was mache ich mit der historie? das erzeugt ja schnell sehr viele Datenpunkte im Adapter. Bin nicht sicher ob das so design good practice ist. Hast Du einen Vorschlag?

                                Thomas KohbT Offline
                                Thomas KohbT Offline
                                Thomas Kohb
                                schrieb am zuletzt editiert von
                                #36

                                @magnus-1 Hey, gibt es hier schon eine Lösung? Ich würde den Adapter gern verwenden =)

                                B 1 Antwort Letzte Antwort
                                0
                                • B Bennideluecks

                                  @thomas-kohb

                                  Ich habe auch das gleiche Problem: Über npm installiert, aber nicht unter ioB bei den Instanzen sichtbar. Ich bekomme die gleichen Meldungen angezeigt.

                                  Habe ich etwas vergessen?

                                  Thomas KohbT Offline
                                  Thomas KohbT Offline
                                  Thomas Kohb
                                  schrieb am zuletzt editiert von
                                  #37

                                  @bennideluecks ich hab bis jetzt auch noch nicht raus, was ich falsch mache =(

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • Thomas KohbT Thomas Kohb

                                    @bennideluecks ich hab bis jetzt auch noch nicht raus, was ich falsch mache =(

                                    M Offline
                                    M Offline
                                    Magnus 1
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #38

                                    @thomas-kohb hi, sorry fürs vertrösten, schaffe es gerade nicht mich an das Thema dran zu setzten und habe adhoc auch keine Idee wo es hier bei Dir hakt.

                                    Hat einer von den Nutzern bei denen es läuft eine Idee wo hier das Problem liegen könnte bei Thomas und kann helfen?

                                    W 1 Antwort Letzte Antwort
                                    0
                                    • Thomas KohbT Thomas Kohb

                                      @magnus-1 Hey, gibt es hier schon eine Lösung? Ich würde den Adapter gern verwenden =)

                                      B Offline
                                      B Offline
                                      berlinerbolle
                                      schrieb am zuletzt editiert von berlinerbolle
                                      #39

                                      @thomas-kohb

                                      Nach der Installation taucht der Adapter noch nicht in den Instanzen auf, sondern nur in der Adapter-Liste. Von dort kannst Du dann ganz normal eine Instanz hinzufügen.

                                      Installiert habe ich über Expert mode --> install from custom URL --> und dann bei "from github" den Github Link "https://github.com/Magnus8513/ioBroker.tibber" eingeben. So ging es bei mir.

                                      Edit: sorry falls Du das alles sowieso getan hast, soll nicht altklug rüberkommen - ich weiß nicht, wie vertraut du mit der Prozedur bist, und manchmal übersieht man ja was. ;)

                                      1 Antwort Letzte Antwort
                                      0
                                      • G Offline
                                        G Offline
                                        Gatam
                                        schrieb am zuletzt editiert von
                                        #40

                                        Habe mir nun auch den Tibber Adapter installiert.
                                        Vielen Dank für die Entwicklung.

                                        Ich bin Tibber Kunde und habe einen Discovergy Smartmeter im Keller.

                                        Fertige Lösungen sind gut
                                        Aber noch mehr will ich wissen wie und warum etwas funktioniert

                                        1 Antwort Letzte Antwort
                                        0
                                        • T Online
                                          T Online
                                          theGrinch
                                          schrieb am zuletzt editiert von theGrinch
                                          #41

                                          Moin,
                                          ich habe mal das Script von @Mic angepasst um die Strompreise für heute und morgen als Graph anzuzeigen.
                                          Erzeugt eine html-Seite, die dann über iframe in der vis eingebunden werden kann.

                                          /****************************************************************************************************
                                           * 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)
                                           * --------------------------------------------------------------------------------------------------
                                           * Change Log:
                                           *  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/googleChartTibber.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('tibber.0.priceInfo.today.0' + i + '.total').val;
                                                  let tHigh  = getState('tibber.0.priceInfo.tomorrow.0' + i + '.total').val;
                                                  html += "    data.addRow([" + i + ", " + tLow + ", " + tLow + ", " + tHigh + ", " + tHigh + "]);\n";
                                              }
                                              for (let i = 10; i <= 23; i++) {
                                                  let tLow = getState('tibber.0.priceInfo.today.' + i + '.total').val;
                                                  let tHigh  = getState('tibber.0.priceInfo.tomorrow.' + 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;
                                          }
                                          

                                          2a256ff7-981b-4442-944a-f45e1bd85ab6-image.png

                                          Der Graph "tomorrow" kommt erst dazu, wenn die Daten festgelegt sind.
                                          Die Münze unten links wird je nach Wert (VERY CHEAP, CHEAP, ...) farbig angezeigt, Widgets dazu:

                                          [{"tpl":"tplImage","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"CHEAP","visibility-groups-action":"hide","refreshInterval":"0","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,"src":"/vis.0/main/img/ioBroker/icons8-coin-49 cheap.png","visibility-oid":"tibber.0.priceInfo.current.level","name":"tibber-coin-cheap"},"style":{"left":"327px","top":"1452px","width":"49px","height":"49px","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"EXPENSIVE","visibility-groups-action":"hide","refreshInterval":"0","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,"src":"/vis.0/main/img/ioBroker/icons8-coin-49 expensive.png","visibility-oid":"tibber.0.priceInfo.current.level","name":"tibber-coin-expensive"},"style":{"left":"325px","top":"1452px","width":"49px","height":"49px","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"NORMAL","visibility-groups-action":"hide","refreshInterval":"0","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,"src":"/vis.0/main/img/ioBroker/icons8-coin-49.png","visibility-oid":"tibber.0.priceInfo.current.level","name":"tibber-coin-normal"},"style":{"left":"325px","top":"1452px","width":"49px","height":"49px","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"VERY_CHEAP","visibility-groups-action":"hide","refreshInterval":"0","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,"src":"/vis.0/main/img/ioBroker/icons8-coin-49 very cheap.png","visibility-oid":"tibber.0.priceInfo.current.level","name":"tibber-coin-very-cheap"},"style":{"left":"325px","top":"1452px","width":"49px","height":"49px","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"VERY_EXPENSIVE","visibility-groups-action":"hide","refreshInterval":"0","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,"src":"/vis.0/main/img/ioBroker/icons8-coin-49 very expensive.png","visibility-oid":"tibber.0.priceInfo.current.level","name":"tibber-coin-very-expensive"},"style":{"left":"325px","top":"1452px","width":"49px","height":"49px","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"tibber.0.priceInfo.current.total","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","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},"style":{"left":"324px","top":"1507px","z-index":"5"},"widgetSet":"basic"}]
                                          
                                          G 1 Antwort Letzte Antwort
                                          2
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          519

                                          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