Ich habe das Script zur aktuellen Preisabfrage noch mal etwas erweitert, da ich jetzt den Pulse mit dran habe und sehen möchte, ob er auch mit dem Tibber-Server verbunden ist, oder ob er sich „heimlich“ abgemeldet hat.
Das scheint aber sehr lange zu dauern, das Tibber den Pulse dann als vermisst kennzeichnet. Auch in der APP kann man diese Benachrichtigung einschalten und ich habe auch nach einigen Stunden ohne Pulse die Meldung noch nicht bekommen.
Anzahl der API Abfragen ist bei Tibber übrigens auf 100 Abfragen pro 5Min. limitiert.
$Token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$json = '{"query":"{viewer {homes {features {realTimeConsumptionEnabled} currentSubscription {priceInfo {current {total level }}}}}}"}'; // mit Pulse Abfrage
# Create a connection
$ch = curl_init('https://api.tibber.com/v1-beta/gql');
# Setting our options
curl_setopt($ch, CURLOPT_URL, 'https://api.tibber.com/v1-beta/gql');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Authorization: Bearer '.$Token));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
# Get the response
$response = curl_exec($ch);
curl_close($ch);
$pulse = false; // wenn keine Daten, dann Pulse auf false setzen
$data = json_decode($response);
$price = $data->data->viewer->homes[0]->currentSubscription->priceInfo->current->total;
$level = $data->data->viewer->homes[0]->currentSubscription->priceInfo->current->level;
$pulse = $data->data->viewer->homes[0]->features->realTimeConsumptionEnabled;
#Tibber Pulse Status
SetValueBoolean(21393, $pulse);
#Preisabfrage
$Parent = IPS_GetParent($_IPS['SELF']);
if ($price != 0) { // wenn mal keine Daten gelesen werden konnten
SetValueFloat($Parent, $price * 100); // aktueller Strompreis in Ct.
SetValueString(23232, $level); // aktueller PriceLevel von tibber direkt
}
//var_dump($level);
# ========================================================================
#Preisstufe (-2 bis 2 , sehr günstig bis sehr teuer - zum weiteren rechnen und steuern)
$Preisstufe = 0;
if ($level == 'VERY_CHEAP') {$Preisstufe = -2;}
if ($level == 'CHEAP') {$Preisstufe = -1;}
if ($level == 'NORMAL') {$Preisstufe = 0;}
if ($level == 'EXPENSIVE') {$Preisstufe = 1;}
if ($level == 'VERY_EXPENSIVE') {$Preisstufe = 2;}
SetValueInteger(33009, $Preisstufe);
Noch ein Hinweis zu dem Satz hier unten bzgl. Gutscheincode, weil die Nachfrage dazu kam:
Der Promocode/Betrag wird euch gutgeschrieben, wenn Tibber die Anmeldung beim Netzbetreiber bestätigt bekommt, also nicht direkt in dem Moment, wenn ihr euch bei Tibber anmeldet.
Das dauert dann ein paar Tage, bis ihr den Gutschein für z.B. den Pulse einlösen könnt.
Falls sich jemand das gefragt hat, auch bei Tibber wird mit der staatlichen 80% Strompreisbremse über den Tagesdurschnittspreis bei 40 Cent der Strompreis gedeckelt, was bis jetzt ja noch nicht ganz klar war, da sich der Preis ja stündlich ändert.
Heißt auch hier ist man von einem hohem Strompreis geschützt. In meinen Tibber Account konnte ich jetzt sehen, welchen Vorjahresverbrauch der Netzbetreiber an Tibber gemeldet hatte.
Falls noch jemand mit dem Gedanken spielt Tibber mal auszuprobieren oder mal den Anbieter wechseln möchte oder muss, kann das gerne über diesen Link tun oder direkt mit dem Einladungscode g5suontq.
Wir bekommen dann beide je €50.- auf den Tibber Store gutgeschrieben und man kann diese Gutschrift nach der Anmeldung auch gleich wieder für den Tibber Pulse verwenden und so direkt die €50.- sparen.
Viele Grüße,
Doc