Seite 1 von 1

[V4.8 IP?] Abfrage Tibber 15min Preis

Verfasst: Mi Nov 26, 2025 5:59 pm
von Uwe303
Hallo Zusammen, kann mir jemand helfen den 15min Preis bei Tibber abzufragen. Bis jetzt frage ich den h Preis so ab:

Selektor:data.viewer.homes[0].currentSubscription.priceInfo.current.total

das entspricht:

{
viewer {
home(id: "my-home-id") {
currentSubscription {
priceInfo {
today {
startsAt
total
# ...
}
tomorrow {
startsAt
total
# ...
}
}
}
}
}
}


wie muss der selektor für folgende Abfrag aufgebaut werden:

{
viewer {
home(id: "my-home-id") {
currentSubscription {
priceInfo(resolution: QUARTER_HOURLY) { # <<<< change this line
today {
startsAt
total
# ...
}
tomorrow {
startsAt
total
# ...
}
}
}
}
}
}

Re: Abfrage Tibber 15min Preis [4.8]

Verfasst: Mi Nov 26, 2025 8:43 pm
von eib-eg
Hallo @Uwe303 ,

schön, dich hier gleich wieder zu sehen! 😉

Hier müssen wir kurz unterscheiden zwischen dem, was du bestellst (Query) und dem, was du auspackst (Selektor).

1. Die Abfrage (Query / Body)
Du musst dem Timberwolf im HTTP-API Manager im Feld "Body" (bei Methode POST) genau diese Abfrage mitgeben, die du unten gepostet hast. Damit sagst du Tibber: "Gib mir die Viertelstunden-Werte".
Wichtig: In deinem zweiten Code-Beispiel hast du den Block current { ... } weggelassen. Wenn du den nicht abfragst, schickt Tibber ihn auch nicht zurück!

2. Der Selektor
Der Selektor hängt davon ab, was du wissen willst:

Szenario A: Du willst den aktuellen Preis (Live), aber halt den 15-Minuten-Preis.
Dann lass die Abfrage auf current (füge current wieder in deine Query ein, auch mit QUARTER_HOURLY oben drüber).
Der Selektor bleibt dann gleich:
data.viewer.homes[0].currentSubscription.priceInfo.current.total
(Tibber liefert bei "current" automatisch den aktuell gültigen Preis, egal ob dein Tarif stündlich oder viertelstündlich ist).

Szenario B: Du willst die Liste aller Preise von heute (für eine Kurve/Visu).
Da du today abfragst, bekommst du ein Array (eine Liste mit 96 Werten) zurück.
Der Selektor für den ersten Wert des Tages (00:00 - 00:15 Uhr) wäre:
data.viewer.homes[0].currentSubscription.priceInfo.today[0].total
(Die [0] ist der Index für den ersten Eintrag).

Mein Tipp:
Wenn du den aktuellen Preis zum Steuern brauchst:
Füge in deine Query einfach den current-Block wieder ein (parallel zu today).
Dann kannst du deinen alten Selektor ...priceInfo.current.total einfach weiterbenutzen.

Viel Erfolg!

lg
eib-eg

Re: Abfrage Tibber 15min Preis [4.8]

Verfasst: Mi Nov 26, 2025 9:58 pm
von AndererStefan
Hi,

ich bin mir nicht sicher, ob die KI das richtig verstanden hat...
Hier ist zumindest mal der entsprechende Beitrag aus der Tibber-Doku: https://developer.tibber.com/docs/changelog

Edit: Ich verstehe ich Frage aber auch nicht so ganz....
Was schickst du als Anfrage derzeit an die Tibber-API? - Der Selektor beschreibt ja nur, wie du die Antwort auswertest.

VG Stefan

Re: Abfrage Tibber 15min Preis [4.8]

Verfasst: Mi Nov 26, 2025 10:38 pm
von eib-eg
Hallo zusammen,

@AndererStefan : Danke für den Link zur Doku!

@Uwe303 : Ich bin ehrlich: Ich habe von diesem Code-Zeug (GraphQL/API) absolut keine Ahnung. Ich wüsste nicht mal, wo ich da suchen muss.

Aber ich habe genau das gemacht, was ich im anderen Thread als Vision beschrieben habe:
Ich habe den Text aus Stefans Link genommen und ihn meiner KI (mit dem Kanon im Hintergrund) zum Fraß vorgeworfen.
Die KI hat den Text analysiert, mit deinem Code verglichen und sofort den Fehler gefunden.

Hier ist die Diagnose der KI:
Du hast in deiner neuen Abfrage (QUARTER_HOURLY) schlichtweg vergessen, den aktuellen Wert (current) mit zu bestellen. Du hast nur today und tomorrow bestellt. Deshalb greift dein Selektor ins Leere.

Die Lösung (von der KI generiert):
Füge den current-Block wieder ein, dann geht es.
code Graphql


{
viewer {
home(id: "DEINE-HOME-ID") {
currentSubscription {
priceInfo(resolution: QUARTER_HOURLY) {
current {
total
startsAt
}
today {
total
startsAt
}
tomorrow {
total
startsAt
}
}
}
}
}
}



Laut der Doku (die die KI gelesen hat), passt sich das Feld current automatisch an die 15-Minuten-Auflösung an. Dein alter Selektor (...priceInfo.current.total) sollte also ohne Änderung weiter funktionieren.

Fazit:
Das ist der Beweis: Ich kann kein GraphQL, aber mit dem richtigen Werkzeug konnte ich das Problem in 2 Minuten lösen. 😉

Viel Erfolg!

lg
eib-eg