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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    414

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

Scheduled Pinned Locked Moved Tester
360 Posts 49 Posters 98.9k Views 53 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J JoAu84

    Hallo! Bin hier schon eine Weile als Mitleser dabei. Bisher funktionierte der Adapter bei mir ganz gut, bis auf die bekannten Verbindungsabbrüche; deswegen nutze ich das Skript von @ThomKast
    Bisher funktionierte das auch; seit gestern Mittag gibts keine Verbindung mehr! Jemand dasselbe Problem? Ich vermute ja eher, dass es an Tibber liegt…
    Viele Grüße!

    M Offline
    M Offline
    MikeRow
    wrote on last edited by MikeRow
    #132

    @joau8 Bei mir läuft es, gerade mal getestet
    06550d02-a9c2-4c27-9ea6-9c64bfc05cdd-image.png

    Nur im Tibberconnect Adapter kommt seit gestern das LiveMeasurement nicht mehr rüber

    M T J 3 Replies Last reply
    0
    • M MikeRow

      @joau8 Bei mir läuft es, gerade mal getestet
      06550d02-a9c2-4c27-9ea6-9c64bfc05cdd-image.png

      Nur im Tibberconnect Adapter kommt seit gestern das LiveMeasurement nicht mehr rüber

      M Offline
      M Offline
      MikeRow
      wrote on last edited by MikeRow
      #133

      Moin in die Runde. Mein Adapter bleibt heute auf gelb und in den Logs sehe ich
      854df318-a12d-40ff-80bc-45eec03edab5-image.png Nur das LiveMeasurement kommt nicht rüber

      In der API kommt aber was raus

      54d988b7-6dfd-4a86-8268-bfe6108f9d98-image.png

      M 1 Reply Last reply
      0
      • M Offline
        M Offline
        Michaelnorge
        wrote on last edited by
        #134

        Hallo.
        Ich bekomme den Adapter seit gestern nicht mehr online.
        Laufend bekomme ich die unten genannten Fehler.

        Hab schon vor einiger Zeit ein issue aufgemacht, da war es nur sporadisch - aber jetzt geht nichts mehr.

        Gibt es hier mehrere mit dem gleichen Problem?
        Ich benutze den Pulse.

        Grüße
        Michael

        2023-01-12 15:43:46.138 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:46.946 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:47.247 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:48.076 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:48.766 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:49.512 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:50.051 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:50.370 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:50.688 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:51.224 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:51.566 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:52.162 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:52.258 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:52.676 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:53.007 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:53.798 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:54.498 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:54.562 - error: tibberconnect.0 (16647) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
        2023-01-12 15:43:54.563 - error: tibberconnect.0 (16647) unhandled promise rejection: undefined
        2023-01-12 15:43:54.563 - error: tibberconnect.0 (16647) undefined
        2023-01-12 15:43:54.570 - info: tibberconnect.0 (16647) terminating
        2023-01-12 15:43:54.571 - warn: tibberconnect.0 (16647) Terminated (UNCAUGHT_EXCEPTION): Without reason
        2023-01-12 15:43:55.013 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
        2023-01-12 15:43:55.014 - warn: tibberconnect.0 (16647) setInterval called, but adapter is shutting down
        2023-01-12 15:43:55.130 - warn: tibberconnect.0 (16647) get state error: Connection is closed.
        2023-01-12 15:43:55.261 - error: host.raspberrypi instance system.adapter.tibberconnect.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
        2023-01-12 15:43:55.262 - info: host.raspberrypi Restart adapter system.adapter.tibberconnect.0 because enabled
        

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

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

          Moin in die Runde. Mein Adapter bleibt heute auf gelb und in den Logs sehe ich
          854df318-a12d-40ff-80bc-45eec03edab5-image.png Nur das LiveMeasurement kommt nicht rüber

          In der API kommt aber was raus

          54d988b7-6dfd-4a86-8268-bfe6108f9d98-image.png

          M Offline
          M Offline
          Michaelnorge
          wrote on last edited by
          #135

          @mikerow Jepp, mir bekannt, geht zur Zeit nichts mehr.

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

          • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
          1 Reply Last reply
          0
          • T Offline
            T Offline
            ThomKast
            wrote on last edited by ThomKast
            #136

            ****** ÄHM, sorry... Nur für alle, die die Daten zwischenzeitlich mit der NodeRed-Lösung abholen *******

            Hallo Zusammen,

            der TIBBER-Adpater in NodeRed muss aktualisiert werden. Es liegt eine neue Version 5.1.4 vor, mit dieser funktioniert der Verbindungsaufbau wieder.
            8832231d-7ac5-4da6-901b-15ab0d0a1c9b-image.png

            Folgendes Vorgehen für die Aktualisierung:

            • In NodeRed -> Hamburger-Menu -> Palette verwalten
              4250749a-96bd-4a73-9578-d89dd03b27e7-image.png

            • "tibber" im Suchfeld eingeben und nach der angezeigten Erweiterung suchen
              e4b0fdca-336a-472a-8360-45e04c45c8be-image.png

            • an der Stelle des langen, leeren, roten Kästchen erschien die Info zur Aktualisierung.
              Diese durchführen.

            • Danach muss NodeRed neu gestartet werden. Also NICHT NUR die Flows neustarten, sondern im ioBroker unter den Instanzen die NodeRed-Instanz.
              ed6c1f29-8a5e-44c3-9aac-6f9529172c17-image.png

            • Dann das NodeRed-Fenster neu laden und die Verbindung zu Tibber sollte wieder laufen, also "connected" sein.
              f56a20a3-3276-4652-8f09-99439afd04aa-image.png

            Hat irgendjemand Ahnung, wie man sich über Aktualisierungen der NodeRed-Adapter informieren lassen kann?

            Beste Grüße, Thomas

            1 Reply Last reply
            0
            • M MikeRow

              @joau8 Bei mir läuft es, gerade mal getestet
              06550d02-a9c2-4c27-9ea6-9c64bfc05cdd-image.png

              Nur im Tibberconnect Adapter kommt seit gestern das LiveMeasurement nicht mehr rüber

              T Offline
              T Offline
              ThomKast
              wrote on last edited by
              #137

              @mikerow
              Kann es sein, dass Du etwas durcheinander wirfst?..? Die Daten die Du dort zeigst, werden doch durch meine Skript-Lösung aus dem anderen Beitrag erzeugt. Oder irre ich mich??? ;-)
              Sollte ich nicht irren, dann wird dazu kein Adapter benötigt, sondern nur der Request aus dem Script ausgeführt.

              M 1 Reply Last reply
              0
              • T ThomKast

                @mikerow
                Kann es sein, dass Du etwas durcheinander wirfst?..? Die Daten die Du dort zeigst, werden doch durch meine Skript-Lösung aus dem anderen Beitrag erzeugt. Oder irre ich mich??? ;-)
                Sollte ich nicht irren, dann wird dazu kein Adapter benötigt, sondern nur der Request aus dem Script ausgeführt.

                M Offline
                M Offline
                MikeRow
                wrote on last edited by
                #138

                @thomkast Ja, du hast Recht. Ich hatte auf den Beitrag von @JoAu84 geantwortet. Er meinte, dein Script liefert keine Daten. Da ist wohl etwas durcheinander geraten.

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  Michaelnorge
                  wrote on last edited by
                  #139

                  Wieviele Anfragen sendet der Adapter eigentlich? Wenn ich ihn starte, gibt es eine Fehlermeldung von Pi-Hole:

                  2023-01-12 19:08:41	RATE_LIMIT	Client 192.168.178.149 has been rate-limited (current config allows up to 1000 queries in 60 seconds)
                  

                  Hab ja nicht viel Plan, aber kann es sein, daß die API blockt bei zu vielen Anfragen?

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

                  • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    ThomKast
                    wrote on last edited by
                    #140

                    @michaelnorge
                    Hatten wir das nicht schon mal weiter oben??
                    Allerdings hatte ich dazu keine Antwort finden können...

                    T 1 Reply Last reply
                    0
                    • T ThomKast

                      @michaelnorge
                      Hatten wir das nicht schon mal weiter oben??
                      Allerdings hatte ich dazu keine Antwort finden können...

                      T Offline
                      T Offline
                      tobe4it
                      wrote on last edited by
                      #141

                      Der tibberconnect Adapter V0.0.9 läuft nicht mehr. Ich nehme an, dass das an der Umstellung seitens Tibber liegt: Breaking change in websocket subscription:

                      https://developer.tibber.com/docs/overview#breaking-websocket-change

                      Im Code des Adapters steht noch api.tibber.com. Ich hab' versucht das auf websocket-api.tibber.com zu ändern, blicke bei dem Code aber scheinbar nicht durch. Sind nur main.ts und main.js anzupassen?

                      Ich hab' das für mich jetzt mit dem Umweg über die Anbindung von Home Assistant an ioBroker gelöst. Dort wurde die Änderung bereits eingepflegt.

                      1 Reply Last reply
                      0
                      • O Offline
                        O Offline
                        oxident
                        wrote on last edited by
                        #142

                        Komisch, bei mir klappt der Adapter wunderbar. Jedoch beginnt mein Vertrag erst in ein paar Wochen und der Pulse ist auch nicht da.

                        Aber die stündlichen Preise werden brav aktualisiert.

                        M 1 Reply Last reply
                        0
                        • O oxident

                          Komisch, bei mir klappt der Adapter wunderbar. Jedoch beginnt mein Vertrag erst in ein paar Wochen und der Pulse ist auch nicht da.

                          Aber die stündlichen Preise werden brav aktualisiert.

                          M Offline
                          M Offline
                          MikeRow
                          wrote on last edited by
                          #143

                          @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

                          O 1 Reply Last reply
                          1
                          • M MikeRow

                            @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

                            O Offline
                            O Offline
                            oxident
                            wrote on last edited by
                            #144

                            @mikerow said in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                            @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

                            Ahh ok. Das ist wirklich nicht gut. Wollte darüber in Zukunft die Steuerung meines PC-Akkus laufen lassen. Wäre blöd, wenn das "unzuverlässig" ist.

                            M 1 Reply Last reply
                            0
                            • O oxident

                              @mikerow said in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                              @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

                              Ahh ok. Das ist wirklich nicht gut. Wollte darüber in Zukunft die Steuerung meines PC-Akkus laufen lassen. Wäre blöd, wenn das "unzuverlässig" ist.

                              M Offline
                              M Offline
                              Michaelnorge
                              wrote on last edited by
                              #145

                              @oxident said in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                              Wäre blöd, wenn das "unzuverlässig" ist.

                              Nicht nur Du bei der die ganze Stromregulierung abhängig ist von diesem Adapter.
                              Aber keine Angst, es wird sicher daran gearbeitet!!

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

                              • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
                              1 Reply Last reply
                              0
                              • T Offline
                                T Offline
                                theGrinch
                                wrote on last edited by theGrinch
                                #146

                                Auf Anregung von @MikeRow habe ich mal die BarChart von @Familienvater auf diesen Adapter angepasst.

                                Einfach das "home" reinkopieren in Zeile 6+7.

                                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 = "tibberconnect.0.Homes.*****.PricesToday.";        // mit . am Ende!
                                var tibberPricesTomorrow = "tibberconnect.0.Homes.*****.PricesTomorrow.";  // 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 = (aktStunde.toString()).slice(-2); //("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 = (aktStunde.toString()).slice(-2); //("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));
                                 
                                };
                                

                                /edit: Originalpost mit allen Infos: https://forum.iobroker.net/topic/47195/diagramm-mit-festen-werten-in-vis-nur-wie/12

                                M O 3 Replies Last reply
                                1
                                • B Offline
                                  B Offline
                                  butsch
                                  wrote on last edited by
                                  #147

                                  Hallo ich habe aktuell einen Unterschied zwischen:

                                  current total 0.1796

                                  und

                                  today 21 total 0.1944

                                  Aktuell ist 21:48 Uhr

                                  Müssten diese Werte nicht identisch sein?

                                  T 1 Reply Last reply
                                  0
                                  • B butsch

                                    Hallo ich habe aktuell einen Unterschied zwischen:

                                    current total 0.1796

                                    und

                                    today 21 total 0.1944

                                    Aktuell ist 21:48 Uhr

                                    Müssten diese Werte nicht identisch sein?

                                    T Offline
                                    T Offline
                                    theGrinch
                                    wrote on last edited by theGrinch
                                    #148

                                    @butsch müssten Sie, sind sie bei mir auch:

                                    tibberconnect.0.Homes.xxxxx.PricesToday.21.total = 0,1794
                                    tibberconnect.0.Homes.xxxxx.CurrentPrice.total = 0,1794

                                    EPEX-Script:
                                    0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_21 = 0,1794

                                    0,1942 habe ich überall ab 22 Uhr.

                                    /edit: Tibber App sagt 17,9c

                                    B 1 Reply Last reply
                                    0
                                    • T theGrinch

                                      @butsch müssten Sie, sind sie bei mir auch:

                                      tibberconnect.0.Homes.xxxxx.PricesToday.21.total = 0,1794
                                      tibberconnect.0.Homes.xxxxx.CurrentPrice.total = 0,1794

                                      EPEX-Script:
                                      0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_21 = 0,1794

                                      0,1942 habe ich überall ab 22 Uhr.

                                      /edit: Tibber App sagt 17,9c

                                      B Offline
                                      B Offline
                                      butsch
                                      wrote on last edited by
                                      #149

                                      @thegrinch Danke, habs gegengecheckt und die Uhrzeit am raspberry hat nicht gestimmt (London) ;-(
                                      Sorry

                                      W 1 Reply Last reply
                                      1
                                      • B butsch

                                        @thegrinch Danke, habs gegengecheckt und die Uhrzeit am raspberry hat nicht gestimmt (London) ;-(
                                        Sorry

                                        W Offline
                                        W Offline
                                        Waldmensch
                                        wrote on last edited by
                                        #150

                                        Mal ne Verständnisfrage: Reicht zur Preisabfrage ein Account bei Tibber mit Api Key oder gibt es die Preisinfo nur, wenn man einen Stromvertrag hat? Die Account Basisdaten werden vom Adapter geladen aber die Preisinfos kommen als leere Arrays.

                                        Wen ich auf der Developer Seite eine Abfragemit meinem Token starte, kommt nur

                                        {
                                          viewer {
                                            homes {
                                              currentSubscription{
                                                priceInfo{
                                                  current{
                                                    total
                                                    energy
                                                    tax
                                                    startsAt
                                                  }
                                                  today {
                                                    total
                                                    energy
                                                    tax
                                                    startsAt
                                                  }
                                                  tomorrow {
                                                    total
                                                    energy
                                                    tax
                                                    startsAt
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                        
                                        {
                                          "data": {
                                            "viewer": {
                                              "homes": [
                                                {
                                                  "currentSubscription": null
                                                }
                                              ]
                                            }
                                          }
                                        }
                                        
                                        T O 2 Replies Last reply
                                        0
                                        • T theGrinch

                                          Auf Anregung von @MikeRow habe ich mal die BarChart von @Familienvater auf diesen Adapter angepasst.

                                          Einfach das "home" reinkopieren in Zeile 6+7.

                                          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 = "tibberconnect.0.Homes.*****.PricesToday.";        // mit . am Ende!
                                          var tibberPricesTomorrow = "tibberconnect.0.Homes.*****.PricesTomorrow.";  // 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 = (aktStunde.toString()).slice(-2); //("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 = (aktStunde.toString()).slice(-2); //("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));
                                           
                                          };
                                          

                                          /edit: Originalpost mit allen Infos: https://forum.iobroker.net/topic/47195/diagramm-mit-festen-werten-in-vis-nur-wie/12

                                          M Offline
                                          M Offline
                                          MikeRow
                                          wrote on last edited by
                                          #151

                                          @thegrinch Super, vielen Dank. Läuft!

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          631

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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