Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. TibberLink Adapter

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    TibberLink Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • icebear
      icebear last edited by

      Hat sich von euch schonmal einer Gedanken darüber gemacht, wie man die Tibberpreise ab nächsten Monat (01.06.2025) am besten umsetzt?

      Siehe hier:

      Ab Juni kommt die 15-Minuten-Abrechnung
      Im Juni 2025 wird die europäische Strombörse nun den nächsten wichtigen Schritt in Sachen zukunftsfähige Energienutzung einleiten. Dann werden die Handelspreise nämlich nicht mehr stündlich, sondern im 15-Minuten-Takt gebildet. Diese systemische Umstellung ist Teil einer neuen EU-Richtlinie und betrifft alle Stromunternehmen, die ihre Mengen an der Börse einkaufen. Wir bei Tibber begrüßen diese Entwicklung, denn sie gibt Verbraucher:innen noch mehr Freiheiten, kluge Entscheidungen zu treffen und erlaubt ihnen, sich besser auf die schwankenden Produktionsmengen aus Wind und Solar einzustellen. Im Folgenden haben wir die Benefits, die die Umstellung mit sich bringt, zusammengefasst.

      L 1 Reply Last reply Reply Quote 0
      • L
        lesiflo Most Active @icebear last edited by

        @icebear Eigentlich so wie bisher. Eventuell muss der Adapter an die 15 Minuten angepasst werden muss. Hängt davon ab ob er die Daten abholt oder ob sie gesendet werden.

        icebear 1 Reply Last reply Reply Quote 0
        • icebear
          icebear @lesiflo last edited by icebear

          @lesiflo

          Das Problem ist dann nur die Darstellung, du hast dann nicht mehr 24 Werte pro Tag sondern 96.

          Wenn ich jetzt an meine VIS denke wird das nix mit dem Preis-Label soviel Platz hat ja glaub ich keiner, ausser du hast ein 28" Zoll Monitor

          L 1 Reply Last reply Reply Quote 0
          • L
            lesiflo Most Active @icebear last edited by

            @icebear sagte in TibberLink Adapter:

            @lesiflo

            Das Problem ist dann nur die Darstellung, du hast dann nicht mehr 24 Werte pro Tag sondern 96.

            Wenn ich jetzt an meine VIS denke wird das nix mit dem Preis-Label soviel Platz hat ja glaub ich keiner, ausser du hast ein 28" Zoll Monitor

            Stimmt, dürfte etwas eng werden. 30 Minuten könnte ja noch gehen aber 15 wird dann etwas zu viel werden. Dann das Label weglassen. Bei meiner Anzeige kommt das zum Glück nicht vor. Eventuell sollte man im Adapter die Schrittweite auswählen können.

            1eeaf940-e0de-436e-959d-d2915af299c7-image.png

            1 Reply Last reply Reply Quote 0
            • L
              lesiflo Most Active last edited by lesiflo

              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 Reply Quote 0
              • L
                lesiflo Most Active last edited by 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'
                });
                
                
                icebear 2 Replies Last reply Reply Quote 0
                • icebear
                  icebear @lesiflo last edited by

                  @lesiflo

                  Du solltest deine Home-ID unkenntlich machen!!

                  L 1 Reply Last reply Reply Quote 0
                  • L
                    lesiflo Most Active @icebear last edited by

                    @icebear Erledigt.

                    1 Reply Last reply Reply Quote 0
                    • icebear
                      icebear @lesiflo last edited by

                      @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 Reply Quote 0
                      • L
                        lesiflo Most Active @icebear last edited by

                        @icebear Guter Einwand, ist korrigiert.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

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

                        991
                        Online

                        32.1k
                        Users

                        80.7k
                        Topics

                        1.3m
                        Posts

                        79
                        571
                        170149
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo