Viessmann – Heizungsdaten mit PHP auslesen

Man kann sich die Mühe machen und mittels selbst programmierter PHP-Skripte die Daten vom Viessmann-Server abrufen. Das ist aber der mühsame Weg und ich habe in einem anderen Beitrag die bequeme Methode beschrieben.

Trotzdem ist das selbst geschriebene Skript ganz praktisch. Mit der darin enthaltenen Methode $viessmann->api_listfeatures() kann man sich alle verfügbaren Features-Abrufe anzeigen lassen.

Der Umfang der verfügbaren Features ist abhängig von der verbauten Heizung und der von Ihnen genutzten VicareApp. Wobei auch in der kostenlosen Variante bereits viele Datenpunkte zur Verfügung stehen und innerhalb von 24 Stunden zur Zeit 1.450 Abrufe erlaubt sind. Es können also pro Minute ein Abruf von Daten bei Viessmann durchgeführt werden.

Mit folgenden drei PHP-Dateien können Sie sich die Liste der verfügbaren Feature-Abrufe anzeigen lassen.

  • viessmann.php
    stellt das Ergebnis dar.
  • viessmann_include.php
    wird von viessmann.php aufgerufen und importiert Klassenmodule (hier nur eines).
  • cls_viessmann.php
    enthält die Definition einer Klasse für den Viessmann-API-Zugriff.

Ich habe die Dateien in einer ZIP-Datei zusammengefasst:

Im Dashbord von Viessman können Sie nach Generierung des Gerätes die benötigten Angaben finden, um die Variablen in der Datei cls_viesmann.php anzupassen

Auf der Seite https://developer.pingidentity.com/en/tools/pkce-code-generator.html können Sie die Werte für einen Code-Veryfier und den dazu passenden Challenge-Code generieren.

nano /cls_viessmann.php
$client_id = [GeräteID des generierten Gerätes]
$user = [Ihre Anmeldung zum Portal]
$pwd = [Password für den Zugang zum Portal]
$code_verif = [der von Ihnen erzeugte Verifyer]
$code_challenge = [der von Ihnen erzeugte Challenge-Code]

Das Ergebnis sieht dann so ähnlich aus:

Wenn alles funktioniert sollten Sie durch Aufruf der viessmann.php im Browser eine Liste der verfügbaren API-Aufrufe sehen.

Mit dem Tool iobroker geht das viel eleganter umzusetzen:
zur Anleitung Viesmann mit iobroker