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 TibberConnect 0.0.x inkl. Tibber Pulse

NEWS

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

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

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

Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

Geplant Angeheftet Gesperrt Verschoben Tester
360 Beiträge 49 Kommentatoren 91.3k Aufrufe 53 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    ThomKast
    schrieb am zuletzt editiert von
    #140

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

    T 1 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • O Offline
        O Offline
        oxident
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #143

          @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

          O 1 Antwort Letzte Antwort
          1
          • M MikeRow

            @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

            O Offline
            O Offline
            oxident
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • T Online
                T Online
                theGrinch
                schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                1
                • B Offline
                  B Offline
                  butsch
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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 Online
                    T Online
                    theGrinch
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #149

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

                      W 1 Antwort Letzte Antwort
                      1
                      • B butsch

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

                        W Offline
                        W Offline
                        Waldmensch
                        schrieb am zuletzt editiert von
                        #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 Antworten Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #151

                          @thegrinch Super, vielen Dank. Läuft!

                          1 Antwort Letzte Antwort
                          1
                          • W Waldmensch

                            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 Offline
                            T Offline
                            ThomKast
                            schrieb am zuletzt editiert von
                            #152

                            @waldmensch
                            Preise werden erst mit Abschluss und Aktivierung eines Vertrags übermittelt. Ich hatte im November 2022 den Vertrag zum 01.01.23 geschlossen und hatte ca. Mitte Dezember erstmalig Zugriff auf Preis Informationen.

                            1 Antwort Letzte Antwort
                            0
                            • W Waldmensch

                              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
                                      }
                                    ]
                                  }
                                }
                              }
                              
                              O Offline
                              O Offline
                              oxident
                              schrieb am zuletzt editiert von
                              #153

                              @waldmensch Ja, gibt es erst nach Vertragsabschluss aber in der Tat auch schon vor Lieferbeginn.

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                Michaelnorge
                                schrieb am zuletzt editiert von
                                #154

                                Gibt es jetzt eigentlich schon einen fix für den Pulse?

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

                                • 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
                                • P PavelCoast

                                  @Codibris
                                  Hallo,

                                  habe Deinen Adapter nun auch installiert, super Arbeit, liefert die Werte, die ich benötige, habe vorher mit Node-RED gearbeitet, allerdings mit der alten API.
                                  Hast Du vor auch die Übertragung des Zählerstandes mit einzubauen?
                                  Soll zwar nur für Norweger sein, aber vielleicht funktioniert es auch hier, dann könnte man täglich den Zählerstand automatisiert senden, statt über die App.

                                  Ich mein dies in der API:
                                  Field Argument Type Description
                                  sendMeterReading MeterReadingResponse!
                                  Send meter reading for home (only available for Norwegian users)

                                  input MeterReadingInput!
                                  updateHome Home!
                                  Update home information

                                  Beste Grüße
                                  René

                                  Michael WyrazM Offline
                                  Michael WyrazM Offline
                                  Michael Wyraz
                                  schrieb am zuletzt editiert von Michael Wyraz
                                  #155

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

                                  Soll zwar nur für Norweger sein, aber vielleicht funktioniert es auch hier, dann könnte man täglich den Zählerstand automatisiert senden, statt über die App.

                                  Leider nicht:

                                  ebec0252-0f27-4e8b-bf59-9492e997b8a0-grafik.png

                                  Dazu müsste man sich die App mal anschauen und die private API herausfinden.

                                  Edit: Hab mir die App mal angeschaut und die private API herausgefunden ^^

                                  https://app.tibber.com/v4/gql

                                  Beispiele:

                                  Auth-Info:

                                  {
                                    me {
                                      id
                                      firstName
                                      homes {
                                        id
                                      }
                                    }
                                  }
                                  

                                  Aktueller Zähler:

                                  {
                                    me {
                                      home(id:"xxxxxx-xxxxxx-xxxxxx-xxxxx") {
                                        currentMeter {
                                          id
                                          meterNo
                                          isUserRead
                                        }
                                      }
                                    }
                                  }
                                  

                                  Zähler und Register anzeigen:

                                  {
                                    me {
                                      meters {
                                        items {
                                          type
                                          title
                                          meter {
                                            id
                                            readingDateScreen {
                                              title
                                              nextButtonText
                                            }
                                            registers {
                                              id
                                              title
                                              description
                                              expectedMin
                                              expectedMax
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                  

                                  Zählerstand eintragen

                                  mutation {
                                    me {
                                      addMeterReadings(meterId: "xxxxx-xxxxx-xxxxx-xxxx-xxxxxxxx",readingDate: "2023-01-16", readings: [{id:"1-0:1.8.0",value:26529}])
                                      {
                                        success {
                                          inputTitle
                                          inputValue
                                          title
                                          descriptionHtml
                                          doneButtonText
                                        }
                                        error {
                                          statusCode
                                          title
                                          message
                                        }
                                      }
                                    }
                                  }
                                  

                                  Viel Spaß damit ;-)

                                  O S 3 Antworten Letzte Antwort
                                  1
                                  • Michael WyrazM Michael Wyraz

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

                                    Soll zwar nur für Norweger sein, aber vielleicht funktioniert es auch hier, dann könnte man täglich den Zählerstand automatisiert senden, statt über die App.

                                    Leider nicht:

                                    ebec0252-0f27-4e8b-bf59-9492e997b8a0-grafik.png

                                    Dazu müsste man sich die App mal anschauen und die private API herausfinden.

                                    Edit: Hab mir die App mal angeschaut und die private API herausgefunden ^^

                                    https://app.tibber.com/v4/gql

                                    Beispiele:

                                    Auth-Info:

                                    {
                                      me {
                                        id
                                        firstName
                                        homes {
                                          id
                                        }
                                      }
                                    }
                                    

                                    Aktueller Zähler:

                                    {
                                      me {
                                        home(id:"xxxxxx-xxxxxx-xxxxxx-xxxxx") {
                                          currentMeter {
                                            id
                                            meterNo
                                            isUserRead
                                          }
                                        }
                                      }
                                    }
                                    

                                    Zähler und Register anzeigen:

                                    {
                                      me {
                                        meters {
                                          items {
                                            type
                                            title
                                            meter {
                                              id
                                              readingDateScreen {
                                                title
                                                nextButtonText
                                              }
                                              registers {
                                                id
                                                title
                                                description
                                                expectedMin
                                                expectedMax
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                    

                                    Zählerstand eintragen

                                    mutation {
                                      me {
                                        addMeterReadings(meterId: "xxxxx-xxxxx-xxxxx-xxxx-xxxxxxxx",readingDate: "2023-01-16", readings: [{id:"1-0:1.8.0",value:26529}])
                                        {
                                          success {
                                            inputTitle
                                            inputValue
                                            title
                                            descriptionHtml
                                            doneButtonText
                                          }
                                          error {
                                            statusCode
                                            title
                                            message
                                          }
                                        }
                                      }
                                    }
                                    

                                    Viel Spaß damit ;-)

                                    O Offline
                                    O Offline
                                    oxident
                                    schrieb am zuletzt editiert von
                                    #156

                                    @michael-wyraz Mal eine blöde Frage: Warum braucht man das? Überträgt die Bridge den Zählerstand nicht automatisch?

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • O oxident

                                      @michael-wyraz Mal eine blöde Frage: Warum braucht man das? Überträgt die Bridge den Zählerstand nicht automatisch?

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

                                      @oxident ich würde denken wenn du deinen Zähler anders als mit dem Pulse ausliest.

                                      O 1 Antwort Letzte Antwort
                                      0
                                      • T theGrinch

                                        @oxident ich würde denken wenn du deinen Zähler anders als mit dem Pulse ausliest.

                                        O Offline
                                        O Offline
                                        oxident
                                        schrieb am zuletzt editiert von
                                        #158

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

                                        @oxident ich würde denken wenn du deinen Zähler anders als mit dem Pulse ausliest.

                                        Ach, das ist möglich/erlaubt? Zumindest theoretisch...

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • O oxident

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

                                          @oxident ich würde denken wenn du deinen Zähler anders als mit dem Pulse ausliest.

                                          Ach, das ist möglich/erlaubt? Zumindest theoretisch...

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

                                          @oxident so wie ich das auf tibber.de gelesen habe, machen die stündliche Abrechnung nur mit dem Pulse. Hätte also nur einen Effekt für die monatliche Übermittlung, wenn es denn akzeptiert wird.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          483

                                          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