NEWS
Daten aus Url abfragen und in Datenpunkt schreiben
-
@homoran ok klingt gut. Schau mir morgen mal an ob wirklich alle Preise für den ganzen Tag schon um 0:01 enthalten sind. Für die Umsetzung werde ich dann wohl nochmals Hilfe brauchen.
-
@homoran ok danke!
-
@keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:
alle Preise für den ganzen Tag schon um 0:01 enthalten sind.
und für den nächsten
-
GM, ursprünglich wollte ich einen Schwellwert definieren und bei dessen unterschreiten des aktuellen Strompreises eine Batterieladung, Speicherheizung mit WP usw. auslösen.
Mit Homorans Idee alle Werte am Anfang des Tages auf einmal herunter zu laden und in Datenpunkte zu schreiben, könnte man diesen Bezugszeiträume schon für den ganzen Tag im Vorhinein definieren.Wie würde man das am besten machen, beziehungsweise wie fragt man alle Werte auf einmal ab um sie in Datenpunkt zu Schreiben.
-
@keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:
Wie würde man das am besten machen,
ist da nichts dabei?
https://forum.iobroker.net/search?term=günstigste stunden tibber&in=titlesposts -
@homoran es dürfte aber einen Awattar Adapter geben der mit dem AT link die gleichen Preise wie bei Smart Energy abfragt..
-
@paul53 Hallo, ich habe nun den Awattar Adapter als Abfrage für die Strompreise installiert. Die Werte sind die selben die auch mein Stromanbieter hat.
Du hast da ja da schon ein Script zur Steuerung von Verbrauchern über den günstigsten Preis erstellt.
Ich will eigentlich mit den günstigsten Preisen nicht direkt Verbraucher betreiben, sonder Batterien laden. (Auto und Inverter Batterie).
Wie müsste man das Script umbauen, dass es Wahlweise eine oder mehrere Stunden die unter dem Schwellwert sind, aber nicht zwingend aufeinanderfolgend sind, auswählt und dann einen Datenpunkt für diese Zeiten aktualisiert? Im optimal Fall auch noch mit einem zu definierenden Zeitraum. zB. 0:00-7:00 Uhr.?
So wäre es möglich eine gewissen SOC der Batterie über die günstigsten Stunden zu laden. Wenn ich ca. 30% aufladen will (100KWh Autobatterie) mit den günstigsten Stunden von zB. 0:00-7:00 Uhr, dann würde ich die günstigsten 3 Stunden in diesem Zeitraum benötigen ( bei 11kW Ladeleistung und 100kWh Batterie).
Wäre top wenn Du mir da helfen könntest, auch wenn Homoran will das ich es selber lerne denke ich, dass ich da kein Ende finde....beziehungsweise morgens eine ungeladene Batterie haben werde.
-
@keksn sagte: mehrere Stunden die unter dem Schwellwert sind, aber nicht zwingend aufeinanderfolgend sind
Dann ist der Ansatz in diesem Skript einfacher zu realisieren. Anstelle der festen Vergleichswerte kann der Wert (Stunden) aus einem Datenpunkt verwendet werden.
EDIT: Wenn es allerdings auf bestimmte Tageszeiten eingeschränkt werden soll, wird es komplizierter. -
@keksn
Ich habe mal ein Blockly entworfen, das um 19:00 Uhr und bei Skriptstart die API-Werte einliest, in einernachtListe
die Objekte von heute 20:00 Uhr bis morgen 5:00 Uhr (10 Objekte) speichert und zum Schluss nach Preis sortiert.
In einem Stunden-Trigger wird dann die volle Stunde zu den sortierten Objekten ermittelt und - falls sie zu den niedrigsten gehört - die Ladung aktiviert.Inhalt der Javascript-Funktion sortObjectNum(arr,attr):
function sortAttr(a, b) { return parseFloat(a[attr]) - parseFloat(b[attr]); } arr.sort(sortAttr);
Der Datenpunkt "Dauer" muss ganzzahlige Stunden 1 ... 9 enthalten.
-
@keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:
auch wenn Homoran will das ich es selber lerne denke ich, dass ich da kein Ende finde..
versuch es doch!
Rom ist auch nicht an einem Tag erbaut worden -
@paul53 Genial, vielen Dank!! Ich baue jetzt mal nach.
-
@paul53 Wo finde ich, oder ie mache ich diesen Baustein? (Datum/Zeit)
-
@paul53 habs...danke in Konvertierung
-
-
@keksn
Das ist die Javascript-Funktion mit zwei Parametern: -
@paul53 ah ich habe beide in eine Variable geschrieben...darum danke!
Wäre es für Dich einfacher gewesen die Datenpunkte de Awattar Adapters zu verwenden?
-
@keksn sagte: Wäre es für Dich einfacher gewesen die Datenpunkte de Awattar Adapters zu verwenden?
Nein, so hat man alles in einer Liste und muss nicht verschiedene Datenpunkte auslesen.
-
@paul53 nein mir ist es gleich. Gibt es auch eine Möglichkeit zu sehen wann geladen wird ?
-
@keksn sagte: Gibt es auch eine Möglichkeit zu sehen wann geladen wird ?
Gib per Debug-Block die sortierte Liste aus. Wenn z.B. 3 Stunden geladen werden soll, sind es die ersten 3 Einträge in der Liste.
[{'date':'2023-10-29T03:00:00+01:00','value':0.64},{'date':'2023-10-29T04:00:00+01:00','value':0.683},{'date':'2023-10-29T05:00:00+01:00','value':0.688},
... also morgen von 3 bis 6 Uhr.
-
@paul53 Danke!!