NEWS
Hausspeicher laden, dynamisch, tibberlink, Scripte
-
@babl said in Hausspeicher laden, dynamisch, tibberlink, Scripte:
@mtbsteve ich weiß auch ehrlich gesagt nicht wo die Timer ID herkommt, das ist mir ein Rätsel.
Mit dem Pv-Forecast heute 9 Uhr, da hast du recht, daß gehört sich gleich unterhalb des Triggers. Da habe ich vorher innerhalb des Triggers den originalen Datenpunkt gehabt, damit es aber dann leichter wird und man nicht innerhalb des Triggers was ändern muß, habe ich eine Variable draus gemacht, die nur beim Start des Scripts abgefragt wird, das gleiche ist es bei der Variable mit dem Wirkungsgrad (wenn es jemand täglich ausrechnen lässt), deshalb müßte man diese 2 Variablen auch innerhalb des Triggers kopieren, man kann sie dann oberhalb löschen.
Sorry.Aber trotzdem habe ich das mit der Timer ID noch nie gehört, da bin ich total überfragt.
Hauptscript wurde auf Version 1 aktualisiert, die aktualisierten Versionen findet ihr immer in den 1. Posts.
Danke. Habe die Änderungen von Dir eingebaut. Die TimerID scheint wohl was mit dem Debug Setting zu tun zu haben, seitdem ich das ausgeschaltet habe, isses weg.
@mtbsteve im Script tibberjson
bitte poste noch das tibberjson script - das fehlt (oder habe ich nicht gefunden)
-
@mtbsteve das muss normal immer Tibber Hauptscript mit dabei sein,
habe aber festgestellt, als ich das als Test importiert habe, daß der Block nicht mit dabei ist, also bitte aktuellste Version des Hauptscripts laden, oben im 3. Beitrag.
Aktuellste Version ist die Version 1.
Das mit der Timer ID wußte ich gar nicht, auch wieder was gelernt, danke dir.
-
zu 1. Weil bis 9 Uhr das Script läuft, ab dann gehe ich davon aus, daß die Sonne ihr weiteres macht, jeder kann hier seine besten Punkte hernehmen, wie er meint.
Das Script rechnet bis 9 Uhr die Entladezeit hoch, sagen wir mal es ist 3 Uhr Früh, die Batterie hat eine Kapazität von 10000Watt, von 3 uhr bis 9 uhr sind 6 stunden mal 60 minuten sind 360 minuten, ist die entladezeit z.B. (200 Minuten) kleiner als die 360 minuten dann versucht er sowieso zwischen 0 und 9 uhr die batterie zu beladen.
Ist die berechnete Beladezeit der Batterie unter 60 minuten sucht er sich den günstigsten Stundenblock, ist die Beladezeit länger als 60 bis 120 Minuten, dann setzt er die besten zusammenshängenden stundenblöcke zum laden, größer als 120 dann sucht er die besten 3 zusammenhängenden stundenblöcke.
Sollte vor Mitternacht die Entladezeit bereits kleiner sein als die Zeit bis Mitternacht dann sucht er vor Mitternacht die besten Zeiten.
So wäre mein Plan.
Zu 2. Ich habe die Variable genommen um den User so wenig zum ändern innerhalb des Scripts zuzumuten. Ansonsten kannst du direkt den Datenpunkt auch nehmen. Kein Problem, habe ja oben geschrieben für die Cracks ist das Blockly wahrscheinlich ein Klacks, doch es gibt ja auch andere, die erst frisch mit iobroker angefangen haben.
-
@babl Danke - habs übernommen. Aktuell läuft alles soweit durch. Bin mal gespannt wie er die Ladeplanung macht
-
@babl said in Hausspeicher laden, dynamisch, tibberlink, Scripte:
Dies siehst du wenn du den Datenpunkt 0_userdata.0.Test.Ladeprozente_Hausspeicher auf 90% änderst wie sich die Zeit in Minuten unter dem Datenpunkt 0_userdata.0.Test.Beladedauer_Hausspeicher ändert.
!!!!!Achtung: aktuelle Einstellungen nur von 90 -100% möglich.Ich muß nochmal nachfragen, wie verhält sich das mit dem DP 0_userdata.0.Test.Ladeprozente_Hausspeicher
Leg ich den selber fest, kommt der irgendwo her, so wie du beschrieben hast sind ja nur Werte zwischen 90-100% möglich, also leg ich das selber fest was ich da haben möchte?
-
@icebear ja, legst du selber fest.
-
@babl es scheint bei mir zu funktionieren, das laden wurde aber bisher noch nicht getriggert, das kann auch an meinen Einstellungen liegen.
Frage: wann werden die Werte für Tibber.Beste_Einzelstunden, Tibber.Beste_Kosten und Tibber.Beste_Stundenblöcke gesetzt? Siehe Screenshot.Kann es sein, dass der Trigger für beste Kosten im Programm garnicht verwendet wird?
-
@mtbsteve zu weiter oben, ja legst du selbst fest, von 90 - 100% ist es möglich, habe das genommen weil vielleicht einige sagen sie wollen die Batterie nicht bis 100% laden.
Der Trigger ist immer sobald der User soc kleiner wird. Außer zwischen 9 Uhr und 15 Uhr, da wird nichts gemacht da ja hier eigentlich die Sonne ihren Dienst verrichten sollte.
Ich weiss jetzt nicht ganz genau, aber es werden nur 2 verschiedene Channel vom tibberlink aktiviert. Das wäre der für beladezeit unter 1 Stunde also der günstigste Preis und dann der Channel mit den stundenblöcken. Hier werden dann kommt auf die beladezeit und beladeleistung an die Stunden genommen die hier gebraucht werden = über 120min beladedauer der beste 3 h Block.
Was du natürlich auch noch berücksichtigen musst ist der Wirkungsgrad, da es ja wenn nur 5 Cent unterschied zwischen höchstpreis und Mindestpreis keinen Sinn macht bei einem Wirkungsgrad von 80% den Speicher zu laden
Beispiel: Höchstpreis 0.3€ Tiefstpreis 0.26€ Wirkungsgrad 80%
Nach diesem Beispiel müsste der Strompreis unter 0.24€ gehen wo sich das rentiert.
Obiges Beispiel mit Wirkungsgrad 90% da wäre dann der Preis unter 0.27€
Ich hoffe ich hab's so einigermaßen erklären können was mein Gedanke mit dem Beladen des Hausspeichers ist.
-
@icebear
Bei mir siehts grad genauso aus. Läuft das jetzt bei dir? -
@blacksheep587 wo hakt es denn?
-
@blacksheep587 said in Hausspeicher laden, dynamisch, tibberlink, Scripte:
Bei mir siehts grad genauso aus. Läuft das jetzt bei dir?
Also wir nähern uns langsam an, die Tibber Geschichte funktioniert jetzt, und bei 'tibberlink' calculations hat er bei mir heute Morgen das erstemal was eingetragen.
Ich werd weiter testen.
-
-
@blacksheep587 bitte schreibt es rein was man besser machen muss, wo man die Doku verbessern muss usw. Ich kann schon mit Kritik wenn sie im Rahmen bleibt umgehen.
Ich habe halt Mal versucht irgendwie was zusammenzubauen was einigermaßen Kopf und Fuss hat, ich hoffe dass wir das zusammen so zum laufen bekommen dass sich vielleicht daraus mal jemand der "Cracks" annimmt und daraus einen Adapter baut. Natürlich sollten dazu die Verbesserungsvorschläge von uns dazu beitragen.
Aber nun schauen wir erstmal dass wir die Scripte so hinbekommen dass sie für jedermann leicht zu implementieren sind, und da bin ich eben auf euch angewiesen.
-
@icebear jetzt musst du dann nur noch schauen ob der Datenpunkt dann beschrieben wird wo er die eigentliche Ladung anstösst. Also der userdata.0.test.batterie_laden glaube ich heisst der dann schauen zu welcher Zeit er auf true geht und ob das mit der Logik so zutrifft
Es wäre dann vielleicht sinnvoll wenn man kurz die Variablen reinschreibt wann er laden sollte zu welchem Preis wie voll war der Speicher usw. So könnte man das vielleicht besser optimieren.
Für alle jene, bei denen die Batterie nur mit einer bestimmten Wattzahl läd, die sollten in den Faktoren dann nur als Zahl eine 1 verwenden, so Läd er immer mit der eingestellten Wattzahl z.b 3000.
Bei Sonnen Batteriesystemen kann man ja die Wattzahl bestimmen. Darum ist auch das beladescript so aufgebaut, dass man bei 0-5 und 90-95 mit Faktor 0.5 (Faktor 2 im Datenpunkt) und bei 95-100% mit Faktor 0.25(Faktor 4) um die Batterie zu schonen.
-
@babl
Ich habe keine Kritik, ich weiß gerade nicht wo es hakt. Ich bin selber in der "Try and Error"-Phase, und hätte es nicht hingebracht, ein Skript wie das deine zu erstellen. Von daher vielen Dank an deine Arbeit.Momentan bin ich noch kein Tibberkunde, der Vertrag beginnt erst im Januar. Ich habe aber Pulse laufen und im Skript alle Tokens durch meinen eigenen ersetzt. Deshalb war/ist meine Annahme, dass ich eigentlich alles laufen lassen kann, nur dass der Strom hald zu den Kosten meines aktuellen Vertrag bezogen wird...
-
@blacksheep587 OK super, du musst eigentlich nur den Datenpunkt wo der Punkt ist für die Beladung überprüfen oder bestenfalls mit SQL History loggen dann siehst du genau wann es zu laden beginnen würde. Ohne dass es wirklich an der Batterie was macht. Praktisch einen "Dummy" Datenpunkt
-
@babl said in Hausspeicher laden, dynamisch, tibberlink, Scripte:
Für alle jene, bei denen die Batterie nur mit einer bestimmten Wattzahl läd, die sollten in den Faktoren dann nur als Zahl eine 1 verwenden,
Danke für den Hinweis, hab ich jetzt grad mal gemacht, mal schauen was er jetzt macht.
Jetzt wart ich mal drauf wann er den DP 'Batterie_Laden' auf true setzt.
-
Moin,
ich hänge noch an den Aliasen, habe ich bisher noch nie genutzt. Könnte einer in Kurzform erklären, wie die zu erstellen sind?
Danke Euch & Gruß
Timo -
Wo werden den die DP für'Beste_Einzelstunden', 'Beste_Kosten' und 'Beste_Stundenbloecke'
geändert?
Das Script triggert ja auf ' wurde aktualisiert' aber wo passiert das, wer aktualisiert das.Hintergrund der Frage ist, die Datenpunkte stehen bei mir immer auf 'false'
-
@icebear im Hauptscript.
Und das untere Script daß du da umgeschrieben hast, so kann das nicht funktionieren, wie du dir das vorstellst, er ändert im Hauptscript die Tibberlink Datenpunkte von beste Stunden, beste Kosten usw. und du triggerst dann im unteren script auf die Vis? Wenn du das auch so umgeschrieben hast mit den Datenpunkten dann klappt das auch nicht, oder woher soll der adapter wissen wenn er die Datenpunkte auf true stellen soll?
Und damit du siehst daß es funktioniert hier aus dem sql history adapter für die besten Stunden einen Ausschnitt.
Damit du auch siehst, daß das mit den günstigen Preisen schon klappt hier der Auszug aus der Influx DB vom 4.11 bis 5.11.
Am 4.11. um 23 Uhr hätte er laut dem Script und dem Preis das laden begonnen, am 5.11 um 0 uhr hätte er das Laden beendet, um 3 Uhr hätte er das Laden wieder begonnen und um 4 Uhr beendet. Rechts siehst du auch daß dies der Tibberlink Adapter dann macht.
Natürlich wie oben bereits geschrieben muß da einiges zusammenspielen, 1. die Entladezeit muß kleiner sein als bis 9 Uhr oder 0 Uhr, die Preisdifferenz vom Höchstpreis zum Mindestpreis muss mit dem Wirkungsgrad passen. Bau dir doch einfach debug blöcke in das script ein dann siehst du ja genau was er macht.