[Modul] Viessmann VitoConnect

Hallo zusammen!

Ich habe mit dem Modul aktuell das Problem, dass seit bereits mehreren Tagen, ab der Mittagszeit bis zum nächsten Tag am Morgen, keine API Abrufe mehr möglich sind. Ist das anderen bereits auch aufgefallen bzw. kann dieses Verhalten sonst noch jemand bestätigen?

Mein Abrufintervall ist auf 3 Minuten gestellt, werden ggf. zu viele Abfragen getätigt das sozusagen ein Limit der Abrufe beim Viessmann Server sich bemerkbar macht. Ist das denkbar?

VG Heiko

Absolut. Es gibt ein Limit. Wie hoch das aktuell ist, weiß ich nicht. Ich hab 15 Minuten und das passt gut. Ich komme so auf 96 Abfragen pro Tag. Du hast da 480.

Ich wollt eben auch was Posten. Für mich ist es wichtig zu wissen, ob die Anlage noch über die API erreichbar ist. Es gab da mal mit einer anderen Lösung die Möglichkeit den Onlinestatus zu bekommen. Mit der aktuellen Version ist das nicht mehr so einfach möglich. Zwar liefert das VVC_Update einige Fehler, wenn die Anlage nicht erreichbar ist, jedoch durch das „die“ im php Code verabschiedet sich, zumindest bei mir, auch jegliches Skript, welches den Output auswerten sollte. Also alles nach VVC_Update wird nicht mehr ausgeführt.
Ich hab für mich eine Lösung durch die Trennung der Skritpte gefunden. Das eigentliche Update wird in einem eigenen Skript gemacht, welches in einem eigenen Kontext läuft. Die Fehlermeldung bekomme ich sehr einfach zurück. Mein aufrufendes Skrtipt läuft dann weiter und kann den Fehler auswerten. Die Aktualisierung in der Instanz habe ich deaktiviert. Mein Sktipt läuft alle 15 Minuten. Macht ein Update auf die Werte und auch einen Check, ob die Anlage noch erreichbar ist oder nicht. Woran die nicht Erreichbarkeit liegt, weiß ich nicht. Sie meldet sich aber sehr brav immer wieder ohne Eingriff an.
Meine Skripte

Das erste mit dem Check wird alle 15 Minuten mittels Timer gestartet.

<?php
$status="";
$vitodens200_update_script=43012;
$vitodensonline=22717;
$status=IPS_RunScriptWait($vitodens200_update_script);
if (strpos($status,"Fetching data failed") > 0) 
{
    setvalue($vitodensonline,false);
    Global_Log_Eintrag_erstellen("Fehler","Vitodens","Vitodens offline!");
}
else
{
    setvalue($vitodensonline,true);
}

Das Zweite wird vom ersten in einem eigenen Kontext ausgeführt. Sollte ein Fehler auftreten, steht der komplette Text in $status.

<?php
$vitodens200=51915;
VVC_Update($vitodens200);

Sollte jemand es brauchen. :wink:

Wie habe ich es getesten? Eigentlich ganz einfach. Man sperrt die Anlage aus dem WLAN aus. Dann etwas warten. Kontrolle am besten über die Viessmann Geräteverwaltung. Sobald die Anlage dort als offline angezeigt wird, funktionieren auch die API Calls nicht mehr und bringen eine Fehlermeldung.

Laut Website von Viessmann sind 1450 Aufrufe pro Tag frei.
D.h. z.B. 1x pro Minute abfragen und dann noch 10x Aktionen auslösen.
Ich frage alle 5 Minuten ab und das klappt problemlos. (Bis auf ca. 10 nicht erfolgreiche Versuche / Tag)

Gruß Thomas

Hallo Thomas,

das ist seltsam, bei mir ist heute wieder seit 13:33 kein Abruf mehr möglich.

Mein Intervall auf 15min setzen ist auch etwas suboptimal, da ich den Status der Warmwasseraufladung abfrage und dieser mit meinem Gaszähler verknüpft ist. Somit erhalte ich separiert meinen Gasverbrauch für das Warmwasser. Das macht aber beim 15 min Intervall dann wenig Sinn.

Ich habe es aber auf 10min gestellt und trotzdem sind keine Abrufe nun mehr bis morgen früh möglich. Objekt ist auch aktiv. Beim Abruf erhalte ich folgende Fehlermeldung:

