[Modul] Tibber

Hi @kris,

von mir auch ein fettes Dankeschön für dieses Modul.
Ich habe das Abfragescript gerade getestet, allerdings bekomme ich als Rückgabemonat den August 2023 :face_with_diagonal_mouth:

Moin,

probier mal aus dem hier

$current = json_decode(TIBBER_GetConsumptionMonthlyFirst($Instanz, 1),true);

das hier zu machen. Ich habe Tibber noch keinen monat :crazy_face:

$current = json_decode(TIBBER_GetConsumptionMonthlyLast($Instanz, 1),true);

Ich denke das es in der tat das es daran liegt, das ich noch kein Monat bei Tibber. Mal sehen wie man sonst auf den Wert kommen soll, wahrscheinlich jeden Tag angeben und sich das array zusammenrechnen :banghead:

$current = json_decode(TIBBER_GetConsumptionMonthlyLast($Instanz, 1),true);

Damit bekomme ich Verbrauch/Kosten vom vorherigen Monat.
Fehlt jetzt nur noch vom aktuellen Monat.

Was für einen Wert willst du denn haben?
Du kannst doch die Daten für beliebige Zeiträume abfragen, musst dann aber ggf. die Pagination berücksichtigen.

das weiß ich selber noch nicht :rofl: Ich sammle erstmal Daten und schaue, ob ich was gebrauchen kann.

Ja gut, den Query für „ich weiß nicht, was ich haben will“, kenne ich jetzt auch nicht. :man_shrugging: :joy: :wink:

Laufender Monat wäre interessant :slight_smile:

{
  viewer {
    homes {
      consumption(resolution: MONTHLY, first: 1) {
          nodes {
          from
          to
          unitPrice
          unitPriceVAT
          consumption
          consumptionUnit
          cost
          currency
        }
      }
    }
  }
}

Liefert die Daten des aktuellen Monats von allen Nodes und allen Homes (sollte es in der Regel nur einmal geben). Sonst muss man den Query entsprechend anpassen.

1 „Gefällt mir“

Also mit
$current = json_decode(TIBBER_GetConsumptionMonthlyLast($Instanz, 1),true);
bekomme ich den letzten Monat (Januar) angezeigt.

$current = json_decode(TIBBER_GetConsumptionMonthlyLast($Instanz, 2),true);
gibt mir die letzten zwei Monate (Januar, Dezember) aus.

$current = json_decode(TIBBER_GetConsumptionMonthlyFirst($Instanz, 1),true);
gibt mir den ersten Abrechnungsmonat, in meinem Fall der August, aus.

Den aktuell laufenden Monat bekomme ich allerdings damit nicht angezeigt.

Ich glaube das Thema hatten wir in dem anderen Tibber Thread vor einiger Zeit auch schon mal behandelt.
Wenn ich mich recht erinnere, bekommt man die Consumption/Kosten des aktuellen Monats nur über die Addition der vergangenen Tage ausgewertet, ein direktes Abfragen war nicht möglich.
Das hatte ich vor einem Jahr auch schon mal versucht und werte das jetzt lokal aus.
Ich weiss nicht, ob Tibber die API dahin gehend schon abgeändert hat oder das jetzt immer noch der aktuelle Stand ist.

Viele Grüße,
Doc

Das habe ich jetzt auch in diversen HA Beiträgen herauslesen können.
Man bekommt mit

$current = json_decode(TIBBER_GetConsumptionDailyLast($Instanz, (date("d"))),true);

die einzelnen Tage im laufenden Monat ausgegeben. Wie kann ich dann die einzelnen Arrays addieren. :face_with_diagonal_mouth:

Moin,

$daily = json_decode(TIBBER_GetConsumptionDailyLast($Instanz, (date("d"))),true);
$daily = $daily["data"]["viewer"]["home"]["consumption"]["nodes"];

$summeCon = [];

