Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Schimi @Michael Wyraz last edited by Schimi

      @michael-wyraz sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

      @Schimi @oxident

      Hat noch ein wenig gedauert, bis es "rund" ist. Hier ist ein erster Release meines Tools, welches aktuell die Zäherstände über ein Shell-Script beziehen kann:

      https://github.com/micw/tibber-meter-uploader

      Läuft seit heute bei mir auf dem Server unter Docker und hat heute den ersten Wert hochgeladen. Fehlermeldungen, Feature-Requests und Diskussion ist willkommem 🙂

      Viele Grüße,
      Michael.

      ne möglichkeit/Anleitung wie man das direkt im iobroker macht wäre super (falls es überhaupt geht)

      im Docker, muss ich mal schauen wie das funzt.... sobald ich mal"Zeit" habe...

      Finde das jedefalls mega das du es erstellt hast 🙂

      Michael Wyraz 1 Reply Last reply Reply Quote 1
      • Michael Wyraz
        Michael Wyraz @Schimi last edited by Michael Wyraz

        @schimi Hab leider mit IOBroker gar nix zu tun und auch keine Ahnung, wie das rein geht. Technisch ist es am Ende recht einfach.

        Zuerst sende ich einen HTTP-Request mit Username+Passwort und bekomme einen Login-Token.

        Dann sende einen HTTP-Request mit einer GraphQL Query. Das ist ein JSON-Dokument, welches in einem Feld eine Query (das ist ein großer statischer Text) und in einem anderen Feld alle Variablen enthält. In einem Cookie-Header sende sich das Login-Token mit. Als Antwort bekomme ich eine Info über den Account, alle Zähler, deren "Register" (da ist nur das Register "1-0:1.8.0" interessant, das ist der Gesamtstromverbrauch über alle Phasen und Tarife) und alle "Homes", jeweils nochmal mit deren Zählern und den zuletzt gemeldeten Zählerständen.

        Das JSON-Objekt zerlege ich, so dass ich weiß, welcher Zähler dort ist und welche Zählerstände gemeldet sind.

        Mit diesen Infos befrage ich die "Quelle" - das könnte beispielweise auch IOBroker sein - nach neuen Zählerständen ab dem letzten gemeldeten. Ich übertrage hier tageweise, obwohl monatlich ausreichen würde, da ich gerne die Statistik in der Tibber-App sehen möchte (das kann ich aber auf Wunsch auch einstellbar machen).

        Habe ich die Zählerstände, rufe ich eine GraphQL "Mutation" auf, um die zu übergeben. Funktioniert genau wie die GraphQL Query.

        Mit diesen Infos und dem Code aus meinem Repo sollte es jemanden mit entsprechenden Kenntnissen sicher möglich sein, das auch direkt in IOBroker umzusetzen. Alternativ (wenn mir jemand sagt, wie ich das abfrage und es hinterher testet), kann ich auch direkt IOBroker als Quelle mit in mein Tool einbauen. Bei Bedarf bitte ein Ticket mit den nötigen Infos im Repo machen.

        Viele Grüße,
        Michael.

        Edit: ich würde mich mit diesem Post aus dem Thread ausklinken, da das hier nur so halb reinpasst und ich den Thread damit nicht kapern möchte. Wenn es einen Thread gibt, das Senden der Daten in IOBroker zu integrieren und Rückfragen sind, kann ich gerne angepingt werden.

        1 Reply Last reply Reply Quote 1
        • W
          warp-it @ThomKast last edited by

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

          @warp-it
          Ah schön. Habe es gerade nachgestellt. Gut, dass es nun funktioniert.

          Du kennst die Möglichkeit den kompletten Pfad eines Datenpunktes aus ioB zu kopieren, statt diesen einzutippen? Mit Klick darauf...

          Ja, das ist klar, aber man sollte das 'return' aus der Funktion auch mit dem gleichen Variablennamen machen, den man in der Zeile vorher definiert hat. 😉
          Danke trotzdem für die Hilfe.

          1 Reply Last reply Reply Quote 0
          • W
            warp-it @ThomKast last edited by

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

            @warp-it
            Zu Deiner Frage... Nein - funzt 1a. Auch mit kleinen Werten

            Du hast wahrscheinlich einen anderen Zähler ?!
            In der PowerOpti Whitelist steht was, dass bei meinem Zähler die Werte teilweise mit falschem Vorzeichen kommen würden... Egal, laut Tibber Pulse Whitelist sollte dieser Zähler funktionieren...

            1 Reply Last reply Reply Quote 0
            • crunchip
              crunchip Forum Testing Most Active @Schimi last edited by

              @schimi sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

              mir würde es im grunde reichen wenn ich einmal im Monat (lösbar über Cronjob, dann könnte man flexibel auch jeden Tag oder so, wählen) den Zählerstand übertrage.... (In meinem fall, macht der Pulse wenig sinn und ich habe mehr vom Durchschnittspreis)

              ich habe mich ebenfalls zwecks Stromkosten für tibber entschieden, allerdings habe ich gar keinen smarten Stromzähler, von daher wird eh monatlich abgerechnet. Allerdings bin ich nun auch an einer Lösung interessiert, die Zählerstände automatisiert hochzuladen.

              Meinen Ferraris Zähler lese ich mit einem Sensor aus und habe den Zählerstand somit in iobroker.
              Da ich nicht scripten kann, habe ich nun auch mal ChatGPT bemüht und folgendes Script erstellt.

              const axios = require('axios');
              
              async function updateCounterData(counterValue) {
                try {
                  const response = await axios.post('https://api.tibber.com/v1-beta/gql', {
                    query: `mutation {
                      updateDataPoint(input: {
                        id: "your-data-point-id",
                        value: ${counterValue}
                      }) {
                        dataPoint {
                          id
                          value
                        }
                      }
                    }`,
                    headers: {
                      'Content-Type': 'application/json',
                      'Authorization': 'Bearer your-api-token'
                    }
                  });
                  console.log(`Counter data successfully updated: ${response.data.data.updateDataPoint.dataPoint.value}`);
                } catch (error) {
                  console.error(`Error updating counter data: ${error.message}`);
                }
              }
              
              // Schedule to send current value of state "your.iobroker.instance.state" to Tibber every day at 12:00
              schedule('0 12 * * *', () => {
                const counterValue = getState('your.iobroker.instance.state').val;
                updateCounterData(counterValue);
              });
              
              

              Achten Sie darauf, Ihre eigene Datenpunkt-ID, API-Token und den Pfad zum Zustand in iobroker anzugeben.
              Achten Sie darauf, dass der Zeitplan entsprechend Ihren Bedürfnissen angepasst wird

              O Michael Wyraz 2 Replies Last reply Reply Quote 1
              • O
                oxident @crunchip last edited by

                @crunchip Okay, diese KI-Sachen machen mir langsam Angst 😉

                Ist vielleicht eine blöde Frage, aber funktioniert das Skript tatsächlich?
                Auf den ersten Blick sieht es nämlich durchaus schlüssig aus...

                Ich gehe mal davon aus, dass "your-api-token" der reguläre Tibber-Token ist. Was wäre denn "your-data-point-id"? Bekomme ich die aus den Sample Queries von Tibber heraus?

                Übergibst Du den Zählerstand dann als kWh oder Wh? Nachkommastellen?

                crunchip 1 Reply Last reply Reply Quote 0
                • crunchip
                  crunchip Forum Testing Most Active @oxident last edited by crunchip

                  @oxident sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                  aber funktioniert das Skript tatsächlich

                  das sehe ich um 0:02 😁

                  @oxident sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                  dass "your-api-token" der reguläre Tibber-Token ist. Was wäre denn "your-data-point-id"?

                  ja ist der token und die id steht ja in der Instanz
                  e6cbecc2-78e4-4cee-b9ed-c664ca8844b1-image.png

                  @oxident sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                  Übergibst Du den Zählerstand dann als kWh oder Wh? Nachkommastellen?

                  original so wie er im DP steht, kWh mit Nachkomma

                  O 2 Replies Last reply Reply Quote 1
                  • O
                    oxident @crunchip last edited by

                    @crunchip Mega. Danke!

                    1 Reply Last reply Reply Quote 0
                    • O
                      oxident @crunchip last edited by

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

                      das sehe ich um 0:02

                      Müsste der cronjob dann nicht "2 0 * * *" heißen? Jetzt würde er jeden Tag um 12 Uhr mittags starten...

                      crunchip 1 Reply Last reply Reply Quote 0
                      • crunchip
                        crunchip Forum Testing Most Active @oxident last edited by crunchip

                        @oxident ja, das war nur ein Beispiel oben, habe es bei mir auf 0:02 gestellt damit ich es dann gleich sehe ob es funktioniert
                        per App kann man ja nur einen pro Tag eintragen und das habe ich heute schon manuell

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          oxident @crunchip last edited by

                          @crunchip Okay, geht klar. Dann bin ich ja mal gespannt 😉

                          crunchip 1 Reply Last reply Reply Quote 0
                          • crunchip
                            crunchip Forum Testing Most Active @oxident last edited by

                            @oxident mehr wie schief gehn kanns nicht 😂

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              Schimi @crunchip last edited by

                              @crunchip ja, wenn er anstatt 200kWh 20000kWh einträgt... die abrechnung wird "lustig" 🙂

                              Aber mal im ernst, wäre super wenn das klappt.... "spiele" ich gleich auch mal mit rum 🙂

                              O 1 Reply Last reply Reply Quote 0
                              • O
                                oxident @Schimi last edited by

                                @schimi @crunchip Hat leider nicht geklappt. Ich glaube, ganz so leicht mit Token und der v1-Api läuft es nicht 😞

                                1 Reply Last reply Reply Quote 0
                                • Michael Wyraz
                                  Michael Wyraz @crunchip last edited by

                                  @crunchip ChatGPT generiert "syntaktisch korrekte Sätze", was auch für Programmiercode gilt - auch der ist nach dem Verständnis von ChatGPT Syntax und es generiert dort syntaktisch plausiblen Code.

                                  ChatGPT generiert jedoch nicht zwingend inhaltlich/fachlich korrekte Dinge. In vielen Fällen fließt korrektes Wissen mit ein, so dass tatsächlich verblüffende Ergebnisse heraus kommen, an anderen Stellen werden aber auch einfach Fakten "erfunden", so dass wieder syntaktisch korrekte und schlüssige Aussagen herauskommen.

                                  So auch in dem Beispiel. Ein Blick auf https://developer.tibber.com/docs/reference zeigt, dass es keine Funktion "updateDataPoint" gibt und dass "sendMeterRrading" nur für Norwegen freigeschaltet ist. Damit kann das Script nicht funktionieren.

                                  Man kann die Monatswerte über die API übermitteln, welche auch die APP verwendet. Diese ist nicht offiziell, unter https://app.tibber.com/ bzw. https://app.tibber.com/v4/gql steht aber eine automatisch generierte Doku bereit. Wie man darüber Monatswerte einstellt, habe ich oben beschrieben und in meinem Tool implementiert. Ich denke, dass sich das auch verhältnismäßig einfach mit so einem JavaScript-Fragment in IOBroker umsetzen ließe.

                                  Viele Grüße,
                                  Michael.

                                  crunchip 1 Reply Last reply Reply Quote 0
                                  • crunchip
                                    crunchip Forum Testing Most Active @Michael Wyraz last edited by

                                    @michael-wyraz ich weiß das chatGPT nicht 100% liefert, jedoch war es mal ein Versuch wert (für jemanden der davon überhaupt keinen Plan hat 😁 ), ich habe inzwischen noch ein wenig herum probiert, das Script läuft zwar nun fehlerfrei, allerdings sehe ich keine ankommenden Daten.

                                    @michael-wyraz sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                                    Wie man darüber Monatswerte einstellt, habe ich oben beschrieben und in meinem Tool implementiert. Ich denke, dass sich das auch verhältnismäßig einfach mit so einem JavaScript-Fragment in IOBroker umsetzen ließe.

                                    eben...Tool....Docker, erst recht kein Plan von, mit docker noch nie auseinander gesetzt

                                    @michael-wyraz sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:

                                    Ich denke, dass sich das auch verhältnismäßig einfach mit so einem JavaScript-Fragment in IOBroker umsetzen ließe

                                    für jemanden der es kann, sicherlich

                                    O 1 Reply Last reply Reply Quote 0
                                    • O
                                      oxident @crunchip last edited by

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

                                      das Script läuft zwar nun fehlerfrei, allerdings sehe ich keine ankommenden Daten.

                                      Das macht neugierig 😉
                                      Meintest Du jetzt das obige Script wegen den Zählerständen?

                                      B 1 Reply Last reply Reply Quote 0
                                      • B
                                        babl @oxident last edited by

                                        Tut sich jetzt mit dem Adapter noch irgendwas, sonst wäre es vielleicht ratsam hier die Community um die Weiterentwicklung zu bitten. Müsste ja aktuell eigentlich von vielen grosses Interesse dran bestehen.

                                        S 1 Reply Last reply Reply Quote 2
                                        • S
                                          Schimi @babl last edited by

                                          wenn ich Github richtig verstehe hat Codibris letzte Woche was geändert...

                                          Hier ist er seit Mitte Januar nicht mehr on gewesen... Nen kurzes Update wäre natürlich super...

                                          Jedoch möchte ich, jemanden der was ins einer Freizeit erstellt, nicht "anfahren"... kann ja aus Krankheit oder sonstigen gründen sein das er gerade nicht dazu kommt.... (manche leute müssen ja auch Arbeiten)

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            babl @Schimi last edited by

                                            @schimi um gottes willen, das will ich auch nicht, ich bin ja froh wenn es jemanden gibt der adapter macht in seiner freizeit, nur wenn ich für längere zeit einfach keine zeit mehr habe dann sollte es auch möglich sein, daß der adapter von der allgemeinheit übernommen werden kann und weiterentwickelt werden kann, so war das eigentlich gemeint.

                                            Thomas Braun 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            830
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            49
                                            360
                                            63657
                                            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