Prognose für Heizung mit WetterDotCom

Ich habe nun endlich mein Vorhaben umgesetzt. Das Thema ist zwar theoretisch nicht neu aber ggf. doch für den ein oder anderen interessant. Worum geht es:

Ich habe jetzt schon länger vor, meine Heizungsregelung mit Prognosedaten zu füttern, statt den Außentemperaturfühler zu nutzen. Grund ist, dass meine Raumtemperatur einwenig schwankt. Sprich wenn es Nachts kälter wird, ist es zu kalt und wenn es morgens wärmer wird, überhitzen die Räume.

Grund ist die Fussbodenheizung, welche die Wärme nur stark verzögert abgibt. Dazu kommt noch, dass die FBH von oben gedämmt ist (durch Echtholzdielen/Parkett), was weiter verzögert. Daher wollte ich, dass der außentemperaturgeführte VL der Fussbodenheizung durch eine fremde und zukünftige Temperatur gefüttert wird.

Aber wo bekomme ich gute Daten her? Aktuell habe ich das OpenWeatherMap Modul, welches aber erstens nur ungenaue Daten (Mehrere °C Abweichung) liefert und zweitens der Detailgrad zu niedrig ist (nicht Minutengenau).

Da wir selber immer bei WetterDotCom nach dem Wetter schauen und die dortigen Werte fast °C mit den AT Werten stimmen (selbst Regen wird fast Minutengenau vorhergesagt), wäre es ideal diese Daten zu nutzen. Ein weiterer Vorteil ist, dass diese eine API anbieten, welche für den privat gebraucht eingeschränkt und kostenlos verwendbar ist.

Gesagt getan und registriert.
(Available Parameters | Meteomatics)

Nach dem ich nun die API einwenig studiert habe ich das Ganze wie folgt umgesetzt.

Mittels eines Scripts, lade ich minutengenau die Temperaturen für die nächsten 3 Stunden. Dieses Script lasse ich Stündlich laufen.

<?php

$username = "";
$password = "";
$location = "50.xxxx,7.xxxx";
$rangeHour = 3; // Wieivle Stunde im Vorraus
$cacheId = 14745; // Speicher die Daten in einer Stringvariable zwischen

function meteomatics($time, $params, $optionals = '') {
    global $username, $password, $location;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://api.meteomatics.com/$time/$params/$location/json?$optionals"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
    $result = curl_exec($ch);
    if (curl_errno($ch)) return false;
    if (curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200) return false;
    $result = json_decode($result);
    if ($result->status != 'OK') return false;
    curl_close($ch);
    return $result;
}

$start_time = gmdate('Y-m-d\TH:i:\0\0\Z', time());
$end_time = gmdate('Y-m-d\TH:i:\0\0\Z', time()+($rangeHour*3600));
$time = $start_time . '--' .$end_time . ':PT1M';
$result = meteomatics($time, 't_2m:C');
if($result) {
    $table = [];
    foreach($result->data[0]->coordinates[0]->dates as $item) {
        $table[$item->date] = $item->value;
    }
    SetValueString($cacheId, json_encode($table));
}

Dann habe ich ein Script welches minütlich den Wert in x Stunden ermittelt (bei mir aktuell 2 Stunden) und passende Variablen füttert. (Aktuell die Prognose + die aktuell Temperatur)

<?php

$shift = 2; // 2 Stunden
$cacheId = 14745;
$temp1Id = 11580;
$temp2Id = 53015;
$temp1Date = gmdate("Y-m-d\TH:i:00\Z", time());
$temp2Date = gmdate("Y-m-d\TH:i:00\Z", time() + ($shift * 3600));

$table = json_decode(GetValueString($cacheId), true);
if(isset($table[$temp1Date])) {
    $value = $table[$temp1Date];
    SetValueFloat($temp1Id, $value);
}
if(isset($table[$temp2Date])) {
    $value = $table[$temp2Date];
    SetValueFloat($temp2Id, $value);
}

Das Ganze sieht dann mit Dummyinstanz so aus:

Den Wert der „Temperatur in 2 Stunden“ liefere ich anschließend per Event an meine Heizung (in meinem Fall eine Steuerung von der Technischen Alternative per KNX"

Vielleicht hat der ein oder andere auch ein Interesse daran. Ich denke ich werde sogar meine Wetterprognose auch auf die neue API umbauen und OpenWeatherMap komplett einstampfen.

Ich stehe gerade etwas auf dem Schlauch, was bringt dir denn die Temperatur in 2 Stunden?
Wenn du weisst, das es in 2 Stunden draußen 3 Grad wärmer sein wird, wie hilft dir das bei der Heizungssteuerung? Dann ist doch die Temperatur drinnen noch nicht viel anders bei einer FBH?

Bei einer WP würden mich verm. eher die Temperaturen des nächsten Tages interessieren, damit man da ggf. etwas „vorheizen“ kann, wenn die Temperaturen am nächsten Tag niedriger sein werden und heute der Wirkungsgrad besser wäre oder gar PV unterstützen kann?

Oder willst du den Sonnenschein nutzen, der ggf. zu spätere Zeit kommt?

Viele Grüße,
Doc

1 „Gefällt mir“

Wenn ich um 20 Uhr damit rechne, dass um 22 Uhr 6 °C kälter wird, kann ich jetzt schon anfangen mehr heizen. Wenn ich dann um 8 Uhr weis dass es um 10 Uhr 6°C wärmer wird, kann ich 2 Stunden früher anfangen weniger zu heizen. Damit verschieben die Wärmeabgang um 2 Stunden was besser zur Realität passt.

Natürlich ist eine FBH Träge , ggf muss ich aus 2 Stunden eher 4 ggf sogar 5 Stunden machen. Aber ich merke jetzt schon eine leichte Verbesserung. Zaubern wird die Lösung natürlich nicht. Aber 24h wären denke ich zu viel. Dafür müsste man schon eine Passivhaus haben.

Im Keller sind die Probleme auch deutlich geringer, da keine Parkett liegt und die FBH schneller reagiert.

Das Einzige was mir gerade noch ein wenig rein spielt ist, dass die Wetterdaten leider doch öfters als erwartet eine Differenz aufweisen. Allerdings scheint es immer im ähnlichen Abstand. Also wenn ich z.B. jetzt 2K Differenz zwischen Gemessen und Wetterdaten ermittle, dann ist die Prognosse auch circa 2K daneben. Daher werde ich das Ganze ggf. noch um eine Korrektur ergänzen.

Ist bei mir ähnlich, dass wetter.com genauere Daten liefert. Aber in der Registrierung für die Api steht was von 14 Tage testen. hat sich daran etwas geändert?