NEWS
Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse
-
@codibris danke für diesen genialen Adapter! Ich versuche gerade anhand der Preisvorhersagen meinen Speicher optimal zu nutzen, heißt bei Hochpreisen ausspeichern und bei Niedrigpreisen eine Entladesperre zu setzen. Was genau Hochpreis und was Tiefpreis ist, soll sich natürlich dynamisch anpassen. Ich wollte zunächst mit dem Pricelevel arbeiten, jedoch bezeiht der sich meiner Meinung nach auf zurückliegende Preise und ist nicht geeignet für mein Vorhaben.
Gibt es eine Möglichkeit, über die PricesTomorrow einen Durchschnitt zu bilden und in einen neuen Datenpunkt zu schreiben?
Bin leider absoluter Anfänger in javascript... -
@whiley85 schau dir mal das Script an
https://forum.iobroker.net/topic/60938/geräte-zu-stundenpreisen-epex-oder-pv-überschuss-betreibenDa werden auch DP für Durchschnitts Preise erstellt
-
@mikerow Vielen Dank, kann mir sicher helfen, besser in die Sache reinzukommen. Auf den ersten Blick ist dieser Ansatz leicht anders als meiner, denn hier wird eine Bandbreite des günstigsten Preises ermittelt.
Ich stelle mir vor, dass ich um 14:00 Uhr den average der 24 Werte PricesTomorrow bilde und meinen Speicher per RSCP wie folgt steuere:if currentPrice < 0.9 x average, lade Speicher
else if currentPrice > 1.1 x average, nutze Speicher
else setze EntladesperreHoffe man versteht meine Überlegungen.
-
Hi. Lass mir mal bitte heute Abend Zeit. Wenn es klappt schaue ich mir das an und melde mich bei Dir.
Gruß Thomas -
@whiley85 Schau dir das mal an. https://www.photovoltaikforum.com/thread/142863-prognosebasierte-ladung-mittels-iobroker/
Tibber Addon ist da auch dabei. Vielleicht kannst du Teile davon gebrauchen
-
@thomkast zu spät... ist zwar nicht schön, aber selten und scheint zu funktionieren:
schedule("1 13 * * *", async function () { function ArrayAvg(myArray) { var i = 0, summ = 0, ArrayLen = myArray.length; while (i < ArrayLen) { summ = summ + myArray[i++]; } return summ / ArrayLen; } var myArray = [ parseFloat(getState("tibberconnect.0.Homes.ffXXX.PricesTomorrow.0.total").val), parseFloat(getState("tibberconnect.0.Homes.ffXXX.PricesTomorrow.1.total").val), parseFloat(getState("tibberconnect.0.Homes.ffXXX.PricesTomorrow.2.total").val), //... parseFloat(getState("tibberconnect.0.Homes.ffXXX.PricesTomorrow.21.total").val), parseFloat(getState("tibberconnect.0.Homes.ffXXX.PricesTomorrow.22.total").val), parseFloat(getState("tibberconnect.0.Homes.ffXXX.PricesTomorrow.23.total").val), ]; var avg = ArrayAvg(myArray); setState('0_userdata.0.Tibber.next24hAvg', avg); setState('0_userdata.0.Tibber.next24hAvgCent', Math.round(avg*10000)/100); });
Mit dem Datenpunkt kann ich nun mein E3DC Ladeverhalten regeln.
Preis 10% niedriger als morgiger Durchschnittspreis => Akku laden
Preis 10% höher als morgiger Durchschnittspreis => Akku freigeben
Alles dazwischen => Entladesperreschedule("1 * * 1,12 *", async function () { var CurrentPrizeCent=getState("alias.0.Tibber.CurrentPrizeCent").val; var next24hAvgCent=getState("0_userdata.0.Tibber.next24hAvgCent").val; var SoC=getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val; if (SoC<80) { if (CurrentPrizeCent<0.8*next24hAvgCent) { setState("e3dc-rscp.0.EMS.SET_POWER_MODE",3); //Charge setState("e3dc-rscp.0.EMS.SET_POWER_VALUE",3000); //3000 Watt } else if (CurrentPrizeCent<0.9*next24hAvgCent) { setState("e3dc-rscp.0.EMS.SET_POWER_MODE",3); //Charge setState("e3dc-rscp.0.EMS.SET_POWER_VALUE",2000); //2000 Watt } else if (CurrentPrizeCent>1.1*next24hAvgCent) { setState("e3dc-rscp.0.EMS.SET_POWER_MODE",0); //Normal setState("e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER",3000); } else { setState("e3dc-rscp.0.EMS.SET_POWER_MODE",0); //Normal setState("e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER",0); //Entladesperre }} else if (CurrentPrizeCent>1.1*next24hAvgCent) { setState("e3dc-rscp.0.EMS.SET_POWER_MODE",0); //Normal setState("e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER",3000); } else { setState("e3dc-rscp.0.EMS.SET_POWER_MODE",0); //Normal setState("e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER",0); //Entladesperre } });
-
@whiley85 warum die Preise von morgen und nicht von heute?
-
@mikerow weil die Preisinformation von morgen wertvoller ist. Wenn der Durchschnittspreis von morgen höher ist als von heute, mach ich schnell den Akku voll. Ist er niedriger, mach ich den Akku leer. Ich kann so viel effizienter steuern, auch über mehrere Stunden.
-
@whiley85 sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:
@mikerow weil die Preisinformation von morgen wertvoller ist. Wenn der Durchschnittspreis von morgen höher ist als von heute, mach ich schnell den Akku voll. Ist er niedriger, mach ich den Akku leer. Ich kann so viel effizienter steuern, auch über mehrere Stunden.
OK, alles klar. Verstehe
-
Hallo zusammen,
ich habe seit Samstag einen Pulse, mein ITRON ACE 3000 hat aber nur den verkürzten Datensatz. Kann es sein, dass ich im Adapter den Pulse deswegen gar nicht aktivieren kann, da keine Live Daten vorhanden sind?
Kann ich trotzdem die stündlichen Verbräuche in den Broker bekommen? Vielen Dank -
Weiß jemand, ob es über die API bzw. den Adapter irgendwie möglich ist, den Zählerstand abzufragen?
-
@oxident ja, wird mit ausgelesen
-
@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. -
@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.
-
@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
-
@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? -
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! -
@joau8 Bei mir läuft es, gerade mal getestet
Nur im Tibberconnect Adapter kommt seit gestern das LiveMeasurement nicht mehr rüber
-
Moin in die Runde. Mein Adapter bleibt heute auf gelb und in den Logs sehe ich
Nur das LiveMeasurement kommt nicht rüberIn der API kommt aber was raus
-
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
Michael2023-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