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. Tester
  4. Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    297

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

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

Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

Scheduled Pinned Locked Moved Tester
360 Posts 49 Posters 98.6k Views 53 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.
  • T theGrinch

    Auf Anregung von @MikeRow habe ich mal die BarChart von @Familienvater auf diesen Adapter angepasst.

    Einfach das "home" reinkopieren in Zeile 6+7.

    var myName = "tibber.createchartdata";
     
    var logOn           = false;     // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
    var forceCreation    = false;    // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
     
    var tibberPricesToday = "tibberconnect.0.Homes.*****.PricesToday.";        // mit . am Ende!
    var tibberPricesTomorrow = "tibberconnect.0.Homes.*****.PricesTomorrow.";  // mit . am Ende!
     
    var tibberStartsAt = "startsAt";
    var tibberTotal = "total";
     
     
    // Datenpunkte anlegen:
    // -----------------------------------------------------------------------------
    var idChartData = "tibber.prices.chartData";                      // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
    createState(idChartData, '[{"label":"15","value":"25.2","dataColor":"#ffffff"},{"label":"16","value":"28.8","dataColor":"#ffffff"},{"label":"17","value":3"5.2","dataColor":"#ffffff"},{"label":"18","value":"33.2","dataColor":"#ffffff"},{"label":"19","value":"20.2","dataColor":"#ffffff"}]', forceCreation, {
         name: 'Chart-Data Price Forecast',
         desc: 'Chart-Data Price Forecast',
         type: 'string',
         role: 'value'
    });
     
    // Datenpunkte anlegen:
    // -----------------------------------------------------------------------------
    var idBarChartData = "tibber.prices.barChartData";                      // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
    createState(idBarChartData, '[{"label":"15","value":"25.2","dataColor":"#ffffff"},{"label":"16","value":"28.8","dataColor":"#ffffff"},{"label":"17","value":3"5.2","dataColor":"#ffffff"},{"label":"18","value":"33.2","dataColor":"#ffffff"},{"label":"19","value":"20.2","dataColor":"#ffffff"}]', forceCreation, {
         name: 'Bar Chart-Data Price Forecast',
         desc: 'Bar Chart-Data Price Forecast',
         type: 'string',
         role: 'value'
    });
     
    createBarChartData();
     
    // Cron-Job, zum Stundenwechsel
    // Stundenwechsel, Ausführen immer um *:00:10
    schedule('10 0 * * * *', function () {createBarChartData()});
     
    function createBarChartData () {    
    	if(logOn) console.log(myName + " Stundenwechsel");
        
        let barChart = [];
     
        var jetzt = new Date(Date.now());
        var aktStunde = jetzt.getHours();
        var unixTimestamp=new Date().getTime();
     
        // bis zu 18 Stunden in die Zukunft
        const offsets=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18];
     
        for (let offset of offsets)
        {
            // Template Objekt für BarChart erzeugen
            let itemData ={label:"", value:0.0, dataColor: "#c2c2c2", valueColor: "#dddddd"}; //, valueAppendix: "", valueColor: #ffffff"
     
            // Vorbereitung um Werte aus Tibber Adapter zu holen         
            var prefix="";
            aktStunde=jetzt.getHours()+offset;
            if (aktStunde>23)
            {
                aktStunde=aktStunde-24;
                prefix=tibberPricesTomorrow;
            }
            else
            {
                prefix=tibberPricesToday;
            }
     
            var strStunde = (aktStunde.toString()).slice(-2); //("0" + aktStunde.toString()).slice(-2);
            itemData['label']=strStunde;
     
            prefix=prefix+strStunde+'.';
     
            var aktPrice=getState(prefix+tibberTotal).val;
     
            // falls keine Daten vorliegen, weiter ohne diese ItemData an das Chart-Objekt anzuhängen
            if (aktPrice==null && aktStunde>=0)
                continue;
     
            // von 0.2345 € auf Cent mit einer Nachkomma-Stelle umrechnen
            itemData['value']=Math.round(aktPrice*1000)/10.0;
     
            // Je nach Preis den Balken einfärben
            if (aktPrice<0.30)
                itemData['dataColor']="green";
            else
            if (aktPrice<0.40)
                itemData['dataColor']="yellow";
            else
            if (aktPrice<0.50)
                itemData['dataColor']="orange";
            else
            if (aktPrice<0.60)
                itemData['dataColor']="red";
            else
                itemData['dataColor']="magenta";
     
            // Daten für diese Stunde dem Objekt zufügen
            barChart.push(itemData);
        }
     
        // fertiges Objekt in den Datenpunkt als JSON schreiben
        setState("javascript."+instance+"."+idBarChartData, JSON.stringify(barChart), true);
     
    };
     
    function createChartData () {    
    	if(logOn) console.log(myName + " Stundenwechsel");
        
        let chart = {};
        let axisLabels =[];
        let values =[];
        let datalabels =[];
     
        var jetzt = new Date(Date.now());
        var aktStunde = jetzt.getHours();
        var unixTimestamp=new Date().getTime();
     
        const offsets=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18];
     
        // Spaltenbeschriftungen
     
        //chart.graphs[0].axisLables=axisLabels;
        chart.graphs=new Array();
        chart.graphs.push({});
        chart.graphs[0].color="green";
        chart.graphs[0].type="bar";
        chart.graphs[0].datalabel_rotation=-90;
        chart.graphs[0].datalabel_color="lightgreen";
        chart.graphs[0].datalabel_fontSize=10;
        chart.graphs[0].yAxis_title_text="cent";
        chart.graphs[0].yAxis_show=true;
        chart.graphs[0].legendText="Uhrzeit";
        chart.graphs[0].datalabel_show=true;
        chart.graphs[0].yAxis_minimumDigits=1;
        chart.graphs[0].yAxis_maximumDigits=1;
     
        for (let offset of offsets)
        {
            // Spaltenbeschriftungen
            aktStunde=jetzt.getHours()+offset;
            if (aktStunde>23)
                aktStunde=aktStunde-24;
            var strStunde = (aktStunde.toString()).slice(-2); //("0" + aktStunde.toString()).slice(-2);
            axisLabels.push(strStunde)
            //axisLabels.push(aktStunde);
                   
            var prefix="";
            aktStunde=jetzt.getHours()+offset;
            if (aktStunde>23)
            {
                aktStunde=aktStunde-24;
                prefix=tibberPricesTomorrow+".";
            }
            else
            {
                prefix=tibberPricesToday+".";
            }
     
            strStunde = ("0" + aktStunde.toString()).slice(-2);
            prefix=prefix+strStunde+'.';
     
            //if(logOn) console.log(myName + " Stundenwechsel, akt Stunde "+strStunde+", prefix "+prefix);
            var aktPrice=getState(prefix+tibberTotal).val;
            //var aktStartAt=getState(prefix+tibberStartsAt).val;
            //if(logOn) console.log(myName + " aktPrice "+aktPrice+", aktStartAt "+aktStartAt);
            //let itemData ={t:0, y:0.0};
            //itemData['t']=unixTimestamp+3600*offset;
            //itemData['y']=aktPrice;
            values.push(Math.round(aktPrice*1000)/10.0);
            var cents=(Math.round(aktPrice*1000)/10.0).toString();
            datalabels.push(cents);
     
        }
        chart.graphs[0].data=values;
        chart.graphs[0].datalabel_override=datalabels;
        chart.data=values;
        chart.datalabel_override=datalabels;
        chart.axisLables=axisLabels;
     
        setState("javascript."+instance+"."+idChartData, JSON.stringify(chart));
     
    };
    

    /edit: Originalpost mit allen Infos: https://forum.iobroker.net/topic/47195/diagramm-mit-festen-werten-in-vis-nur-wie/12

    M Offline
    M Offline
    MikeRow
    wrote on last edited by
    #183

    @thegrinch Moin, der Tibberconnect Adapter liefert keine Preise von morgen mehr.
    https://forum.iobroker.net/topic/52486/test-adapter-tibberconnect-0-0-x-inkl-tibber-pulse/181?_=1674978446344

    Meinst du der Code für den Chart kann auf die Preis Struktur von @ThomKast angepasst werden?

    https://forum.iobroker.net/topic/60938/geräte-zu-stundenpreisen-epex-oder-pv-überschuss-betreiben/65

    Gruß Mike

    O 1 Reply Last reply
    0
    • M MikeRow

      @thegrinch Moin, der Tibberconnect Adapter liefert keine Preise von morgen mehr.
      https://forum.iobroker.net/topic/52486/test-adapter-tibberconnect-0-0-x-inkl-tibber-pulse/181?_=1674978446344

      Meinst du der Code für den Chart kann auf die Preis Struktur von @ThomKast angepasst werden?

      https://forum.iobroker.net/topic/60938/geräte-zu-stundenpreisen-epex-oder-pv-überschuss-betreiben/65

      Gruß Mike

      O Offline
      O Offline
      oxident
      wrote on last edited by
      #184

      @mikerow Hmm, ich dachte, das wäre schon immer so gewesen.
      Die Frage ist ja auch, wie man das überhaupt lösen würde. Wir haben ja immer die Situation, dass es einen halben Tag lang keine neuen Daten geben wird.

      Wäre es besser, wenn der Adapter dann einfach die unbekannten Stunden auf "Null" setzt?

      M 1 Reply Last reply
      0
      • O oxident

        @mikerow Hmm, ich dachte, das wäre schon immer so gewesen.
        Die Frage ist ja auch, wie man das überhaupt lösen würde. Wir haben ja immer die Situation, dass es einen halben Tag lang keine neuen Daten geben wird.

        Wäre es besser, wenn der Adapter dann einfach die unbekannten Stunden auf "Null" setzt?

        M Offline
        M Offline
        MikeRow
        wrote on last edited by
        #185

        @oxident Ja, bisher war das ja auch so mit dem Adapter. Ab 13:00 Uhr sollen die Daten für morgen vorliegen. Liegen Sie vor, werden sie gefüllt. Ab 00:00 Uhr werden sie von morgen auf heute umgelegt und morgen wieder auf Null gesetzt. Ab 13: 00Uhr kommen dann wieder neue Daten von morgen usw usw..

        Ich habe gerade mal alle Objekte des Adapters gelöscht. Sie sind jetzt aktuell. Mal schauen wie der Umzug der Daten Mitternacht läuft. Vermutlich liegt da der Fehler

        O B 2 Replies Last reply
        0
        • M MikeRow

          @oxident Ja, bisher war das ja auch so mit dem Adapter. Ab 13:00 Uhr sollen die Daten für morgen vorliegen. Liegen Sie vor, werden sie gefüllt. Ab 00:00 Uhr werden sie von morgen auf heute umgelegt und morgen wieder auf Null gesetzt. Ab 13: 00Uhr kommen dann wieder neue Daten von morgen usw usw..

          Ich habe gerade mal alle Objekte des Adapters gelöscht. Sie sind jetzt aktuell. Mal schauen wie der Umzug der Daten Mitternacht läuft. Vermutlich liegt da der Fehler

          O Offline
          O Offline
          oxident
          wrote on last edited by
          #186

          @mikerow Das ist ja komisch. Ich nutzen den Adapter erst seit ca. 2 Wochen und bei mir war das von Anfang an so ... aber eventuell liegt es wirklich daran, wie die Daten vom Server geliefert werden.

          Zum Glück haben wir ja die Datenpunkte mit dem "Beginn" des Preises. Da könnte man ansetzen.

          1 Reply Last reply
          0
          • M MikeRow

            @oxident Ja, bisher war das ja auch so mit dem Adapter. Ab 13:00 Uhr sollen die Daten für morgen vorliegen. Liegen Sie vor, werden sie gefüllt. Ab 00:00 Uhr werden sie von morgen auf heute umgelegt und morgen wieder auf Null gesetzt. Ab 13: 00Uhr kommen dann wieder neue Daten von morgen usw usw..

            Ich habe gerade mal alle Objekte des Adapters gelöscht. Sie sind jetzt aktuell. Mal schauen wie der Umzug der Daten Mitternacht läuft. Vermutlich liegt da der Fehler

            B Offline
            B Offline
            babl
            wrote on last edited by
            #187

            @mikerow vor 4 Tagen wurde aber in github was gemacht also müsste @Codibris aktiv sein. Hoffe ich zumindest. Wäre schade um den Adapter.

            1 Reply Last reply
            1
            • M Offline
              M Offline
              Michaelnorge
              wrote on last edited by
              #188

              Nur mal eben zum Verständnis:
              Sind die Adapter bei ioBroker nicht opensource? Könnte da nicht theoretisch jemand Anderes drüberschauen, wenn @Codibris keine Lust oder Zeit hat?

              Es wäre schade drum, wenn niemand mehr den Adapter pflegen würde - zumal ja der andere Adapter auch nicht mehr supportet wird :-/

              –--------------------------------------------------------------------------------------

              • Smart mit: Rasp 4B / ioBroker / Conbee2 / Trådfri / Xiaomi / HUE / Logitech Harmony / Aqara / Easee Wallbox / Hyundai Ioniq / Alexa / Google Home / Fully Kiosk / VIS
              B 1 Reply Last reply
              0
              • M Michaelnorge

                Nur mal eben zum Verständnis:
                Sind die Adapter bei ioBroker nicht opensource? Könnte da nicht theoretisch jemand Anderes drüberschauen, wenn @Codibris keine Lust oder Zeit hat?

                Es wäre schade drum, wenn niemand mehr den Adapter pflegen würde - zumal ja der andere Adapter auch nicht mehr supportet wird :-/

                B Offline
                B Offline
                babl
                wrote on last edited by babl
                #189

                @michaelnorge ja es wurde ja von jemanden bereits eine Merge Anfrage gestellt an @Codibris nur er müsste dann auch antworten. So wie ich das in github gelesen habe wären dann die Probleme mit dem Pulse behoben.

                O 1 Reply Last reply
                0
                • B babl

                  @michaelnorge ja es wurde ja von jemanden bereits eine Merge Anfrage gestellt an @Codibris nur er müsste dann auch antworten. So wie ich das in github gelesen habe wären dann die Probleme mit dem Pulse behoben.

                  O Offline
                  O Offline
                  oxident
                  wrote on last edited by
                  #190

                  Oder aber, man testet direkt den Fork: https://github.com/volkerrichert/ioBroker.tibberconnect

                  Mutige vor ;-)

                  J 1 Reply Last reply
                  0
                  • O oxident

                    Oder aber, man testet direkt den Fork: https://github.com/volkerrichert/ioBroker.tibberconnect

                    Mutige vor ;-)

                    J Offline
                    J Offline
                    JoAu84
                    wrote on last edited by
                    #191

                    @oxident auch mit dem Fork bekomme ich keine Werte rein... Jemand anders schon?

                    1 Reply Last reply
                    0
                    • T ThomKast

                      @Codibris @Michaelnorge @theGrinch

                      Ich wollte Euch noch über einen Versuch informieren, den ich die letzten Stunden ausprobiert habe. ALLERDINGS möchte ich AUF KEINEN FALL, dass hier ein falscher Eindruck entsteht... Das soll jetzt keine Konkurenzlösung für Codibris-Adapter werden !!! Das ist mir ganz wichtig...

                      Es besteht die Möglichkeit eine WebSocket-Verbindung zu den TIBBER LiveMeasurement Daten über node-red herzustellen und die Daten dann in die Datenpunkte des ioBrokers zu schreiben. Allzuviel Ahnung von node-red habe ich nicht und habe es quasi im Blindflug wie folgt versucht:

                      1. Im ioBroker im Node-Red-Adapter "Palettenmanager benutzen" aktivieren
                      2. In Node-Red über das Hamburger-Menu unter "Palette verwalten" im Reiter "Installation" nach "node-red-contrib-tibber-api" suchen und installieren. Danach findet sich eine weitere Node "Tibber API" in der linken Node-Auswahl.
                      3. Die JSON-Datei nach dem Download in Zeile 17 die eigene TIBBER "homeId": "*******" statt der Sternchen und in Zeile 195 das eigene TIBBER "accessToken": "********" statt der Sternchen eintragen.
                        2022-22-29_node-red-TIBBER-LiveMeasurement.json
                      4. In Node-Red über das Hamburger-Menu unter "Import" die komplettierte JSON-Datei importieren.
                      5. Danach sollte folgender Flow angezeigt werden.
                        d8c0ddfb-3a54-4ef9-8776-2f80eb1c50e6-image.png
                      6. Jetzt noch durch Doppelklick auf die blauen "ioBroker OUT"-Nodes die ioBroker-Datenpunkte im Feld "Topic" eintragen, in die die Werte geschrieben werden sollen.
                        29bd96dd-aad3-4160-97ae-d38838c6c1ae-image.png
                      7. Wenn der Flow dann "deployed" ist:
                      • sollte unter der linken Node "connected" stehen, was anzeigt, dass die WebSocket-Verbindung zu TIBBER steht.
                      • sollten unter den blauen Nodes "grüne Kästchen" auftauchen, die zeigen, dass die Datenpunkte im ioBroker erreichbar sind.
                      • finden sich am rechten Rand die Debug-Informationen mit dem Gesamtstring und den einzelnen Werten für "Aktuelle Leistung", "Letzter_Zählerstand_Bezug" und "Letzter_Zählerstand_Einspeisung"

                      Die Daten werden sekündlich in die Datenpunkte geschrieben und es kommt zu keinem Abbruch oder Fehlermeldungen im LOG.
                      Mit Doppelklick auf die TIBBER-Feed-Node können dann noch weitere Daten angeklickt, abgeholt und extrahiert werden. Ich hatte es erstmal nur auf die 3 genannten Werte beschränkt.

                      Vielleicht möchtet Ihr es auch mal probieren oder einfach mal damit spielen. Für mich war es auch nichts anderes.
                      Wenn codibris die Zeit findet und den Adapter überarbeitet hat, werde ich auch den Adapter einsetzen.

                      Viele Grüße und good luck ;-), Thomas

                      W Offline
                      W Offline
                      warp-it
                      wrote on last edited by warp-it
                      #192

                      @thomkast

                      Hallo Thomas,
                      vielen Dank für diese Doku zum Abfragen des Pulse über NodeRed.
                      Es funktioniert sehr gut!
                      Ich habe testweise mal averagePower hinzugefügt, und habe nun das Problem, dass im ioBroker Datapoint ein TimeStamp statt des Wertes ankommt?? Habs gefunden...

                      Hat übrigens noch jemand das Problem, dass der Pulse die aktuelle Leistung (power) falsch überträgt?
                      Wenn ich 700 W verbrauche werden in der Tibber App -200 W (das wäre eine Lieferung von mir) und per Tibber-API 0 W angezeigt.
                      Steigt der Verbrauch auf ca. 1000 W stimmen die Übertragungen dann wieder. Tibber hat seit 3 Tagen darauf noch nicht reagiert.
                      Zähler ist ein DZG DWS7412.1T

                      Viele Grüße
                      Heinrich

                      Michael WyrazM W T 3 Replies Last reply
                      0
                      • W warp-it

                        @thomkast

                        Hallo Thomas,
                        vielen Dank für diese Doku zum Abfragen des Pulse über NodeRed.
                        Es funktioniert sehr gut!
                        Ich habe testweise mal averagePower hinzugefügt, und habe nun das Problem, dass im ioBroker Datapoint ein TimeStamp statt des Wertes ankommt?? Habs gefunden...

                        Hat übrigens noch jemand das Problem, dass der Pulse die aktuelle Leistung (power) falsch überträgt?
                        Wenn ich 700 W verbrauche werden in der Tibber App -200 W (das wäre eine Lieferung von mir) und per Tibber-API 0 W angezeigt.
                        Steigt der Verbrauch auf ca. 1000 W stimmen die Übertragungen dann wieder. Tibber hat seit 3 Tagen darauf noch nicht reagiert.
                        Zähler ist ein DZG DWS7412.1T

                        Viele Grüße
                        Heinrich

                        Michael WyrazM Offline
                        Michael WyrazM Offline
                        Michael Wyraz
                        wrote on last edited by
                        #193

                        @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.

                        S 1 Reply Last reply
                        2
                        • W warp-it

                          @thomkast

                          Hallo Thomas,
                          vielen Dank für diese Doku zum Abfragen des Pulse über NodeRed.
                          Es funktioniert sehr gut!
                          Ich habe testweise mal averagePower hinzugefügt, und habe nun das Problem, dass im ioBroker Datapoint ein TimeStamp statt des Wertes ankommt?? Habs gefunden...

                          Hat übrigens noch jemand das Problem, dass der Pulse die aktuelle Leistung (power) falsch überträgt?
                          Wenn ich 700 W verbrauche werden in der Tibber App -200 W (das wäre eine Lieferung von mir) und per Tibber-API 0 W angezeigt.
                          Steigt der Verbrauch auf ca. 1000 W stimmen die Übertragungen dann wieder. Tibber hat seit 3 Tagen darauf noch nicht reagiert.
                          Zähler ist ein DZG DWS7412.1T

                          Viele Grüße
                          Heinrich

                          W Offline
                          W Offline
                          warp-it
                          wrote on last edited by warp-it
                          #194

                          Ich habe testweise mal averagePower hinzugefügt, und habe nun das Problem, dass im ioBroker Datapoint ein TimeStamp statt des Wertes ankommt??

                          Log:
                          State value to set for "0_userdata.0.Tibber-Node-Red.averagePower" has to be type "number" but received type "object"

                          Weder ein ioBroker datapoint vom Typ 'Number' noch 'Object' funktioniert ???

                          Habs gefunden: Wer schreiben kann ist klar im Vorteil!

                          T 1 Reply Last reply
                          0
                          • W warp-it

                            Ich habe testweise mal averagePower hinzugefügt, und habe nun das Problem, dass im ioBroker Datapoint ein TimeStamp statt des Wertes ankommt??

                            Log:
                            State value to set for "0_userdata.0.Tibber-Node-Red.averagePower" has to be type "number" but received type "object"

                            Weder ein ioBroker datapoint vom Typ 'Number' noch 'Object' funktioniert ???

                            Habs gefunden: Wer schreiben kann ist klar im Vorteil!

                            T Offline
                            T Offline
                            ThomKast
                            wrote on last edited by
                            #195

                            @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...
                            05356597-b3ca-40ab-823c-0ab2deb59240-image.png

                            W 1 Reply Last reply
                            0
                            • W warp-it

                              @thomkast

                              Hallo Thomas,
                              vielen Dank für diese Doku zum Abfragen des Pulse über NodeRed.
                              Es funktioniert sehr gut!
                              Ich habe testweise mal averagePower hinzugefügt, und habe nun das Problem, dass im ioBroker Datapoint ein TimeStamp statt des Wertes ankommt?? Habs gefunden...

                              Hat übrigens noch jemand das Problem, dass der Pulse die aktuelle Leistung (power) falsch überträgt?
                              Wenn ich 700 W verbrauche werden in der Tibber App -200 W (das wäre eine Lieferung von mir) und per Tibber-API 0 W angezeigt.
                              Steigt der Verbrauch auf ca. 1000 W stimmen die Übertragungen dann wieder. Tibber hat seit 3 Tagen darauf noch nicht reagiert.
                              Zähler ist ein DZG DWS7412.1T

                              Viele Grüße
                              Heinrich

                              T Offline
                              T Offline
                              ThomKast
                              wrote on last edited by
                              #196

                              @warp-it
                              Zu Deiner Frage... Nein - funzt 1a. Auch mit kleinen Werten
                              85a3546a-7498-43ef-ba7e-aed57275fe04-image.png

                              W 1 Reply Last reply
                              0
                              • Michael WyrazM Michael Wyraz

                                @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.

                                S Offline
                                S Offline
                                Schimi
                                wrote on last edited by Schimi
                                #197

                                @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 WyrazM 1 Reply Last reply
                                1
                                • S 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 WyrazM Offline
                                  Michael WyrazM Offline
                                  Michael Wyraz
                                  wrote on last edited by Michael Wyraz
                                  #198

                                  @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
                                  1
                                  • T ThomKast

                                    @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...
                                    05356597-b3ca-40ab-823c-0ab2deb59240-image.png

                                    W Offline
                                    W Offline
                                    warp-it
                                    wrote on last edited by
                                    #199

                                    @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
                                    0
                                    • T ThomKast

                                      @warp-it
                                      Zu Deiner Frage... Nein - funzt 1a. Auch mit kleinen Werten
                                      85a3546a-7498-43ef-ba7e-aed57275fe04-image.png

                                      W Offline
                                      W Offline
                                      warp-it
                                      wrote on last edited by
                                      #200

                                      @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
                                      0
                                      • S Schimi

                                        @michael-wyraz

                                        ich nutze einen IR Lesekopf mit dem "smartmeter"-Adapter...
                                        gibt dann so eine ausgabe:
                                        460b24ab-dd3c-4bc6-b767-33a4a608bd25-image.png

                                        Vielleicht kannst du das ja über ne variable lösen, wo man im config bereich den Datenpunkt angibt.....

                                        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)

                                        crunchipC Offline
                                        crunchipC Offline
                                        crunchip
                                        Forum Testing Most Active
                                        wrote on last edited by
                                        #201

                                        @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

                                        umgestiegen von Proxmox auf Unraid

                                        O Michael WyrazM 2 Replies Last reply
                                        1
                                        • crunchipC crunchip

                                          @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 Offline
                                          O Offline
                                          oxident
                                          wrote on last edited by
                                          #202

                                          @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?

                                          crunchipC 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

                                          306

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          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