Super, danke dir. Teste das vermutlich heute Abend oder morgen.
Gruß Matthias
Super, danke dir. Teste das vermutlich heute Abend oder morgen.
Gruß Matthias
So, ich bin ja echt schlecht in dem Kram. Bei mir kommt folgendes. Liegt es an mir oder meiner Konfiguration?
root@raspberrypi4:~# sh /data/etc/Spotmarket-Switcher/controller.sh
Spotmarket-Switcher crontab entry successfully updated to 15-minute intervals.
"/tmp/tmp.hV2hId":1: bad minute
errors in crontab file, can't install.
/data/etc/Spotmarket-Switcher/controller.sh: line 1103: syntax error near unexpected token <' /data/etc/Spotmarket-Switcher/controller.sh: line 1103: mapfile -t sorted_prices < <(grep -E '[1]+.[0-9]+$' "$file7")'
root@raspberrypi4:~#
Es wäre nett, wenn du mir da helfen kannst.
0-9 ↩︎
chmod +x /data/etc/Spotmarket-Switcher/controller.sh
/data/etc/Spotmarket-Switcher/controller.sh
Hast Du das Script als ausführbar markiert mit chmod?
Moin,
ne hatte ich natürlich nicht.
Ich habe nun noch eine Frage und ein Problem. Zunächst die Frage. Am Anfang schreibt er folgendes:
root@raspberrypi4:~# /data/etc/Spotmarket-Switcher/controller.sh
Spotmarket-Switcher crontab entry successfully updated to 15-minute intervals.
"/tmp/tmp.pK31II":1: bad minute
errors in crontab file, can't install.
[|] Loading...Config validation passed.
I: Bash Version: GNU bash, version 5.0.18(1)-release (arm-ve-linux-gnueabi)
I: Spotmarket-Switcher - Version 2.5.3
I: Please be patient. A delay of 3 seconds will help avoid overloading the Solarweather-API.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 159 100 159 0 0 250 0 --:--:-- --:--:-- --:--:-- 250
I: Sunrise today will be 07:37 and sunset will be 18:52. Suntime will be 675 minutes.
I: Solarenergy today will be 1.9 megajoule per sqaremeter with 1.9 percent clouds. The temperature is 12.2°C with 0cm snowdepth.
I: Solarenergy tomorrow will be 5.5 megajoule per squaremeter with 5.5 percent clouds. The temperature will be 14°C with 0cm snowdepth.
I: No cached Tibber today-data, fetching new data.
I: Please be patient. First we wait 29 seconds in case the system clock is not synchronized and not to overload the API.
Ist das mit dem crontab file normal?
Mein Problem ist aber noch ein anderes. Bisher habe ich immer die Daten von Awattar bezogen. Nun habe ich in der config.txt tibber ausgewählt und habe dann über den Link und meinen Tibber Account den api key erstellt. Wenn ich das tue und nur "price" auswähle, dann nimmt der automatisch noch den "tibber_graph" hinzu. Ist das ein Problem? Denn wenn ich dann das script starte, dann passiert weiter unten nach dem oberen text dann folgendes:
E: Tibber prices cannot be extracted to '/tmp/tibber_prices_sorted.txt', falling back to aWATTar API.
Den api key habe ich an die entsprechende Stelle zwischen den "" gesetzt.
Gruß Matthias
Achso nochwas:
Zwei stunden später sah es dann so aus:
Das ist doch nicht richtig oder?
Gruß
Matthias
Hi,
Tibber-API funktioniert nicht / „Tibber prices cannot be extracted“
Wenn diese Meldung erscheint, liegt das fast immer am API-Schlüssel (Token).
Entweder ist er ungültig, hat nicht die richtigen Rechte oder wurde falsch eingetragen.
So prüfst du das:
Matrix-Verhalten (24/48 h) – warum sich die Matrix verkürzt
Die Matrix im Spotmarket-Switcher entscheidet, wie viele günstige Stunden für Laden/Entladen genutzt werden dürfen.
Sie wird bei jedem Script-Lauf automatisch neu berechnet.
Dabei gilt:
Das ist so gewollt – das Script schaut immer „nach vorne“ und berücksichtigt keine alten Preisstunden mehr.
Zu dem Crobtab Problem erstelle ich ein Update, das scheint zu deinem System nicht kompatibel zu sein. Das alte stündliche Intervall wird mit der Funktion auf 15 Minuten verkürzt. Version 2.5.4 behebt das nun hoffentlich. Jedenfalls kannst Du mit crontab -e deine crontab bearbeiten und Du solltest Dort eine Zeile mit */15 * * * * /data/etc/Spotmarket-Switcher/controller.sh finden, die dafür sorgt das das Script alle 15 Minuten ausgeführt wird.
Gruß Christian
Hi,
erstmal danke für deine Mühe. Ist ja nicht selbstverständlich.
Wenn ich in das Terminal das von dir genannten eintrage, so erscheint folgende Zeile:
{"data":{"viewer":{"homes":[{"currentSubscription":null}]}}}
Zahlen usw. sehe ich gar nicht.
Nur zur Erklärung was ich getan habe. Ich habe über Putty auf den raspberry Pi zugegriffen und dort deine Zeilen (direkt in einer Zeile geschrieben) eingetragen. Natürlich mit meinem Token. Wenn ich dort auch nur eine Zahl ändere, dann steht dort:
{"errors":[{"message":"invalid token","locations":[{"line":1,"column":3}],"path":["viewer"],"extensions":{"code":"UNAUTHENTICATED"}}],"data":null}
Also so ganz falsch kann mein vorgehen nicht gewesen sein.
Es steht bei mir aber nach dem eintragen des gleichen Tokens aber immer noch:
Achso. Ich habe mehrfach einen neuen Token erstellt. Immer das gleiche.
So sieht es bei mir aus.
Dein Token funktioniert also nicht. Also ein Fall für den Tibber Support wenn Du soweit nicht kommst.
root@raspberrypi4:~#
curl -s -H "Authorization: Bearer Vemjrq_K_GgK_MEINTOKEN_GEKÜRZT_lI9Q" -H "Content-Type: application/json" -d '{"query":"{ viewer { homes { currentSubscription { priceInfo { today { total startsAt } } } } } }"}' https://api.tibber.com/v1-beta/gql
{"data":{"viewer":{"homes":[{"currentSubscription":{"priceInfo":{"today":[{"total":0.3344,"startsAt":"2025-10-07T00:00:00.000+02:00"},{"total":0.327,"startsAt":"2025-10-07T01:00:00.000+02:00"},{"total":0.322,"startsAt":"2025-10-07T02:00:00.000+02:00"},{"total":0.3217,"startsAt":"2025-10-07T03:00:00.000+02:00"},{"total":0.3258,"startsAt":"2025-10-07T04:00:00.000+02:00"},{"total":0.3302,"startsAt":"2025-10-07T05:00:00.000+02:00"},{"total":0.3756,"startsAt":"2025-10-07T06:00:00.000+02:00"},{"total":0.4871,"startsAt":"2025-10-07T07:00:00.000+02:00"},{"total":0.5574,"startsAt":"2025-10-07T08:00:00.000+02:00"},{"total":0.4676,"startsAt":"2025-10-07T09:00:00.000+02:00"},{"total":0.3992,"startsAt":"2025-10-07T10:00:00.000+02:00"},{"total":0.3697,"startsAt":"2025-10-07T11:00:00.000+02:00"},{"total":0.3472,"startsAt":"2025-10-07T12:00:00.000+02:00"},{"total":0.3415,"startsAt":"2025-10-07T13:00:00.000+02:00"},{"total":0.3405,"startsAt":"2025-10-07T14:00:00.000+02:00"},{"total":0.3498,"startsAt":"2025-10-07T15:00:00.000+02:00"},{"total":0.3604,"startsAt":"2025-10-07T16:00:00.000+02:00"},{"total":0.3958,"startsAt":"2025-10-07T17:00:00.000+02:00"},{"total":0.456,"startsAt":"2025-10-07T18:00:00.000+02:00"},{"total":0.4689,"startsAt":"2025-10-07T19:00:00.000+02:00"},{"total":0.3893,"startsAt":"2025-10-07T20:00:00.000+02:00"},{"total":0.3618,"startsAt":"2025-10-07T21:00:00.000+02:00"},{"total":0.343,"startsAt":"2025-10-07T22:00:00.000+02:00"},{"total":0.3312,"startsAt":"2025-10-07T23:00:00.000+02:00"}]}}}]}}}
root@raspberrypi4:~#
Kannst Du auch hier sehen ob es geht oder nicht: Tibber Developer
Unter Approved scopes steht bei mir:
tibber_graph
user
homes
price
consumption
full
write_access
Bitte stell auf Version 2.5.4 um, dann sollte das Problem mit Deiner Crontab behoben sein.
Ich bin auch selten dämlich...
Jetzt hat es funktioniert. Ich hatte aus damaligen Zeiten einen zweiten Tibber account, den ich mal angelegt hatte, da ich früher mal dachte, dass man einfach so an die Daten ran kommt. Nun habe ich aber einen Vertrag mit denen abgeschlossen auf einem anderern Account. Natürlich habe ich den Api Token immer mit dem falschen Account versucht zu bekommen. Mit dem richtigen Zugang funktioniert es....
Sorry...
Aber ich habe deine Matrix noch nicht verstanden.
Wenn du die bereits abgelaufenen Preise "wegfallen" lässt und nur noch die kommenden Preise anschaust und nur noch diese in deiner Matrix berücksichtigst, dann kann doch folgendes passieren.
Beispiel mit Stundenpreisen:
Am morgen hast du 12 Preise unter 30 ct/kWh bis zum Mittag und dann meinetwegen nur noch teure Preise bis 24:00.
Am morgen sagt die Matrix noch, dass ab 12 Uhr die Preise so hoch sind, dass der Speicher entladen werden soll.
Wenn die 12 günstigen Preise dann aber ab mittag "weg" sind und der nur noch die 12 teuren Preise miteinander vergleicht, dann sind davon einige ab diesem Moment die "günstigsten" und er sperrt den Speicher wieder, da er auf die noch kommenden teuersten Preise wartet?
Ich habs noch nicht geblickt.
Ich habe meine Crontab manuell geändert, auf
*/15 * * * * /data/etc/Spotmarket-Switcher/controller.sh
Der Austausch gegen Version 2.5.4 hat wiederum eine Zeile mit
0 * * * * /data/etc/Spotmarket/controller.sh
eingefügt.
Die manuelle Änderung läuft aktuell ohne Fehlermeldung.
Momentan ist noch das Problem das bei abnehmendem Preisniveu die teuersten Preise möglicherweise schon in der Vergangenheit liegen und noch kaum Entladeslots übrig sind obwohl der Akku möglicherweise noch gut geladen ist. Ich bin damit auch unzufrieden und baue das gerade um zu einer dynamischen Entladefunktion abhängig vom Akkufüllstand um. Je voller der Akku ist, desto mehr teure zukünftige Preise werden zur Entladung aktiviert. Ab Version 2.5.5 wird das enthalten sein.
Ja genau. So ähnlich meinte ich das.
Danke dir erstmal und wünsche dir noch einen schönen Abend!
Gruß Matthias.
Moin,
Nur so als Idee. Ist bestimmt zu komplex, aber cool wäre ja wenn man ein Standardlastprofil hinterlegen könnte und man die stündlichen Verbräuche für einen Standard Tag festlegen könnte. Dann könnte das Skript aus Speichergröße, Strombedarf und dem Strompreis entscheiden, ob bei Preis x noch entladen darf oder ob man die Menge y noch für Stunde z aufbewahren muss.
Gruß
Matthias