Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. TibberLink Adapter

NEWS

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

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

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

TibberLink Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
615 Beiträge 85 Kommentatoren 193.2k Aufrufe 78 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.
  • icebearI icebear

    @lesiflo

    Du solltest deine Home-ID unkenntlich machen!!

    L Offline
    L Offline
    lesiflo
    Most Active
    schrieb am zuletzt editiert von
    #569

    @icebear Erledigt.

    1 Antwort Letzte Antwort
    0
    • L lesiflo

      Hier mal ein Java-Script welches die Daten von aktuellen Monat errechnet und in Datenpunkte schreibt.

      // =================== KONFIG ===================
      const jsonDP         = 'tibberlink.0.Homes.xxxxxxxxxxxx.Consumption.jsonDaily';
      const resultCostDP   = '0_userdata.0.Tibber.SumUnitCostThisMonth';    // Ziel-DP Kosten (Summe)
      const resultConsDP   = '0_userdata.0.Tibber.SumConsumptionThisMonth'; // Ziel-DP Verbrauch
      const resultPriceDP  = '0_userdata.0.Tibber.AvgUnitPriceThisMonth';   // Ziel-DP Durchschnittspreis
      
      // =================== FUNKTION ===================
      function calcMonthValues() {
          try {
              const raw = getState(jsonDP).val;
              if (!raw) {
                  log('Keine Daten im JSON-DP vorhanden', 'warn');
                  return;
              }
      
              const data = JSON.parse(raw);
              let sumCost = 0;
              let sumCons = 0;
      
              // aktuelles Jahr & Monat bestimmen
              const now = new Date();
              const currentYear  = now.getFullYear();
              const currentMonth = now.getMonth(); // 0-basiert (0=Jan, 11=Dez)
      
              data.forEach(entry => {
                  if (!entry.from) return;
      
                  const d = new Date(entry.from);
                  if (d.getFullYear() === currentYear && d.getMonth() === currentMonth) {
                      if (entry.totalCost !== undefined && !isNaN(entry.totalCost)) {
                          sumCost += parseFloat(entry.totalCost);
                      }
                      if (entry.consumption !== undefined && !isNaN(entry.consumption)) {
                          sumCons += parseFloat(entry.consumption);
                      }
                  }
              });
      
              // Durchschnitt berechnen
              let avgPrice = sumCost/sumCons;
      
              // Ergebnisse in DP schreiben
              setState(resultCostDP, sumCost, true);
              setState(resultConsDP, sumCons, true);
              setState(resultPriceDP, avgPrice, true);
      
              log(`Summe unitCost (aktueller Monat): ${sumCost.toFixed(4)} €`, 'info');
              log(`Summe consumption (aktueller Monat): ${sumCons.toFixed(3)} kWh`, 'info');
              log(`Ø unitPrice (aktueller Monat): ${avgPrice.toFixed(4)} €/kWh`, 'info');
      
          } catch (e) {
              log(`Fehler beim Verarbeiten des JSON: ${e}`, 'error');
          }
      }
      
      // =================== TRIGGER ===================
      // 1x direkt beim Start
      calcMonthValues();
      
      // bei Änderungen des JSON-DPs neu berechnen
      on({id: jsonDP, change: 'any'}, () => {
          calcMonthValues();
      });
      
      // =================== DATENPUNKTE ANLEGEN ===================
      createState(resultCostDP, 0, {
          name: 'Summe unitCost aktueller Monat (Tibber)',
          type: 'number',
          unit: '€',
          role: 'value'
      });
      
      createState(resultConsDP, 0, {
          name: 'Summe Verbrauch aktueller Monat (Tibber)',
          type: 'number',
          unit: 'kWh',
          role: 'value'
      });
      
      createState(resultPriceDP, 0, {
          name: 'Durchschnitt unitPrice aktueller Monat (Tibber)',
          type: 'number',
          unit: '€/kWh',
          role: 'value'
      });
      
      
      icebearI Online
      icebearI Online
      icebear
      schrieb am zuletzt editiert von
      #570

      @lesiflo said in TibberLink Adapter:

      Hier mal ein Java-Script welches die Daten von aktuellen Monat errechnet und in Datenpunkte schreibt.

      Ich hab da jetzt doch mal eine Frage dazu, wieso rechnest du nicht mit den Bruttowerten, damit man direkt die tatsächlichen Kosten sieht? Anstatt von 'unitCost' steht doch schon der Preis/Tag im JSON drin = 'totalCost'

      Und bei 'avgPrice' brauchst du doch auch nur 'consumption' / 'totalPrice' = avgPrice/d

      L 1 Antwort Letzte Antwort
      0
      • icebearI icebear

        @lesiflo said in TibberLink Adapter:

        Hier mal ein Java-Script welches die Daten von aktuellen Monat errechnet und in Datenpunkte schreibt.

        Ich hab da jetzt doch mal eine Frage dazu, wieso rechnest du nicht mit den Bruttowerten, damit man direkt die tatsächlichen Kosten sieht? Anstatt von 'unitCost' steht doch schon der Preis/Tag im JSON drin = 'totalCost'

        Und bei 'avgPrice' brauchst du doch auch nur 'consumption' / 'totalPrice' = avgPrice/d

        L Offline
        L Offline
        lesiflo
        Most Active
        schrieb am zuletzt editiert von
        #571

        @icebear Guter Einwand, ist korrigiert.

        1 Antwort Letzte Antwort
        0
        • L lesiflo

          Hier mal ein Java-Script welches die Daten von aktuellen Monat errechnet und in Datenpunkte schreibt.

          // =================== KONFIG ===================
          const jsonDP         = 'tibberlink.0.Homes.xxxxxxxxxxxx.Consumption.jsonDaily';
          const resultCostDP   = '0_userdata.0.Tibber.SumUnitCostThisMonth';    // Ziel-DP Kosten (Summe)
          const resultConsDP   = '0_userdata.0.Tibber.SumConsumptionThisMonth'; // Ziel-DP Verbrauch
          const resultPriceDP  = '0_userdata.0.Tibber.AvgUnitPriceThisMonth';   // Ziel-DP Durchschnittspreis
          
          // =================== FUNKTION ===================
          function calcMonthValues() {
              try {
                  const raw = getState(jsonDP).val;
                  if (!raw) {
                      log('Keine Daten im JSON-DP vorhanden', 'warn');
                      return;
                  }
          
                  const data = JSON.parse(raw);
                  let sumCost = 0;
                  let sumCons = 0;
          
                  // aktuelles Jahr & Monat bestimmen
                  const now = new Date();
                  const currentYear  = now.getFullYear();
                  const currentMonth = now.getMonth(); // 0-basiert (0=Jan, 11=Dez)
          
                  data.forEach(entry => {
                      if (!entry.from) return;
          
                      const d = new Date(entry.from);
                      if (d.getFullYear() === currentYear && d.getMonth() === currentMonth) {
                          if (entry.totalCost !== undefined && !isNaN(entry.totalCost)) {
                              sumCost += parseFloat(entry.totalCost);
                          }
                          if (entry.consumption !== undefined && !isNaN(entry.consumption)) {
                              sumCons += parseFloat(entry.consumption);
                          }
                      }
                  });
          
                  // Durchschnitt berechnen
                  let avgPrice = sumCost/sumCons;
          
                  // Ergebnisse in DP schreiben
                  setState(resultCostDP, sumCost, true);
                  setState(resultConsDP, sumCons, true);
                  setState(resultPriceDP, avgPrice, true);
          
                  log(`Summe unitCost (aktueller Monat): ${sumCost.toFixed(4)} €`, 'info');
                  log(`Summe consumption (aktueller Monat): ${sumCons.toFixed(3)} kWh`, 'info');
                  log(`Ø unitPrice (aktueller Monat): ${avgPrice.toFixed(4)} €/kWh`, 'info');
          
              } catch (e) {
                  log(`Fehler beim Verarbeiten des JSON: ${e}`, 'error');
              }
          }
          
          // =================== TRIGGER ===================
          // 1x direkt beim Start
          calcMonthValues();
          
          // bei Änderungen des JSON-DPs neu berechnen
          on({id: jsonDP, change: 'any'}, () => {
              calcMonthValues();
          });
          
          // =================== DATENPUNKTE ANLEGEN ===================
          createState(resultCostDP, 0, {
              name: 'Summe unitCost aktueller Monat (Tibber)',
              type: 'number',
              unit: '€',
              role: 'value'
          });
          
          createState(resultConsDP, 0, {
              name: 'Summe Verbrauch aktueller Monat (Tibber)',
              type: 'number',
              unit: 'kWh',
              role: 'value'
          });
          
          createState(resultPriceDP, 0, {
              name: 'Durchschnitt unitPrice aktueller Monat (Tibber)',
              type: 'number',
              unit: '€/kWh',
              role: 'value'
          });
          
          
          E Offline
          E Offline
          ETGermany
          schrieb am zuletzt editiert von
          #572

          @lesiflo

          Nur zur Info:

          Method "createState" is deprecated and will be removed in js-controller 7.1, use "extendObject/setObjectNotExists"

          A 1 Antwort Letzte Antwort
          0
          • E ETGermany

            @lesiflo

            Nur zur Info:

            Method "createState" is deprecated and will be removed in js-controller 7.1, use "extendObject/setObjectNotExists"

            A Offline
            A Offline
            ArnoD
            schrieb am zuletzt editiert von
            #573

            @etgermany

            Nur zur Info:
            Method "createState" is deprecated and will be removed in js-controller 7.1, use "extendObject/setObjectNotExists"

            Nur zur Info:
            das betrifft nicht den JavaScript Adapter

            E 1 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              bakerman23
              schrieb am zuletzt editiert von
              #574

              Ab morgen kommen bei Tibber die Preise im 15 Minutentakt. Hat jemand eine Information, wie die Kanäle in zukunft funktionieren sollen?
              Da ist ja alles auf Stunden ausgelegt.

              H 1 Antwort Letzte Antwort
              2
              • A ArnoD

                @etgermany

                Nur zur Info:
                Method "createState" is deprecated and will be removed in js-controller 7.1, use "extendObject/setObjectNotExists"

                Nur zur Info:
                das betrifft nicht den JavaScript Adapter

                E Offline
                E Offline
                ETGermany
                schrieb am zuletzt editiert von
                #575

                @arnod sagte in TibberLink Adapter:

                das betrifft nicht den JavaScript Adapter

                War ja auch auf das Skript von @lesiflo bezogen 😊

                A 1 Antwort Letzte Antwort
                0
                • B bakerman23

                  Ab morgen kommen bei Tibber die Preise im 15 Minutentakt. Hat jemand eine Information, wie die Kanäle in zukunft funktionieren sollen?
                  Da ist ja alles auf Stunden ausgelegt.

                  H Offline
                  H Offline
                  HomeUser
                  schrieb am zuletzt editiert von
                  #576

                  @bakerman23 said in TibberLink Adapter:

                  Ab morgen kommen bei Tibber die Preise im 15 Minutentakt. Hat jemand eine Information, wie die Kanäle in zukunft funktionieren sollen?
                  Da ist ja alles auf Stunden ausgelegt.

                  Laut API Change Log müsste es erstmal mit Stunden weiter arbeiten. https://developer.tibber.com/docs/changelog

                  Wäre aber natürlich schön, wenn der Adapter auch Stunden und Viertelstunden unterstützen würde.

                  T 1 Antwort Letzte Antwort
                  1
                  • H HomeUser

                    @bakerman23 said in TibberLink Adapter:

                    Ab morgen kommen bei Tibber die Preise im 15 Minutentakt. Hat jemand eine Information, wie die Kanäle in zukunft funktionieren sollen?
                    Da ist ja alles auf Stunden ausgelegt.

                    Laut API Change Log müsste es erstmal mit Stunden weiter arbeiten. https://developer.tibber.com/docs/changelog

                    Wäre aber natürlich schön, wenn der Adapter auch Stunden und Viertelstunden unterstützen würde.

                    T Offline
                    T Offline
                    ttoebbe
                    schrieb am zuletzt editiert von
                    #577

                    @homeuser said in TibberLink Adapter:

                    @bakerman23 said in TibberLink Adapter:

                    Ab morgen kommen bei Tibber die Preise im 15 Minutentakt. Hat jemand eine Information, wie die Kanäle in zukunft funktionieren sollen?
                    Da ist ja alles auf Stunden ausgelegt.

                    Laut API Change Log müsste es erstmal mit Stunden weiter arbeiten. https://developer.tibber.com/docs/changelog

                    Wäre aber natürlich schön, wenn der Adapter auch Stunden und Viertelstunden unterstützen würde.

                    Moin ✌
                    ich habe gestern die neueste Version von GitHub gezogen 5.0.4. Allerdings zeigt er für morgen noch keine Daten :-(.
                    Frage, wie ist es bei euch?
                    Falls es noch geht sollte ich zurück auf den letzten "Stable"?

                    Muss mir morgen sonst etwas einfallen lassen 😉 --> Sonst bekomme ich Ärger zuhause😥

                    BG ttoebbe

                    L 1 Antwort Letzte Antwort
                    0
                    • T ttoebbe

                      @homeuser said in TibberLink Adapter:

                      @bakerman23 said in TibberLink Adapter:

                      Ab morgen kommen bei Tibber die Preise im 15 Minutentakt. Hat jemand eine Information, wie die Kanäle in zukunft funktionieren sollen?
                      Da ist ja alles auf Stunden ausgelegt.

                      Laut API Change Log müsste es erstmal mit Stunden weiter arbeiten. https://developer.tibber.com/docs/changelog

                      Wäre aber natürlich schön, wenn der Adapter auch Stunden und Viertelstunden unterstützen würde.

                      Moin ✌
                      ich habe gestern die neueste Version von GitHub gezogen 5.0.4. Allerdings zeigt er für morgen noch keine Daten :-(.
                      Frage, wie ist es bei euch?
                      Falls es noch geht sollte ich zurück auf den letzten "Stable"?

                      Muss mir morgen sonst etwas einfallen lassen 😉 --> Sonst bekomme ich Ärger zuhause😥

                      BG ttoebbe

                      L Offline
                      L Offline
                      LibertyX82
                      schrieb am zuletzt editiert von
                      #578

                      @ttoebbe
                      Ich habe die Preise für morgen.

                      Die API unterstützt für die Preise sowohl stündlich als auch viertelstündliche Werte, bei den stündlichen Werten handelt es sich um einen gemittelten Wert.

                      Die Verbrauchsabfrage (home.consumption) bleibt stündlich.

                      T 1 Antwort Letzte Antwort
                      0
                      • L LibertyX82

                        @ttoebbe
                        Ich habe die Preise für morgen.

                        Die API unterstützt für die Preise sowohl stündlich als auch viertelstündliche Werte, bei den stündlichen Werten handelt es sich um einen gemittelten Wert.

                        Die Verbrauchsabfrage (home.consumption) bleibt stündlich.

                        T Offline
                        T Offline
                        ttoebbe
                        schrieb am zuletzt editiert von
                        #579

                        @libertyx82 Guten Morgen ✌

                        bei mir (wie gesagt Tibberlinkversion 5.0.4) sind die Preise dann heute Nacht c65ef86b-927f-466f-822e-14f850f37475-image.png erschienen.
                        Allerdings sind es auch noch die Stunden.
                        593b4517-f047-4e0c-9ec3-958fc69c4d90-image.png
                        Dann bin ich einmal auf heute 14 Uhr gespannt.
                        Oder habe ich da noch einen anderen Denkfehler, bzw. muss ich die 15min nun irgendwo einstellen?
                        BG ttoebbe 🤙

                        1 Antwort Letzte Antwort
                        0
                        • E ETGermany

                          @arnod sagte in TibberLink Adapter:

                          das betrifft nicht den JavaScript Adapter

                          War ja auch auf das Skript von @lesiflo bezogen 😊

                          A Offline
                          A Offline
                          ArnoD
                          schrieb am zuletzt editiert von
                          #580

                          @etgermany sagte in TibberLink Adapter:

                          War ja auch auf das Skript von @lesiflo bezogen

                          Genau deswegen 🙂 Sein Skript läuft im Javascript Adapter und der ist nicht betroffen sondern nur für die was Adapter programmieren wollen.

                          1 Antwort Letzte Antwort
                          0
                          • GarganoG Offline
                            GarganoG Offline
                            Gargano
                            schrieb am zuletzt editiert von
                            #581

                            The Subscription.priceInfo field (i.e. the type PriceInfo) now takes an optional argument resolution that can either be HOURLY or QUARTER_HOURLY.

                            Default ist Hourly.

                            Es müsste im Adapter einzustellen sein , habe aber diesbezüglich nichts gesehen.

                            L 1 Antwort Letzte Antwort
                            0
                            • GarganoG Gargano

                              The Subscription.priceInfo field (i.e. the type PriceInfo) now takes an optional argument resolution that can either be HOURLY or QUARTER_HOURLY.

                              Default ist Hourly.

                              Es müsste im Adapter einzustellen sein , habe aber diesbezüglich nichts gesehen.

                              L Offline
                              L Offline
                              LibertyX82
                              schrieb am zuletzt editiert von
                              #582

                              @gargano
                              Da es das Argument vorher nicht gab, nutzt es der Adapter auch nicht, daher kannst du es im Adapter auch nicht einstellen .

                              Damit alte Integrationen weiterhin funktionieren, wird bei nicht Angabe des Arguments "resolution" weiterhin HOURLY verwendet.

                              GarganoG 1 Antwort Letzte Antwort
                              0
                              • L LibertyX82

                                @gargano
                                Da es das Argument vorher nicht gab, nutzt es der Adapter auch nicht, daher kannst du es im Adapter auch nicht einstellen .

                                Damit alte Integrationen weiterhin funktionieren, wird bei nicht Angabe des Arguments "resolution" weiterhin HOURLY verwendet.

                                GarganoG Offline
                                GarganoG Offline
                                Gargano
                                schrieb am zuletzt editiert von
                                #583

                                @libertyx82 sagte in TibberLink Adapter:

                                Da es das Argument vorher nicht gab, nutzt es der Adapter auch nicht, daher kannst du es im Adapter auch nicht einstellen

                                Der Changelog von Tibber, in dem die Änderung beschrieben ist, ist vom Datum 1.9.2025
                                Die letzte Version von Tibberlink ist 4 Tage alt. Da hätte es ja sein können, daß die Änderung schon eingeflossen ist.

                                H 1 Antwort Letzte Antwort
                                0
                                • GarganoG Gargano

                                  @libertyx82 sagte in TibberLink Adapter:

                                  Da es das Argument vorher nicht gab, nutzt es der Adapter auch nicht, daher kannst du es im Adapter auch nicht einstellen

                                  Der Changelog von Tibber, in dem die Änderung beschrieben ist, ist vom Datum 1.9.2025
                                  Die letzte Version von Tibberlink ist 4 Tage alt. Da hätte es ja sein können, daß die Änderung schon eingeflossen ist.

                                  H Offline
                                  H Offline
                                  HomeUser
                                  schrieb am zuletzt editiert von
                                  #584

                                  Für den Abruf der 15-Minuten-Werte müsste nach meinem Verständnis der neue Parameter im Aufruf der Tibber-API verwendet werden und dann der folgende Abschnitt im Adapter angepasst werden:

                                  tibberAPICaller.ts an Zeile 228

                                  				for (const price of pricesToday) {
                                  					const hour = new Date(price.startsAt.substr(0, 19)).getHours();
                                  					await this.fetchPrice(homeId, `PricesToday.${hour}`, price);
                                  				}
                                  				if (Array.isArray(pricesToday) && pricesToday[2]?.startsAt) {
                                  					// Got valid pricesToday
                                  					void this.checkAndSetValue(
                                  						`Homes.${homeId}.PricesToday.jsonBYpriceASC`,
                                  						JSON.stringify(pricesToday.sort((a, b) => a.total - b.total)),
                                  						"prices sorted by cost ascending as json",
                                  					);
                                  					exDate = new Date(pricesToday[2].startsAt);
                                  					if (exDate && exDate >= today) {
                                  						return true;
                                  					}
                                  

                                  Leider hätte ich erst in gut 2 Wochen Zeit mich experimentell darun zu versuchen. Die Hoffnung lebt, dass es bis dahin schon umgesetzt ist 🙂

                                  docadamsD T B 3 Antworten Letzte Antwort
                                  2
                                  • H HomeUser

                                    Für den Abruf der 15-Minuten-Werte müsste nach meinem Verständnis der neue Parameter im Aufruf der Tibber-API verwendet werden und dann der folgende Abschnitt im Adapter angepasst werden:

                                    tibberAPICaller.ts an Zeile 228

                                    				for (const price of pricesToday) {
                                    					const hour = new Date(price.startsAt.substr(0, 19)).getHours();
                                    					await this.fetchPrice(homeId, `PricesToday.${hour}`, price);
                                    				}
                                    				if (Array.isArray(pricesToday) && pricesToday[2]?.startsAt) {
                                    					// Got valid pricesToday
                                    					void this.checkAndSetValue(
                                    						`Homes.${homeId}.PricesToday.jsonBYpriceASC`,
                                    						JSON.stringify(pricesToday.sort((a, b) => a.total - b.total)),
                                    						"prices sorted by cost ascending as json",
                                    					);
                                    					exDate = new Date(pricesToday[2].startsAt);
                                    					if (exDate && exDate >= today) {
                                    						return true;
                                    					}
                                    

                                    Leider hätte ich erst in gut 2 Wochen Zeit mich experimentell darun zu versuchen. Die Hoffnung lebt, dass es bis dahin schon umgesetzt ist 🙂

                                    docadamsD Offline
                                    docadamsD Offline
                                    docadams
                                    schrieb am zuletzt editiert von docadams
                                    #585

                                    EDIT: hat sich erledigt.
                                    Zwar waren alle Einstellungen usw. korrekt bzw. es wurden keine Probleme angezeigt. Am Gesamtsystem wurde seit 2 Jahren nichts mehr gewerkelt.
                                    Nach Trennung des Pulse und anschließender Neuverbindung entsprechend Anleitung läuft es wieder.
                                    Alles OK (hoffentlich)

                                    Hallo,
                                    ich lese hier eigentlich nur still mit.

                                    Seit heute, 02.01.25 13.59 Uhr aktualisieren sich die Tibber-Daten nicht mehr. Auch nicht bei LocalPulse.
                                    Und jetzt stelle ich fest, dass die Tipper-Handy-App auch seit etwa dieser Zeit keinen Kontakt zum Pulse hat.

                                    Es liegt also nicht an ioBroker.
                                    Batterien wurden getausch, WLAN ist OK.
                                    Weil diese Unterbrechungszeit nicht so ganz willkürlich scheint, hat jemand noch dieses Problem?

                                    1 Antwort Letzte Antwort
                                    0
                                    • H HomeUser

                                      Für den Abruf der 15-Minuten-Werte müsste nach meinem Verständnis der neue Parameter im Aufruf der Tibber-API verwendet werden und dann der folgende Abschnitt im Adapter angepasst werden:

                                      tibberAPICaller.ts an Zeile 228

                                      				for (const price of pricesToday) {
                                      					const hour = new Date(price.startsAt.substr(0, 19)).getHours();
                                      					await this.fetchPrice(homeId, `PricesToday.${hour}`, price);
                                      				}
                                      				if (Array.isArray(pricesToday) && pricesToday[2]?.startsAt) {
                                      					// Got valid pricesToday
                                      					void this.checkAndSetValue(
                                      						`Homes.${homeId}.PricesToday.jsonBYpriceASC`,
                                      						JSON.stringify(pricesToday.sort((a, b) => a.total - b.total)),
                                      						"prices sorted by cost ascending as json",
                                      					);
                                      					exDate = new Date(pricesToday[2].startsAt);
                                      					if (exDate && exDate >= today) {
                                      						return true;
                                      					}
                                      

                                      Leider hätte ich erst in gut 2 Wochen Zeit mich experimentell darun zu versuchen. Die Hoffnung lebt, dass es bis dahin schon umgesetzt ist 🙂

                                      T Offline
                                      T Offline
                                      ttoebbe
                                      schrieb am zuletzt editiert von
                                      #586

                                      @homeuser
                                      Moin 🙂
                                      Tibberlink ist auf GitHub nun in Version 6.0.0
                                      Habe es eben hochgezogen und meinen Unterbau angepasst.
                                      Funktioniert schon: 417e316b-ece7-49a0-8932-2a707013cf9b-image.png
                                      Aber ich werde aber wohl etwas an der Visu bauen müssen 😊

                                      1 Antwort Letzte Antwort
                                      0
                                      • H HomeUser

                                        Für den Abruf der 15-Minuten-Werte müsste nach meinem Verständnis der neue Parameter im Aufruf der Tibber-API verwendet werden und dann der folgende Abschnitt im Adapter angepasst werden:

                                        tibberAPICaller.ts an Zeile 228

                                        				for (const price of pricesToday) {
                                        					const hour = new Date(price.startsAt.substr(0, 19)).getHours();
                                        					await this.fetchPrice(homeId, `PricesToday.${hour}`, price);
                                        				}
                                        				if (Array.isArray(pricesToday) && pricesToday[2]?.startsAt) {
                                        					// Got valid pricesToday
                                        					void this.checkAndSetValue(
                                        						`Homes.${homeId}.PricesToday.jsonBYpriceASC`,
                                        						JSON.stringify(pricesToday.sort((a, b) => a.total - b.total)),
                                        						"prices sorted by cost ascending as json",
                                        					);
                                        					exDate = new Date(pricesToday[2].startsAt);
                                        					if (exDate && exDate >= today) {
                                        						return true;
                                        					}
                                        

                                        Leider hätte ich erst in gut 2 Wochen Zeit mich experimentell darun zu versuchen. Die Hoffnung lebt, dass es bis dahin schon umgesetzt ist 🙂

                                        B Offline
                                        B Offline
                                        bakerman23
                                        schrieb am zuletzt editiert von
                                        #587

                                        @homeuser die Preise muss man nicht öfters abrufen. Nach Veröffentlichung ist der ja fix.
                                        Wichtig wäre zu wissen, wie die calculation damit umgeht, das die Datenpunkte bisher auf ein stündliches Zeitfenster ausgelegt sind.

                                        R 1 Antwort Letzte Antwort
                                        0
                                        • B bakerman23

                                          @homeuser die Preise muss man nicht öfters abrufen. Nach Veröffentlichung ist der ja fix.
                                          Wichtig wäre zu wissen, wie die calculation damit umgeht, das die Datenpunkte bisher auf ein stündliches Zeitfenster ausgelegt sind.

                                          R Offline
                                          R Offline
                                          ReblausGT
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #588

                                          Sorry das ich mich rar gemacht hatte - der Umbau des Adapters war doch etwas umfangreicher. Bis man alles findet wo man früher mal einfach von vollen Stunden ausgegangen ist dauert... 😬
                                          Zeitgleich hatte ein wenig mit der neuen DIY Heizung zu tun.... 😊

                                          Die 6.0.0 solltet ihr jetzt auch vom latest repo regulär abrufen können. Eigentlich müsste alles laufen und immer und überall mit 15 Minuten rechnen..
                                          Stellen für die Berechnungskanäle mit Parameter "AmountHours" sind immernoch Stunden .... da kann man aber auch 0,75 schreiben ....

                                          HAPPY TESTING!!!! Wäre toll wenn es viele hier mal ausprobieren - ich würde das gerne möglichst zügig in den stable geben. Bin ja für den Start des 15-Minuten zum 01.Okt. doch schon recht spät dran. 😖

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          767

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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