file_get_contents(https://api.viessmann.com/iot/v1/equipment/installations/867324/gateways/7571381744309102/devices/0/features/): failed to open stream: HTTP request failed! HTTP/1.1 429 Too Many Requests in C:\ProgramData\Symcon\modules.store\de.paresy.viessmann\VitoConnect\module.php on line 299 Fetching data failed!

VG Heiko

Schau dir mal die Statistiken an: https://developer.viessmann.com/de/clients/history

Bei mir verbraucht ein 15 Minuten Intervall 2200-2400 Requests/Monat.

Ansonsten kannst du ja mal versuchen den Support zu kontaktieren, ob der dir das erklären kann.

paresy

Ich hab bei 5 Minuten ca. 6100 Requests/pro Monat. Passt also. (Müssten aber eigentlich 8640 sein…)

Gruß Thomas

Hallo paresy,

ich habe nun mein Debug einschaltet und im Blick gehabt. Ab ca. 13:45Uhr ist es so, dass im 20 Sekunden Takt ein UpdateAccessToken Trigger kommt. Von was dieser ausgelöst wird ist mir schleierhaft, jedenfalls häufen sich somit die API Anfragen bis Viessmann der Anfragelawine vermutlich ein Ende setzt. Zuvor habe ich alle 3 Minuten sauber eine Abfrage gesehen, und der Zähler in der Abfragestatistik bei Viessmann ist ordentlich alle 3 Minuten um 1 erhöht worden.

Übrigens sind 1450 Anfragen pro Tag zugelassen, also eigentlich steht einer minutlichen Abfrage aus dem Aspekt nichts im Wege.

Kann ich irgendwie prüfen warum der Token alle 20Sekunden ein Update will und woher das kommt?

Ich habe über die ClientID nun die API - Anfrage zum Server erstmal unterbrochen, Trigger siehe Screenshot

Intervall steht im Modul wie gesagt auf 3 Minuten!

Unter Ereignisse welche die Instanz auslösen ist nichts gelistet

VG Heiko

Kannst du IP-Symcon neu starten und den Debug in eine Datei umleiten? Dann sehen wir vielleicht was das Problem auslöst.

paresy

Hallo paresy,

ich habe die Ursache gefunden. Es hing mit meinem Aussentemperaturfühler zusammen welcher im 20 Sekunden- Takt Werte liefert. Es war ein Ereignis aktiv, welches bei einer bestimmten Aussentemperatur die Anlage auf „Nur Warmwasser“ einstellt. Dummerweise auch bei wiederholt erfüllter Bedingung:-)

Danke und VG

@paresy
Kann es sein, dass die Daten für den Brennerstatus nicht mehr kommen? Seit 28.09.2021 bekommt er kein Update mehr. Er war aber sicher aktiv, da ich sonst kein Warmwasser hätte.


Alle anderen schon. Bezeichnung wäre heating_burner_active
Log kann ich dir bei Bedarf schicken.

Edit: Es ist definitv so, dass der Brennerstatus kein Update mehr erhält. Entweder aus der Api gefallen oder der Name hat sich geändert.

Edit2: Der Name hat sich geändert. Hab die Variable gefunden. Heißt jetzt heating.burners.0.active

1 „Gefällt mir“

Moinsen,

gibt es aktuell Probleme mit dem Server? Bekomme diese Fehlermeldung seit heute Nacht:

file_get_contents(https://api.viessmann.com/iot/v1/equipment/installations/867324/gateways/7571381744309102/devices/0/features/): failed to open stream: HTTP request failed! HTTP/1.1 502 Bad Gateway
in C:\ProgramData\Symcon\modules.store\de.paresy.viessmann\VitoConnect\module.php on line 299
Fetching data failed!

VG Heiko

Wartungsarbeiten seitens Viessmann

1 „Gefällt mir“

Hatte ich auch gegen 3:30. Aktuell keine Probleme

Hallo Zusammen,

ich hab keine Ahnung was ich falsch mache…hab eine ClientID aber bekomme aber beim registrieren die Meldung
{„error“:„Invalid redirection URI.“}

Wo ist der Fehler?

Was hast Du denn als „redirection URL“ eingegeben?

https://xxxxxxxx.ipmagic.de/hook/viessmann/17492 das steht da und lässt sich auch nicht ändern

Nutzt Du Symcon Connect? Das sieht nach einer URL dafür aus.

Ja, nutze ich, aber was hat das hiermit zu tun?

Was steht den da im Normalfall?

Ich habe bei mir lokal (quick and dirty) das Modul abgeändert, so dass es ohne Symcon Connect funktioniert. Dachte, dass es vielleicht daran liegen könnte, dass Symcon Connect nicht eingerichtet ist oder nicht richtig funktioniert.