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.
    • K
      Kentrath @MikeRow last edited by

      @mikerow
      Weißt Du, was man da abfragen muss? Bei meinem Zähler ist der Zählerstand nämlich der einzige Wert, der ausgegeben wird. Irgend etwas stimmt bei mir wahrscheinlich nicht. Gestern früh zwischen 2 und 5 Uhr habe ich 10 kWh in mein Auto geladen. Die Tibber App (und API) zeigt aber Verbräuche pro Stunde von ca. 0,7 kWh an. Das ist gar nicht möglich.
      Den Tibber Support habe ich Montag bereits angemailt, die scheinen aber hoffnungslos unterbesetzt zu sein...
      Wenn ich also mal einen Abgleich zwischen Ist-Zustand und API machen könnte, wäre das super.

      M 2 Replies Last reply Reply Quote 0
      • M
        MikeRow @Kentrath last edited by

        @kentrath ich denke, dann setzt du hier falsch an. Du musst sicherstellen, dass der Pulse alle Daten zu Tibber sendet. erst dann kann der IOB Adapter auch etwas sehen. ich denke, da musst du mit dem Tibber Support Rücksprache halten. Vielleicht hast du den Info datensatz im Zähler nicht freigeschaltet.

        K 1 Reply Last reply Reply Quote 0
        • M
          MikeRow @Kentrath last edited by

          @kentrath Du kannst auch für den DP Zählerstand das schreiben in Influx oder history aktivieren und dann entsprechen rechnen mit einem Script wie der Verbrauch ist

          1 Reply Last reply Reply Quote 0
          • K
            Kentrath @MikeRow last edited by

            @mikerow
            Vielen Dank für Deine Antwort. Mein Itron ACE 3000 ist leider nicht in der Lage, einen erweiterten Datensatz auszugeben (auch nicht freischaltbar, habe ich beim Netzbetreiber schon angefragt). Das steht auch so auf der Tibber Whitelist. Es wird nur alle 10 Sekunden der Zählerstand übermittelt, sonst nichts. Laut Tibber reicht dies aber aus, um stündlich abzurechnen. Die API zeigt mir aber immer erst am Folgetag Daten an. Sprich aktuell ist für den 11.01. der Verbrauch auf "null" und für den 10.01. sehe ich vermeintlich die Verbrauchsdaten. Hat noch jemand von Euch einen Zähler, der nur den Zählerstand übermitteln kann? Wie sieht es da bei Euch aus?

            1 Reply Last reply Reply Quote 0
            • J
              JoAu84 @ThomKast last edited by

              Hallo! Bin hier schon eine Weile als Mitleser dabei. Bisher funktionierte der Adapter bei mir ganz gut, bis auf die bekannten Verbindungsabbrüche; deswegen nutze ich das Skript von @ThomKast
              Bisher funktionierte das auch; seit gestern Mittag gibts keine Verbindung mehr! Jemand dasselbe Problem? Ich vermute ja eher, dass es an Tibber liegt…
              Viele Grüße!

              M 1 Reply Last reply Reply Quote 1
              • M
                MikeRow @JoAu84 last edited by MikeRow

                @joau8 Bei mir läuft es, gerade mal getestet
                06550d02-a9c2-4c27-9ea6-9c64bfc05cdd-image.png

                Nur im Tibberconnect Adapter kommt seit gestern das LiveMeasurement nicht mehr rüber

                M T J 3 Replies Last reply Reply Quote 0
                • M
                  MikeRow @MikeRow last edited by MikeRow

                  Moin in die Runde. Mein Adapter bleibt heute auf gelb und in den Logs sehe ich
                  854df318-a12d-40ff-80bc-45eec03edab5-image.png Nur das LiveMeasurement kommt nicht rüber

                  In der API kommt aber was raus

                  54d988b7-6dfd-4a86-8268-bfe6108f9d98-image.png

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    Michaelnorge last edited by

                    Hallo.
                    Ich bekomme den Adapter seit gestern nicht mehr online.
                    Laufend bekomme ich die unten genannten Fehler.

                    Hab schon vor einiger Zeit ein issue aufgemacht, da war es nur sporadisch - aber jetzt geht nichts mehr.

                    Gibt es hier mehrere mit dem gleichen Problem?
                    Ich benutze den Pulse.

                    Grüße
                    Michael

                    2023-01-12 15:43:46.138 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:46.946 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:47.247 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:48.076 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:48.766 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:49.512 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:50.051 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:50.370 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:50.688 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:51.224 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:51.566 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:52.162 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:52.258 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:52.676 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:53.007 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:53.798 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:54.498 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:54.562 - error: tibberconnect.0 (16647) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                    2023-01-12 15:43:54.563 - error: tibberconnect.0 (16647) unhandled promise rejection: undefined
                    2023-01-12 15:43:54.563 - error: tibberconnect.0 (16647) undefined
                    2023-01-12 15:43:54.570 - info: tibberconnect.0 (16647) terminating
                    2023-01-12 15:43:54.571 - warn: tibberconnect.0 (16647) Terminated (UNCAUGHT_EXCEPTION): Without reason
                    2023-01-12 15:43:55.013 - info: tibberconnect.0 (16647) Feed was disconnected. I try to reconnect in 5s
                    2023-01-12 15:43:55.014 - warn: tibberconnect.0 (16647) setInterval called, but adapter is shutting down
                    2023-01-12 15:43:55.130 - warn: tibberconnect.0 (16647) get state error: Connection is closed.
                    2023-01-12 15:43:55.261 - error: host.raspberrypi instance system.adapter.tibberconnect.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                    2023-01-12 15:43:55.262 - info: host.raspberrypi Restart adapter system.adapter.tibberconnect.0 because enabled
                    
                    1 Reply Last reply Reply Quote 0
                    • M
                      Michaelnorge @MikeRow last edited by

                      @mikerow Jepp, mir bekannt, geht zur Zeit nichts mehr.

                      1 Reply Last reply Reply Quote 0
                      • T
                        ThomKast last edited by ThomKast

                        ****** ÄHM, sorry... Nur für alle, die die Daten zwischenzeitlich mit der NodeRed-Lösung abholen *******

                        Hallo Zusammen,

                        der TIBBER-Adpater in NodeRed muss aktualisiert werden. Es liegt eine neue Version 5.1.4 vor, mit dieser funktioniert der Verbindungsaufbau wieder.
                        8832231d-7ac5-4da6-901b-15ab0d0a1c9b-image.png

                        Folgendes Vorgehen für die Aktualisierung:

                        • In NodeRed -> Hamburger-Menu -> Palette verwalten
                          4250749a-96bd-4a73-9578-d89dd03b27e7-image.png

                        • "tibber" im Suchfeld eingeben und nach der angezeigten Erweiterung suchen
                          e4b0fdca-336a-472a-8360-45e04c45c8be-image.png

                        • an der Stelle des langen, leeren, roten Kästchen erschien die Info zur Aktualisierung.
                          Diese durchführen.

                        • Danach muss NodeRed neu gestartet werden. Also NICHT NUR die Flows neustarten, sondern im ioBroker unter den Instanzen die NodeRed-Instanz.
                          ed6c1f29-8a5e-44c3-9aac-6f9529172c17-image.png

                        • Dann das NodeRed-Fenster neu laden und die Verbindung zu Tibber sollte wieder laufen, also "connected" sein.
                          f56a20a3-3276-4652-8f09-99439afd04aa-image.png

                        Hat irgendjemand Ahnung, wie man sich über Aktualisierungen der NodeRed-Adapter informieren lassen kann?

                        Beste Grüße, Thomas

                        1 Reply Last reply Reply Quote 0
                        • T
                          ThomKast @MikeRow last edited by

                          @mikerow
                          Kann es sein, dass Du etwas durcheinander wirfst?..? Die Daten die Du dort zeigst, werden doch durch meine Skript-Lösung aus dem anderen Beitrag erzeugt. Oder irre ich mich??? 😉
                          Sollte ich nicht irren, dann wird dazu kein Adapter benötigt, sondern nur der Request aus dem Script ausgeführt.

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MikeRow @ThomKast last edited by

                            @thomkast Ja, du hast Recht. Ich hatte auf den Beitrag von @JoAu84 geantwortet. Er meinte, dein Script liefert keine Daten. Da ist wohl etwas durcheinander geraten.

                            1 Reply Last reply Reply Quote 0
                            • M
                              Michaelnorge last edited by

                              Wieviele Anfragen sendet der Adapter eigentlich? Wenn ich ihn starte, gibt es eine Fehlermeldung von Pi-Hole:

                              2023-01-12 19:08:41	RATE_LIMIT	Client 192.168.178.149 has been rate-limited (current config allows up to 1000 queries in 60 seconds)
                              

                              Hab ja nicht viel Plan, aber kann es sein, daß die API blockt bei zu vielen Anfragen?

                              1 Reply Last reply Reply Quote 0
                              • T
                                ThomKast last edited by

                                @michaelnorge
                                Hatten wir das nicht schon mal weiter oben??
                                Allerdings hatte ich dazu keine Antwort finden können...

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  tobe4it @ThomKast last edited by

                                  Der tibberconnect Adapter V0.0.9 läuft nicht mehr. Ich nehme an, dass das an der Umstellung seitens Tibber liegt: Breaking change in websocket subscription:

                                  https://developer.tibber.com/docs/overview#breaking-websocket-change

                                  Im Code des Adapters steht noch api.tibber.com. Ich hab' versucht das auf websocket-api.tibber.com zu ändern, blicke bei dem Code aber scheinbar nicht durch. Sind nur main.ts und main.js anzupassen?

                                  Ich hab' das für mich jetzt mit dem Umweg über die Anbindung von Home Assistant an ioBroker gelöst. Dort wurde die Änderung bereits eingepflegt.

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

                                    Komisch, bei mir klappt der Adapter wunderbar. Jedoch beginnt mein Vertrag erst in ein paar Wochen und der Pulse ist auch nicht da.

                                    Aber die stündlichen Preise werden brav aktualisiert.

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MikeRow @oxident last edited by

                                      @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

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

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

                                        @oxident nur der Teil mit dem Pulse funktioniert derzeit nicht

                                        Ahh ok. Das ist wirklich nicht gut. Wollte darüber in Zukunft die Steuerung meines PC-Akkus laufen lassen. Wäre blöd, wenn das "unzuverlässig" ist.

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          Michaelnorge @oxident last edited by

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

                                          Wäre blöd, wenn das "unzuverlässig" ist.

                                          Nicht nur Du bei der die ganze Stromregulierung abhängig ist von diesem Adapter.
                                          Aber keine Angst, es wird sicher daran gearbeitet!!

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            theGrinch last edited by 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 O 3 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            853
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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