foreach($daily as $data => $key)
{

    $summeCon[] = ($key["unitPrice"] + $key["unitPriceVAT"] )* $key["consumption"];

}
echo round(array_sum($summeCon),2)."\n";

Zum Beispiel… Würde ich als option mit in die nächste Version nehmen… Sonst noch was?

„Aktueller Verbrauch dieser Monat“
„Aktuelle Kosten dieser Monat“

Nur noch den Durchschnittspreis für die kwh letzter Monat… aber das hast du ja schon aufm Zettel :crazy_face:

1 „Gefällt mir“

Ich hab hier noch ein Hinweis !

Wenn ich folgendes ausführe:

{
  viewer {
    homes {
      consumption(resolution: MONTHLY, last:1) {
          nodes {
          from
          to
          unitPrice
          unitPriceVAT
          consumption
          consumptionUnit
        }
      }
    }
  }
}

Erhalte ich folgende Daten:

{
  "data": {
    "viewer": {
      "homes": [
        {
          "consumption": {
            "nodes": [
              {
                "from": "2024-01-01T00:00:00.000+01:00",
                "to": "2024-02-01T00:00:00.000+01:00",
                "unitPrice": 0.321074,
                "unitPriceVAT": 0.051264,
                "consumption": 992,
                "consumptionUnit": "kWh"
              }
            ]
          }
        }
      ]
    }
  }
}

Also Ergebnis:
„unitPrice“: 0.321074,
„unitPriceVAT“: 0.051264

Man darf hier den 2. Wert für die Steuern nicht addieren. Der Wert ist schon in unitePrice enthalten.
Ist mir aufgefallen in dem ich meine letzte Rechnung daneben gelegt habe:

Kosten Stromverbrauch für Januar 2024
992,00 kWh mit einem Durchschnittspreis von 26,98 ct/kWh / 267,65 €

Addiere ich nun auf die 267,65 € noch 19% Steuer und teile es durch den Verbrauch 992 erhalte ich genau die 32,1074 Cent/kWh ! Also incl. Steuer.

Bitte beachten wenn das Modul das Update bekommt zur Anzeige des Durschnittspreises.

Grüße christian

Ich muss den monat mal abwarten da ich bei

‚‘’
consumption(resolution: MONTHLY, last:1)
‚‘’

einen fehler bekomme. Ich muss aus last ein first machen. Da stimmt der preis erst, wenn ich die steuer dazu addiere.

Für die nächsten Versionen würde ich mir noch die Einspeisung wünschen :blush:
Geht über production anstatt consumption :wink:

1 „Gefällt mir“

Ich kriege für production nie Werte über die API, obwohl sie in der App angezeigt werden.

Ja, das ist in der Tat ein Problem. Die API ist diesbezüglich meiner Meinung nach schlecht implementiert, da das Verhalten bei gleicher Abfrage unterschiedlich ist, je nachdem, wie lange man schon Kunde ist.

Mein zuvor geposteter Query liefert die Daten des aktuellen Monats nur für den Spezialfall, dass das der erste Belieferungsmonat ist.

Man kommt aber mit einem Trick auch über die API an die aktuellen Daten, egal ob Tag oder Monat.
Man muss den Query dann mit Zeitstempel (range) machen und sich den ersten Eintrag nach dem letzten Tag des Intervalls geben lassen, dass einen interessiert.
Will ich also die Daten des heutigen Tages haben, muss ich den ersten Datensatz nach gestern abfragen. Etwas seltsam alles…

Ok, gut das so zu lesen, ich war zwischendurch irritiert von den Unterschiedlichen Ergebnissen.

Hallo, es werden die preise für morgen nicht mehr abgerufen.
gestern konnte ich es noch händisch in der Instanzkonfiguration anstossen.
Heute kommt nichts an.
In der App werden die Daten beriets angezeigt.
Dump.txt angehängt
dump.txt (21,7 KB)

Bernd