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. ioBroker Allgemein
  4. TibberLink Adapter

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

TibberLink Adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
631 Posts 85 Posters 206.6k Views 78 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.
  • L Online
    L Online
    lesiflo
    Most Active
    wrote on last edited by lesiflo
    #566

    Moin,
    hat jemand von euch einen Tip für mich wie ich die teuren Stunden richtig angezeigt bekomme? Im Adapter habe
    das schon vertauscht, in der Anzeige wird das jedoch so angezeigt.

    158202d5-0891-4274-b3da-34489e85870d-image.png

    Die grünen Bereiche sollten eigentlich genau andersherum sein. So wie hier: Link Text

    5f333952-4633-4647-8146-a63db16bc363-image.png

    1 Reply Last reply
    0
    • L Online
      L Online
      lesiflo
      Most Active
      wrote on last edited by lesiflo
      #567

      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 E 3 Replies Last reply
      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
        wrote on last edited by
        #568

        @lesiflo

        Du solltest deine Home-ID unkenntlich machen!!

        L 1 Reply Last reply
        0
        • icebearI icebear

          @lesiflo

          Du solltest deine Home-ID unkenntlich machen!!

          L Online
          L Online
          lesiflo
          Most Active
          wrote on last edited by
          #569

          @icebear Erledigt.

          1 Reply Last reply
          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
            wrote on last edited by
            #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 Reply Last reply
            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 Online
              L Online
              lesiflo
              Most Active
              wrote on last edited by
              #571

              @icebear Guter Einwand, ist korrigiert.

              1 Reply Last reply
              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
                wrote on last edited by
                #572

                @lesiflo

                Nur zur Info:

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

                A 1 Reply Last reply
                0
                • E ETGermany

                  @lesiflo

                  Nur zur Info:

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

                  A Online
                  A Online
                  ArnoD
                  wrote on last edited by
                  #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 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    bakerman23
                    wrote on last edited by
                    #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 Reply Last reply
                    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
                      wrote on last edited by
                      #575

                      @arnod sagte in TibberLink Adapter:

                      das betrifft nicht den JavaScript Adapter

                      War ja auch auf das Skript von @lesiflo bezogen :blush:

                      A 1 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by
                          #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 :v:
                          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:disappointed_relieved:

                          BG ttoebbe

                          L 1 Reply Last reply
                          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 :v:
                            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:disappointed_relieved:

                            BG ttoebbe

                            L Offline
                            L Offline
                            LibertyX82
                            wrote on last edited by
                            #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 Reply Last reply
                            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
                              wrote on last edited by
                              #579

                              @libertyx82 Guten Morgen :v:

                              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 :call_me_hand:

                              1 Reply Last reply
                              0
                              • E ETGermany

                                @arnod sagte in TibberLink Adapter:

                                das betrifft nicht den JavaScript Adapter

                                War ja auch auf das Skript von @lesiflo bezogen :blush:

                                A Online
                                A Online
                                ArnoD
                                wrote on last edited by
                                #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 Reply Last reply
                                0
                                • GarganoG Offline
                                  GarganoG Offline
                                  Gargano
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #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 Reply Last reply
                                    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
                                      wrote on last edited by
                                      #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 Reply Last reply
                                      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
                                        wrote on last edited by
                                        #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 Replies Last reply
                                        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
                                          wrote on last edited by 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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          706

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          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