NEWS
Daten aus Url abfragen und in Datenpunkt schreiben
-
@keksn alles zurück ..Fehler ist weg und er Datenpunkt ist mit dem Wert aktualisiert worden.
-
@keksn sagte: habe eigentlich 15 Sekunden abfrage eingebaut
Damit funktioniert das Skript nicht, da dann die Division durch 15 keinen Integer-Wert liefert. Wert bei mir seit 20:00 Uhr:
-
der Fehler ist jetzt wieder da. Der Datenpunkt ist aber Aktualisiert worden.
-
@keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:
der Fehler ist jetzt wieder da.
siehe
@paul53 sagte in Daten aus Url abfragen und in Datenpunkt schreiben:
@keksn sagte: habe eigentlich 15 Sekunden abfrage eingebaut
Damit funktioniert das Skript nicht, da dann die Division durch 15 keinen Integer-Wert liefert. Wert bei mir:
was soll das br7ngen alle 15 sec?
-
@paul53 aha , muss das Script komplett neu gemacht werden wenn man eine kürzere Abfrage macht?
-
@keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:
wenn man eine kürzere Abfrage macht?
nochmal:
was bringt dir das?
abgesehen, dass die API das wohl nicht gerne sieht. -
@keksn Ich werde es wieder auf 15 Minuten ändern!
Vielen Dank an euch beide für die Hilfe!!! (beim Stromsparen)
Schönen Abend!
LG
-
@keksn nicht dass du bei der API geblockt wirst.
Du kannst das result Morgens um 0:01 herunterladen und in einem DP (und einer Variablen) speichern.
Darin sind die Preise von 191 Viertelstunden ab 0:00 dr7n.
Nach meinem Verständnis ändern die sich auch in dieser Zeit nicht mehr.Warum also dauernd wieder herunterladen?
Man könnte auch direkt die günstigsten Stunden heraussuchen und in Datenpunkte schreiben, und, und, und...
(ohne dauernd die API zu belasten)
-
ich hab das mal nach Blockly verschoben. Mit der Forensoftware hat das ja nichts zu tun.
-
@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.