Da mir das Ereignisprotokoll mit das Wichtigste am ViGuide war, habe ich mithilfe AI ein Open-Source-Tool entwickelt, das die Events über die Viessmann Developer API wieder zugänglich macht.
ViEventLog ist ein lokaler Webserver mit Timeline-Visualisierung, der zeigt wann eure Anlage heizt, Warmwasser bereitet und wie häufig sie taktet - Informationen die Viessmann
selbst nicht anzeigt.
Installation: Binary herunterladen, entpacken, starten und im Browser http://localhost:5000 öffnen.
https://github.com/mschneider82/vieventlog
Hinweis: Ihr benötigt eine eigene Client-ID aus dem Viessmann Developer Portal. Anleitung steht in der README.
Feedback und Bugs bitte über die GitHub Issues melden.
viel spaß euch, ich freu mich auf eure Testberichte! Man kann auch mehrere Accounts hinzufügen (da Viessman ein 2 Anlagen limit pro account hat), endlich kann ich damit alle event logs meiner 3 anlagen sehen ohne immer den viguide zugang wechseln zu müssen.
NEU: jetzt auch mit DASHBOARD und Einstellmöglichkeiten um div. settings zu ändern!
Hi @millih2g, ich kann Dir leider ( noch ) keine Erfahrungsberichte geben oder auch nur Feedback, aber ein Dankeschön wollte ich dann doch hier lassen. Ich habe schon einige Anläufe gemacht mit Grafana, aber leider dann doch nicht die Zeit gefunden oder genommen das zu verwirklichen. Ich nehme Deinen Post dann nochmal als Schubser 😉 Vielen Dank
@millih2g läuft, danke!
Hi,
wenn ich die Doku von Viessmann richtig verstehe, dann wird die Heizkurve auf Basis der gedämpften Aussentemperatur verwendet.
Bei der Vitocal 25x, vielleicht auch bei vielen anderen Modellen, wird dieser von der Anlage berechnete Wert nicht in der API-Daten übertragen, aber der Wert aus Parameter "919.0 Zeitkonstante".
Die Doku beschreibt, dass die gedämpfte Aussentemperatur nach einmaligem Ablauf der Zeitkonstante auf 63% ansteigt bzw. auf 37% abfällt, also ein einfacher Tiefpass der mit der 'e'- Funktion leicht nachzurechnen ist:
ATgedämpft-neu = ( AT - ATgedämpft-vorher)*(1-math.Exp(Zeitkonstante/Zeitabstad-der-Messwerte))+ ATgedämpf-vorher
Da die Zeitkonstante im Bereich von 0 bis 30 Minuten einstellbar ist, hat die gedämpfte Aussentemperatur mit 30Minuten Zeitkonstante die AT nach rund 1,5Stunden eingeholt.
Das erscheint mir recht schnell, vor allem neue gutgedämmte Häuser reagieren deutlich langsamer auf die Aussentemperatur.
Hier im Forum bzw. im Netz kursieren auch Angaben, dass die Berechnung so erfolgt:
AT-für-heizkurve = 0.3 * AT + 0.7 * ATgedämpft-neu
Ich würde gerne die ATgedämpft in ViEventLog einbauen.
Dazu sollten die Werte der Realität entsprechen oder recht nah dran sein.
Gibt es aktuelle Informationen zu dem Thema/der Berechnung?
Hier mein bisheriger Versuch:
Vielen Dank für eure Hilfe
gruss rudi
Hallo Rudi,
eine solche Angabe mit einer Zeitkonstanten deutet auf ein IIR-Filter hin, in der einfachen Form als (R)RAV (recursive running average) bekannt. Theoretisch nicht nachzubilden, aber praktisch durch die Quantisierung und die Fluktuation der Außentemperatur konvergiert man nach ein paar Zeitkonstanten.
Die Gewichtungsformel sollte stimmen, also immer den neuen Wert gewichtet mit dem gespeicherten verrechnen. Für den allerersten gedämpften Wert den ersten Messwert mit 100 % ansetzen, also nicht im NIrwana anfangen!
Deine Grafik ist nicht ganz korrekt, was die Quantisierung angeht. Ich vermute, dass zum einen die Temperatur vom Sensor mehr als eine Nachkommastelle liefert. Zum anderen wird das RAV sicherlich mit höherer Frequenz und dafür kleinerer Gewichtung berechnet. Also bspw. mit 0,02 * Messwert + 0,98 * Speicherwert. So eine „Buckelpiste“ kommt dabei nicht heraus. Im Umkehrschluss heißt das eigentlich, dass du ohne die genaueren Messwerte das RAV überhaupt nicht nachbilden kannst!
Hattest du an der „Sole-Grafik“ noch gearbeitet? Auch die Heizkurvenformel weicht bei mir um ganze 6 °C ab. Das ist eine weit größere Abweichung als mit der RAV-Einbindung zu kompensieren wäre.
73 - Kay-Uwe
Besteht die Möglichkeit Auto-Refresh Standardmäßig in Win11 eingeschaltet zu lassen? Ich lasse das Tool auf einem extra PC laufen der nicht ständig überwacht wird. Alles startet jetzt automatisch nur für Auto-Refresh habe ich nichts gefunden. Ich habe versucht mich durchzulesen aber nichts gefunden.
M.W. gilt der Auto-Refresh nur für die Anzeige. Die Datenbank wird entsprechen Deinen Einstellungen in der Account-Verwaltung (Refresh- bzw. Sample-Intervall, z.B. alle 5 Minuten) automatisch aktualisiert. Dies funktioniert jedenfalls sowohl auf meiner Synology als auch auf meinem Windows-PC ohne zusätzlichen Job gleichermaßen. Du kannst den PC also einfach weiterlaufen lassen, die Datenbank wir fortgeschrieben, ohne das Du etwas tun musst.
Hallo Kay-Uwe,
das gibt Viessmann als Info dazu:
Die fortlaufende Mittelung gemessener Temperaturwerte reduziert den Einfluss kurzzeitiger Temperaturschwankungen. Das verwendete mathematische Verfahren wirkt wie eine Dämpfung. Mit dieser Dämpfung erreicht die gedämpfte Außentemperatur nach einer sprunghaften Temperaturänderung folgende Werte:
■ 63 % der Änderung nach Ablauf des 1-fachen Mittelungsintervalls
■ 95 % der Änderung nach Ablauf des 3-fachen Mittelungsintervalls
Aus meiner Sicht ein klassischer Tiefpass 1. Ordnung.
Vor Jahren nannte Viessmann dazu auch eine Formel:
// ATged(n+1) = Atged(n) + (AT-Atged(n))*(1-e^(-t/T))
Für die gemittelte Temperatur diese:
// ATgemittelt(Viessmann) = 0,7 * ATged(n) + 0,3 * ATist
In der gezeigten Grafik ist leider die Glättung der Kurve aktiv, dadurch wird das verzerrt dargestellt.
Für den ersten Wert (Programmstart) nehme ich einfach die aktuelle Aussentemperatur. D.h. es braucht einige Samples bis der Algorithmus läuft.
gruss rudi
Es kann sein das es nur um die Anzeige geht, ich muss das mal testen. Meine Erfahrung war bisher das die Anzeige „stehenbleibt“ und erst wieder Daten nachlädt, wenn ich auf aktualisieren gehe. Das läuft Augenscheinlich bei Auto-Refresh von selbst. Der Rechner steht in der Firma, in einer Ecke ohne Monitor, und soll völlig selbstständig Daten sammeln. Maximal ein Zugriff per TeamViewer. Das eben auch nach einem Neustart automatisch geschehen. Ich habe jetzt mal Auto-Refresh rausgenommen und werde sehen ob die Daten im Hintergrund gespeichert sind. Danke!
Hallo Rudi,
die e-Funktion gilt als so genannte Sprungantwort. Es gibt sowohl eine IIR-, als auch eine FIR-Implementation, die annähernd auf das gleiche hinauslaufen. FIR entspricht einer Faltung und benötigt n letzte Werte (Tap-Filter), IIR benötigt nur einen, ist quasi die Sparversion. FIR ist verbreiteter in der praktischen Anwendung.
Wichtig ist für beide Varianten, dass die Filterung nicht auf bereits quantisierte Werte (auf 0,1 Grad gerundet) angewandt wird, sonst bekommst du diese Buckel-Artefakte. Ich würde deshalb gar nichts weiter unternehmen.
Bist du denn sicher, dass nicht der gefilterte Temperaturwert vorliegt? Ich sehe bei mir zwar schnelle Schwankungen an der Wetterstation, aber nicht bei der Vitocal. Mir scheint das der bereits geglättete Wert zu sein.
73 - Kay-Uwe
Edit:
Hab mir mal die Temperaturverläufe der Wetterstation und der Vitocal übereinandergelegt. Ist doch wohl ungefiltert ...
Wetterstation:
ViEventLog:
Edit 2:
Das ist ja noch stärker quantisiert als ich angenommen hatte. Keine 0,1-°C-, sondern ungefähr 0,5-°C-Schritte. Aber kein stabiles Raster, das muss ich erstmal verstehen ...
Obiges Bsp.: 7,4 7,9 8,4 8,9 9,4 9,9 10,4 10,9 11,4 10,9 8,3 7,6 7,1 8,1 8,8 8,3 7,8 6,8 7,3
Überlagert ist auch eine zeitlich grob und unregelmäßig quantisierte Abtastung.
Passt, Danke!
Hallo Kay-Uwe,
mein Studium der ET/NT ist wohl doch zu lange her.
Ich war auf Grund der Erläuterungen aus der aktuellen Viessmann Doku von einem einfachen Tiefpass ausgegangen. U(t) = U*e(1-t/T). Auch wegen der Formel die Viessmann angegeben hat. Ich glaube kaum, dass in einer Heizungssteuerung besondere digitale Signalverarbeitungsverfahren angewendet werden.
Das ist aus meiner Sicht den Aufwand bei einem so trägen System nicht wert.
Hier in der community wird schon lange gerätselt welche der beiden Formeln verwendet wird.
community.viessmann.de/t5/Gas/Gedaempfte-Aussentemperatur-Berechnung/m-p/290031
haustechnikdialog.de/Forum/p/1941042
Es gibt sogar Meinungen, dass die gedämpfte Aussentemperatur erst nach der Mittelung für die Heizkurve verwendet wird.
Viessmann verweist seit längerem ohne weitere Erklärung auf die Beschreibung aus der Doku.
community.viessmann.de/t5/Waermepumpe-Hybridsysteme/Vitocal-250A-Daempfung-Aussentemperatur/m-p/490366
community.viessmann.de/t5/Waermepumpe-Hybridsysteme/Gedaempfte-oder-gemittelte-Aussentemperatur-an-der-WP-stimmen/m-p/445442
Das Display der Vitocal 250 liefert die gedämpfte Aussentempartur nur ohne Kommastellen.
Ich gehe davon aus, dass die in der API bereitgestellte Aussentemperatur ein Mittelwert über eine längere Zeit ist. Veränderungen zeigen sich als Schritte von 0,1K bis 0,5K. Mehr als eine Nachkommastelle wird in der API nicht geliefert.
Bei der weiteren Berechnung ist es kein Problem mit voller Genauigkeit zu arbeiten.
Es stellt sich die Frage, ob diese Berechnung für eine Orientierung was der Parameter 919 überhaupt macht bzw. welche Auswirkung eine Veränderung des Parameters 919 hat, nicht ausreichend ist.
Denn gerechnet wird auf Basis der Temperatur-Snapshots, welche im Abstand von 1 ... x Minuten erfolgen.
gruss rudi
Ich denke alleine durch die reduzierte Abtasthäufigkeit werden immer andere Zahlen rauskommen als die Heizung selbst verwendet. Auch ViCare aktualisiert die Zahlen nicht so häufig.
Zusätzlich werden bei viele Sensoren (bei mir auch Warmwasser) nicht die realen Werte von der API oder in der ViCare App angezeigt. z.B. die Warmwassertemperatur nimmt bei mir immer nur in 1 Grad Schritten ab. Manchmal am Tag wird ein neuer ,x-Wert ermittelt aber ansonsten wird immer nur etwas neues angezeigt, wenn die Temperatur um 1 Grad rauf oder runter geht.
-> Ob es auf dieser geschönten Zahlenbasis überhaupt Sinn macht Regelungsberechnungen der Heizung nachrechnen zu wollen wage ich etwas zu bezweifeln.
Die Außentemperatur ändert sich bei mir übrigens angeblich auch nur in 0,5 Grad Schritten (ähnlich zu den 1 Grad Schritten beim Warmwasser). Nur wenn der Wert länger mal gleich ist, ändert sich die Nachkommastelle auf etwas anderes.
Hallo,
seit dem in einer der letzten Versionen der Speichern-Button im Dashboard beim Temperatur- und Sensor-Verlauf versetzt worden ist, funktioniert er nicht mehr. Eine Speicherung der Einstellungen findet nicht statt. Vorher hat das noch funktioniert, und an meinem Rechner wurde nichts an Einstellungen verändert. Vlt. findet jemand Zeit, da mal drüber zu schauen.
Danke - und auch für die bisher geleistete Arbeit uns diese tolle Tool zur Verfügung zu stellen!
Hallo,
Ich verwende neben der API und VieventLog auch Open3E. Hier kann man sehr genau beobachten dass die Anlage minimal 1 mal pro Minute einen neuen Wert liefert, wenn dieser sich verändert hat. Gemessen wird in 0,1 °C Schritten. Nur als Info... wenn es nützt.
Gruß
@AlexG
Es geht nicht darum den Zahlenwert exakt das abzubilden, also das was Viessmann intern macht, sondern um zu zeigen was im Hintergrund in der Anlage passiert.
edit: Um die Anzahl der API-Aufrufe in Grenzen zu halten werden die Temperaturdaten in ViEventLog meist im Anstand von ein bis mehreren Minuten erfasst. Schon allein daraus ergibt sich kein "hochauflösender" Verlauf.
Wenn es Punkte gibt, wo du meinst, dass ViEventLog die API nicht abbildet, dann bitte konkrete Hinweise.
Das ViEventLog nicht das gleiche wie ViCare liefert, dürfen wir Viessmann verdanken. Die API liefert einfach zur begrenzt. Paradebeispiel dafür ist Strom-/Wärme- und Verbrauchsstatistik.
gruss rudi
@KlaWi
kannst du das bitte näher beschreiben.
Anscheinend werden abgespeicherte Sensoren immer zusätzlich zu den vordefinierten ausgewählt.
Die vordefinierten abwählen scheint nicht zu funktionieren.
Ist das bei dir auch so?
gruss rudi
Ja, genauso verhält es sich bei mir.
Hallo,
neue Version 221 - die Einstellungen werden wieder zutreffend gespeichert.
Vielen Dank für die schnelle Behebung.
Gruß
Klaus
Hallo,
danke für das schöne Tool 🙂
Ich habe allerdings festgestellt, dass die Werte einer Viessmann Pelletheizung nicht komplett/richtig dargestellt werden - wäre es möglich das Tool entsprechend zu erweitern damit eine Vitoligno 300-C korrekt angezeigt wird? Interessant sind bei einer Pelletheizung ja zB die Anzahl der Brennerstarts, aber auch der Pelletverbrauch usw. - der Verbrauch wird anscheinend auch schon nicht richtig angezeigt
ich weiß nicht ob das Thema schon angesprochen wurde
Hallo zusammen,
die Soleein- und -ausgangstemperaturen werden auch unterschiedlich quantisiert, obwohl am WP-Display beide mit Zehntelgrad angezeigt werden:
Ein kurzes Update zu meinem Dashboard auf Grundlage der vieventlog-Datenbank für Nutzer, die wie ich gerne von ihren Mobilgeräten auf ihre Wärmepumpe schauen wollen:
1. Der Link zur VICare-Anzeige aus Grafana heraus kann direkt zu den Viessmann-Geräten geleitet werden. Das funktioniert bei meiner Installation über:
http://192.168.178.3:8123/home/other-devices
Vorausgesetzt, man nutzt den Home-Assistant wie nur für Viessmann -VICare. Vielleicht braucht Ihr eine andere Adresse - mein Freund Chat (Nachname: GPT) hilft da sicherlich gerne.
2. Für Apple-Nutzer: Ich schaue gerne mal in die Zukunft, wie sich das Wetter entwickelt - nicht nur für den Stromverbrauch, sondern hauptsächlich für die Nachttemperaturen: Ob ich durch Veränderung der Nachtabsenkung eventuell Strom sparen kann und unnötige Kompressorstarts vermeiden bzw. mindestens reduzieren kann.
Dafür habe ich mir einen Zusätzlichen Link („Wetter“) in Grafana erstellt - mit folgendem URL:
weather:// (nur das - kein anderen Adressinformationen).
Tippt man dann im Dashboard darauf, öffnet sich die auf allen mobilen IOS-Geräten installierte Apple-Weather-App.
Zurück zum Dashboard kommt man, wenn in der obersten Zeile auf den Pfeil mit dem Text „Zurück zu Viessmann Wärmepumpe -All ….“) tippt.
3. Leider auch nur für Apple-Nutzer und Nutzung auf Mobilgeräten (iPad, iPhone): wenn man das Dashboard (oder jede andere Web-Anwendung wie z.B. vieventlog) nicht jedes Mal über Eingabe der Webadresse aufrufen will, kann man im Safari-Browser (den MUSS man dafür nehmen) rechts neben dem Adressfeld auf das Quadrat mit dem Pfeil nach oben heraus tippen. Wenn man dann in der Auswahlanzeige herunter scollt und auf „Zum Home-Bildschirm“ tippt, bekommt man für die jeweilige Anwendung ein Symbol wie eine App auf einer Seite des Homebildschirms (die Seiten, wo die Apps angezeigt werden) erzeugt und kann die Anwendung wie jede andere App direkt starten. Das schöne dabei ist, dass dann alle Browser-Informationen und -Anzeigen entfallen, d.h. man hat ein echtes App-Feeling. Eventuell muss man durch alle Seiten im Homebildschirm blättern, weil es nicht sicher ist, auf welcher Seite Apple das Symbol ablegt.
Aus den Links kommt man dann wie in jeder App über die Schalfläche „Fertig“ oben links wieder zurück zum Dashboard bzw. zur ursprünglichen Anwendung.
Mir war das bisher nicht bekannt - vielleicht hilft es ja dem einen oder anderen. Ob und ggf. wie das auch für Android-Mobilgeräte funktioniert, weiß ich nicht (ich nutze halt nur Apple). Wenn es jemand weiß, wäre es nett, wenn er die Community darüber in Kenntnis setzen würde.
Das funktioniert unter Android ähnlich: Im Chrome-Browser oben rechts auf die drei Punkte tippen, dann im Menü "Zum Startbildschirm hinzufügen" auswählen.
Ich hatte mir übrigens mithilfe von KI und mit Android Studio eine eigene App erstellt ( bisher nur ViEventLog integriert ) Sie speichert das Passwort dauerhaft und bietet eine einfache Möglichkeit, zwischen App-Ansicht und Desktop-Ansicht zu wechseln.
Der Zugriff funktioniert auch von unterwegs, weil ich auf meiner NAS einen Reverse-Proxy eingerichtet habe, der einen festen externen Link auf den internen Dienst weiterleitet.
Bei Interesse an der APK gern eine PN an mich.
Hi, und danke, das Du eine Lösung für Androiden anbietest.
Den Fernzugang habe ich übrigens über VPN (Wireguard) realisiert, da ich noch einiges andere habe, worauf ich auch von unterwegs zugreifen muss.
Neuestes Update für das Dashboard:
Jetzt mit Visualisierung der Kompressorstarts in der Timeline (Panel "Stromverbrauch / Wärmeleistung / Kompressorstarts") - synchronisiert mit allen anderen Timeline-Anzeigen.
Das Bild zeigt die 2-Tages-Ansicht meiner Wärmepumpe von heute ca. 18:30 (Grafana-Standard-Zeitintervall).
Die aktuelle Version des Dashboard-JSONs kann hier heruntergeladen werden:
https://github.com/hrsnsvh2pd-png/Alternatives-Dashboard/releases/tag/V02
Damit werden Anzeige und Zeitpunkte der erfolgten Kompressorstarts in jedem beliebigen Zeitintervall sichtbar (verfügbare Daten im Zeitintervall natürlich vorausgesetzt).
Der numerische Zähler zeigt wie bisher die Anzahl Kompressortstarts des laufen Kalendertages, die natürlich zusätzlich auch zusätzlich in der Timeline visualisiert werden.
| Benutzer | Anzahl |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |