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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    TibberLink Adapter

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

      @paul53 Hier wäre der Wert "totalCost" für mich interessant:

      [{"from":"2025-01-01T00:00:00.000+01:00","to":"2025-01-02T00:00:00.000+01:00","cost":1.5221652831,"unitPrice":0.210564,"unitPriceVAT":0.033619,"consumption":7.229,"consumptionUnit":"kWh","totalCost":1.4510258931,"unitCost":1.5221652831,"currency":"EUR"}]
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @SMS last edited by

        @sms sagte: Wert "totalCost"

        Dann Lesekonvertierung

        JSON.parse(val)[0].totalCost
        
        SMS 1 Reply Last reply Reply Quote 0
        • Merlin123
          Merlin123 @ReblausGT last edited by Merlin123

          @reblausgt Die Versionsnummer bei Änderungen gleich zu lassen finde ich nicht gut. Man weiß dann nie, welche Version man gerade installiert hat. Jede Änderung (oder mehrere, wenn sie zeitgleich aktiv werden) sollte eine neue Versionsnummer auslösen.

          Demo Token habe ich nicht. Die Preise werden sonst richtig angezeigt

          Das OutpurJSON sieht so aus:

          [
            {
              "hour": 0,
              "startsAt": "2025-01-02T00:00:00.000+01:00",
              "total": 0.2059,
              "output": true
            },
            {
              "hour": 1,
              "startsAt": "2025-01-02T01:00:00.000+01:00",
              "total": 0.2047,
              "output": true
            },
            {
              "hour": 2,
              "startsAt": "2025-01-02T02:00:00.000+01:00",
              "total": 0.207,
              "output": true
            },
            {
              "hour": 3,
              "startsAt": "2025-01-02T03:00:00.000+01:00",
              "total": 0.2112,
              "output": true
            },
            {
              "hour": 4,
              "startsAt": "2025-01-02T04:00:00.000+01:00",
              "total": 0.218,
              "output": true
            },
            {
              "hour": 5,
              "startsAt": "2025-01-02T05:00:00.000+01:00",
              "total": 0.2387,
              "output": true
            },
            {
              "hour": 6,
              "startsAt": "2025-01-02T06:00:00.000+01:00",
              "total": 0.2828,
              "output": true
            },
            {
              "hour": 7,
              "startsAt": "2025-01-02T07:00:00.000+01:00",
              "total": 0.3205,
              "output": true
            },
            {
              "hour": 8,
              "startsAt": "2025-01-02T08:00:00.000+01:00",
              "total": 0.3475,
              "output": true
            },
            {
              "hour": 9,
              "startsAt": "2025-01-02T09:00:00.000+01:00",
              "total": 0.3543,
              "output": true
            },
            {
              "hour": 10,
              "startsAt": "2025-01-02T10:00:00.000+01:00",
              "total": 0.3532,
              "output": true
            },
            {
              "hour": 11,
              "startsAt": "2025-01-02T11:00:00.000+01:00",
              "total": 0.3456,
              "output": true
            },
            {
              "hour": 12,
              "startsAt": "2025-01-02T12:00:00.000+01:00",
              "total": 0.3409,
              "output": true
            },
            {
              "hour": 13,
              "startsAt": "2025-01-02T13:00:00.000+01:00",
              "total": 0.3384,
              "output": true
            },
            {
              "hour": 14,
              "startsAt": "2025-01-02T14:00:00.000+01:00",
              "total": 0.3483,
              "output": true
            },
            {
              "hour": 15,
              "startsAt": "2025-01-02T15:00:00.000+01:00",
              "total": 0.3577,
              "output": true
            },
            {
              "hour": 16,
              "startsAt": "2025-01-02T16:00:00.000+01:00",
              "total": 0.3678,
              "output": true
            },
            {
              "hour": 17,
              "startsAt": "2025-01-02T17:00:00.000+01:00",
              "total": 0.3848,
              "output": true
            },
            {
              "hour": 18,
              "startsAt": "2025-01-02T18:00:00.000+01:00",
              "total": 0.3849,
              "output": true
            },
            {
              "hour": 19,
              "startsAt": "2025-01-02T19:00:00.000+01:00",
              "total": 0.3685,
              "output": true
            },
            {
              "hour": 20,
              "startsAt": "2025-01-02T20:00:00.000+01:00",
              "total": 0.3576,
              "output": true
            },
            {
              "hour": 21,
              "startsAt": "2025-01-02T21:00:00.000+01:00",
              "total": 0.3454,
              "output": true
            },
            {
              "hour": 22,
              "startsAt": "2025-01-02T22:00:00.000+01:00",
              "total": 0.3378,
              "output": true
            },
            {
              "hour": 23,
              "startsAt": "2025-01-02T23:00:00.000+01:00",
              "total": 0.301,
              "output": true
            }
          ]
          

          Preise in Euro, sieht richtig aus...

          Im Chart wird aber z.B. 0,3ct/kWh angezeigt, sind aber 0,3€/kWh
          Das generierte Chart wird jetzt auch angezeigt.
          Wie mache ich da jetzt die Stunden sichtbar, wo der Preis unterhalb des Triggerpreises liegt?

          mcm1957 1 Reply Last reply Reply Quote 0
          • mcm1957
            mcm1957 @Merlin123 last edited by

            @merlin123 said in TibberLink Adapter:

            @reblausgt Die Versionsnummer bei Änderungen gleich zu lassen finde ich nicht gut. Man weiß dann nie, welche Version man gerade installiert hat. Jede Änderung (oder mehrere, wenn sie zeitgleich aktiv werden) sollte eine neue Versionsnummer auslösen.

            Jede neue Release hat zwingend eine neue Releasenummer. Der Maintainer kann neben den Releaseversionen (a.b.c) auch prereleases (a.b.c-alpha.x) erstellen und via npm anbieten.

            Wenn du direkt von Github installierst musst du selbst wissen warum du das tust. Da dies nur für konkrete Tests in Abstimmung mit dem Dev sinnvoll iat, sind Versionsnummern hier irrelevant. Github Installationen haben per Definition keine definierte Versionsnummer. (Du sieht aber die Github SHA - damit kannst ggF auf Github checken welchen Satnd du installiert hats.)

            Generell gilt:

            Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.

            GitHub Versionen können sich jederzeit (auch kurzfristig) ändern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardmäßigen Umgebung erst im Zuge der Releaseerstellung geändert wird.

            Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalität - unter Inkaufnahme des erhöhten Risikos - natürlich erfolgen.

            Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erhöhter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.

            Und falls es irgendwie unklar ist:

            ioBroker unterstützt folgende Arten von Installation:

            • aus dem STABLE Repository

              Das sind Adapter Releases die keine groben Fehler aufweisen (sollten). Natürlich kann es auch dort Fehler geben, die Behebung davon obliegt dem jeweiligen Dev und kann ggF auch dauern.

            • aus dem LATEST Repository

              Das sind Adapter Releases die neu erstellt wurden und nur rudimentär getestet sind - oft auch als BETA Releases bezeichnet. Releases aus dem LATEST sind primär für unsere zahlreichen freiwilligen Tester gedacht. BETA / LATEST Releases können durchaus Fehler aufweisen - auch wenn ich davon ausgehe dass jeder aintainer dies zu vermeiden versucht. Vom Einsatz auf produktiven Systemen wird abgeraten außer man braucht irgenein neues Feature (z.B. neues Gerät) unbedingt. Hier muss dann jeder Entscheiden was ihm wichtig ist.

            • direkt von GITHUB

              Von Installationen direkt aus Giuthub wird definitiv abgeraten außer auf Anweisung des Maintainers und für den Fall dass man gemeinsam mit diesem etwas testen will. Details siehe oben.

            • direkt von npm

              Diese Installation kann erforderlich sein, wenn man eine bestimmte Version installieren möchte / muss. Im Normalfall sollte man direkte npm Installationen ebenso meiden wie direkte GitHub Installationen - ausgenommen um z.B. zu einer bekannten Version downzugraden - obwohl hier wenigstens ein definierter Stand garantiert ist.

            Adapter die NUR via npm und/oder nur via GitHub installierbar sind sollte man meiden - diese wurden nicht mal einem rudimentären Review unterzogen und sollten mit dem Attribut "vollständig auf eigenes Risiko verwenden" installiert werden. Hier empfiehlt es sich den Developer zu ersuchen eine Aufnahme in die Repos zu veranlassen. Wenn dieser darauf nicht reagiert sollte man von einer eher kurzen und unklaren Lebensdauer des Adapters ausgehen. Support meiner-/unsererseits für solche Adapter ist mit sicherheit minimalistisch.

            Merlin123 1 Reply Last reply Reply Quote 0
            • Merlin123
              Merlin123 @mcm1957 last edited by

              @mcm1957 Und diese Antwort sagt mir jetzt was in Bezug auf "Neue Version = neue Versionsnummer"?

              Ich habe lediglich gesagt, dass aus meiner Sicht eine neue Version eine neue Versionsnummer bekommen sollte, sobald diese "irgendwo" veröffentlicht wird.
              Ich empfinde eine saubere Versionierung auch (oder vielleicht sogar gerade) bei Tests sehr wichtig und sinnvoll.

              Ich hab ja oben das beste Beispiel geliefert:
              Ich hatte V4.2.0 installiert. Nachdem ich neu von Git installiert hatte, stand da weiterhin 4.2.0.
              Wurde jetzt wirklich die neue Version installiert? Oder ging vielleicht was schief?
              und: Ich schreibe "bei V4.2.0" ist mir XY aufgefallen. Ein anderer sagt "Nö, das geht bei mir mit 4.2.0". Kein Mensch kann dann sagen, ob beide wirklich auf der gleichen Version sind.-

              Das macht einfach alles unnötig kompliziert und ist halt sehr einfach vermeidbar.

              Und wie gesagt: Das ist lediglich meine Meinung zu dem Thema Versionsnummern

              R mcm1957 2 Replies Last reply Reply Quote 0
              • R
                ReblausGT Developer @Merlin123 last edited by

                @merlin123 Martin hat schon Recht... eigentlich sind das Arbeitsstände und keine Releases - damit keine Versionsnummer....
                Aber Du hast auch Recht... wenn wir hier im Forum über Stände reden sollte man eine Build Nummer dazu haben. Daher:
                Auf GIT gibt es jetzt eine 4.2.0-beta1 .... die aktualisiert die jsonFlexChart jetzt immer auch gleich bei Änderung der dynamischen Channel Config - nicht nur zur vollen Stunde

                Merlin123 mcm1957 2 Replies Last reply Reply Quote 0
                • Merlin123
                  Merlin123 @ReblausGT last edited by

                  @reblausgt Dank dir 🙂

                  Meine Frage bzgl. Markierung und der Hinweis zu den Preisen hast Du gesehen?

                  R 2 Replies Last reply Reply Quote 0
                  • R
                    ReblausGT Developer @Merlin123 last edited by

                    @merlin123 said in TibberLink Adapter:

                    Im Chart wird aber z.B. 0,3ct/kWh angezeigt, sind aber 0,3€/kWh

                    im Template steht

                    axisLabel: {formatter: "{value} ct/kWh"},
                    

                    ... da muss dann EUR oder € rein... soll ja so sein dass man sich das umbauen kann... du kannst ja auch einen BAR Graph daraus machen oder zur Not einen POLAR Chart....

                    Wie mache ich da jetzt die Stunden sichtbar, wo der Preis unterhalb des Triggerpreises liegt?

                    der Channel ist auf active = true? Der Preis hoch genug?

                    1 Reply Last reply Reply Quote 0
                    • R
                      ReblausGT Developer @Merlin123 last edited by

                      @merlin123
                      FYI: bei der achse geht auch sowas:

                      axisLabel: {
                             formatter: function (value) {
                                 return value * 100 + " ct/kWh";
                             }
                         }
                      

                      da kann man zur Not auch in andere Währungen umrechnen 🙂

                      Merlin123 1 Reply Last reply Reply Quote 0
                      • Merlin123
                        Merlin123 @ReblausGT last edited by Merlin123

                        @reblausgt Danke für den Tipp mit der Beschriftung 🙂

                        Geht jetzt 🙂

                        Screenshot 2025-01-02 233045.png

                        Muss dann morgen mal schauen wie das Diagramm aussieht, wenn es noch keine Preise vom Folgetag gibt 🙂
                        Wann wird das Diagramm denn neu erzeugt? Zur vollen Stunde oder wenn es neue Preise gibt?

                        NACHTRAG:
                        Da ist doch noch ein Wurm drin...

                        Der Trigger steht auf 0.303, er zeigt aber für den 3.1. nicht alle Stunden an:

                        Screenshot 2025-01-02 235228.png

                        Sind das zu viele "Auto_laden" Blöcke? Oder hat das ne andere Ursache?

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          ReblausGT Developer @Merlin123 last edited by ReblausGT

                          @merlin123 said in TibberLink Adapter:

                          Der Trigger steht auf 0.303, er zeigt aber für den 3.1. nicht alle Stunden an:

                          Sind das zu viele "Auto_laden" Blöcke? Oder hat das ne andere Ursache?

                          Block Anzahl ist nicht begrenzt. Er macht aber was er soll.... der BestCost Typ arbeitet immer pro Kalendertag. Nachts um 0:00 würde sich dann das Ergebnis ändern.
                          Für andere Zeiträume nimm die LTF Variante.
                          Graph JSON wird jetzt jede Stunde neu geschrieben (wenn der aktuelle Preis empfangen wird). Und nach Änderungen der Einstellung.

                          Du kannst übrigens ruhig Leerzeichen in den Channel Namen verwenden.

                          Merlin123 1 Reply Last reply Reply Quote 0
                          • S
                            Steve 1 last edited by Samson71

                            Hallo liebe Leute,
                            ich bin seit 1.1. diesen Jahres Tibber-Kunde.
                            Auf meinem Handy läuft alle sehr gut.
                            Beim einrichten des Tibberlink-Adapters komme ich nicht weiter.
                            ich habe den API-Token eingetragen, bei Tibber-Haus sollte sich, nach lesen von diversen Anleitungen,
                            nach Neustart ein Wert eintragen.
                            Es passiert aber nichts, habe alles ausprobiert, wieder und wieder und jetzt frage ich euch wie es richtig gemacht wird.

                            Freue mich auf eure Hilfe.

                            PS: Habe die neueste Version 4.1.0

                            1 Reply Last reply Reply Quote 0
                            • SMS
                              SMS @paul53 last edited by

                              @paul53 Wie würde denn mein Blockly aussehen? Kannst du oder jemand mir dabei helfen?

                              Danke!

                              paul53 1 Reply Last reply Reply Quote 0
                              • Merlin123
                                Merlin123 @ReblausGT last edited by

                                @reblausgt Leerzeichen: OK 🙂

                                so... nachdem heute der neue Tag ist sieht die Anzeige so aus:
                                Screenshot 2025-01-03 083952.png

                                Vorschläge:

                                1. Optional getrennte Diagramme für heute und morgen. Ich persönlich finde es verwirrend, wenn das Diagramm einmal nur heute und einmal heute und morgen anzeigt. (Vielleicht zur Erklärung: Ich bin neuodivers und für mich ist es einfacher, wenn Dinge immer gleich sind)
                                2. Anzeige der Blöcke auch für morgen. Gerade beim Auto Laden ist es ja oft so, dass die billigen Stunden Nachts sind. Und dann die Ladestunden nicht zu sehen ist nicht optimal.

                                Und allgemein: Danke für Deine Arbeit! Ist echt klasse! 👍

                                R 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @SMS last edited by

                                  @sms sagte in: Wie würde denn mein Blockly aussehen?

                                  Blockly_temp.JPG

                                  Merlin123 1 Reply Last reply Reply Quote 0
                                  • Merlin123
                                    Merlin123 @paul53 last edited by Merlin123

                                    @paul53 ne... Da wo "Wert" ist kommt der Wert des DPs mit dem JSON rein (also das passt). Bei Attribut der Name des Attributes, z.B.
                                    totalCost

                                    Dann liefert der Block bei dem JSON aus dem DP

                                    [{"from":"2025-01-01T00:00:00.000+01:00","to":"2025-01-02T00:00:00.000+01:00","cost":1.5221652831,"unitPrice":0.210564,"unitPriceVAT":0.033619,"consumption":7.229,"consumptionUnit":"kWh","totalCost":1.4510258931,"unitCost":1.5221652831,"currency":"EUR"}]
                                    

                                    1.4510258931
                                    zurück

                                    EDIT: Hab das auf Grund des Hinweises von Homoran etwas umformuliert

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Merlin123 last edited by

                                      @merlin123 sagte in TibberLink Adapter:

                                      Da wo "Wert" ist muss der DP mit dem JSON rein.

                                      nein.
                                      du triggerst auf Änderung des DP mit dem JSON.
                                      Dann ist Wert das JSON

                                      Merlin123 SMS 2 Replies Last reply Reply Quote 0
                                      • mcm1957
                                        mcm1957 @Merlin123 last edited by mcm1957

                                        @merlin123 said in TibberLink Adapter:

                                        @mcm1957 Und diese Antwort sagt mir jetzt was in Bezug auf "Neue Version = neue Versionsnummer"?

                                        Ich habe lediglich gesagt, dass aus meiner Sicht eine neue Version eine neue Versionsnummer bekommen sollte, sobald diese "irgendwo" veröffentlicht wird.
                                        Ich empfinde eine saubere Versionierung auch (oder vielleicht sogar gerade) bei Tests sehr wichtig und sinnvoll.

                                        Ich hab ja oben das beste Beispiel geliefert:
                                        Ich hatte V4.2.0 installiert. Nachdem ich neu von Git installiert hatte, stand da weiterhin 4.2.0.
                                        Wurde jetzt wirklich die neue Version installiert? Oder ging vielleicht was schief?
                                        und: Ich schreibe "bei V4.2.0" ist mir XY aufgefallen. Ein anderer sagt "Nö, das geht bei mir mit 4.2.0". Kein Mensch kann dann sagen, ob beide wirklich auf der gleichen Version sind.-

                                        Das macht einfach alles unnötig kompliziert und ist halt sehr einfach vermeidbar.

                                        Und wie gesagt: Das ist lediglich meine Meinung zu dem Thema Versionsnummern

                                        Diese Antwort sagt, dass du keine Versionsnummer erwaten sollts wenn du von GITHUB installiert. Für versionierte Releases gibts NPM und die Repositories. Wenn du direkt vom Entwicklerstand installierst, dann sind Versionsnummern nicht relevant. Kein Mensch erhöht Versionsnummern bei jedem Commit.

                                        und: Ich schreibe "bei V4.2.0" ist mir XY aufgefallen. Ein anderer sagt "Nö, ..

                                        NÖ du hast eben nicht V4.2.0 installiert sondern eine GITHUB Version. Das ist was anderes. Wenn du nicht als Tester unterwegs bist solltest du halt nicht von Github installieren. Und wenn du gemeinsam mit dem Dev testest sind die Versionnummern irrelevant,


                                        Nebenbemerkung:
                                        Wenn es um den Test neuer Releases geht würde das Topic besser im Tester Bereich angesiedelt werden.

                                        Merlin123 1 Reply Last reply Reply Quote 1
                                        • mcm1957
                                          mcm1957 @ReblausGT last edited by

                                          @reblausgt said in TibberLink Adapter:

                                          @merlin123 Martin hat schon Recht... eigentlich sind das Arbeitsstände und keine Releases - damit keine Versionsnummer....
                                          Aber Du hast auch Recht... wenn wir hier im Forum über Stände reden sollte man eine Build Nummer dazu haben. Daher:
                                          Auf GIT gibt es jetzt eine 4.2.0-beta1 .... die aktualisiert die jsonFlexChart jetzt immer auch gleich bei Änderung der dynamischen Channel Config - nicht nur zur vollen Stunde

                                          Wenn du den standard workflow für deploy verwendest dann werden x.y.z-alpha.n (oder -beta.n) auch auf npm deployed aber nicht mit latest sondern mit next getagged. Damit erscheinen diese Releases nicht im LATEST / BETA Repository sind aber sauber via admin UI installierbar (url iobroker.tibber@next eintippen).

                                          Nur zu Info falls diese Beta / Alpha Achse gewunschen ist. Details gerne hier oder ev. noch besser auf Telegramm.

                                          ACHTUNG: Bitte nicht einfach mit npm deploy raufschieben - dann kommen diese Release (unerwünschter Weise) ev. auch ins Repo. Per default wird nämlich das Tag 'latest' von npm gesetzt.

                                          1 Reply Last reply Reply Quote 0
                                          • Merlin123
                                            Merlin123 @Homoran last edited by

                                            @homoran Ja, das meine ich an der Stelle, hab es undeutlich ausgedrückt. Mein Hinweis bezog sich vor allem auf den Inhalt bei "Attribut".

                                            Ich pass das an. Danke für den Hinweis.

                                            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

                                            768
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            79
                                            566
                                            97978
                                            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