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!
@AndyH Du weißt aber schon, dass die VI-Anlagen als Regelgröße für die Soll-Vorlauftemperatur nicht die real vom AT-Sensor gelieferte AT verwenden, sondern eine berechnete 'gedämpfte Aussentemperatur'. Die Abweichung dieser gedämpften AT von der realen AT hängt in erster Linie von der eingestellten Zeitkonstante ab. Für die Darstellung des aktuellen Arbeitspunkts in vieventlog wird die reale AT und nicht die gedämpfte AT verwendet und dies ist die Hauptursache dafür, dass der Arbeitspunkt sehr oft nicht auf der Heizkurve liegt. Ich hatte in einem früheren Beitrag hier schon mal darauf hingewiesen, wurde aber als 'Raketentechnik' verworfen 😉.
@AndyH
Du hast dich intensiv an den Ideen zu Vieventlog beteiligt. Vielleicht kannst du helfen.
Im Dashboard werden div. Temperaturen angezeigt.
Die Puffertemperatur müsste in deiner Dashboardansicht leer sein, oder doch ein Wert?
Welche Messtelle ist bei der 250-A Kesseltemperatur bzw. der gemeinsame Vorlauf?
Das Bild was Viessmann zur 250-A liefert, Auszug aus einem Dokument.
https://schematics.viessmann-climatesolutions.com/
Gruß rudi
Ich bin ein "Einfach-Nur-Benutzer".
Ich wohne von meiner Heizung eine halbe Autostunde weg und möchte gern von zu Hause aus sehen, ob ich z.B. vergessen habe, runterzuregeln und ich möchte bei Bedarf hochregeln, damit es warm ist, wenn ich vor Ort ankomme.
Ja, ich kann das mit Zeitprogrammen machen, aber meine Zeiten sind unregelmäßig und deshalb ist eine Fernbedienung für mich wirklich wichtig.
Mich ärgert außerdem, dass auf konkrete Anfragen an Viessmann keine Reaktion erfolgt...
Und drittens kriege ich die App auf meinem Telefon nicht zu Laufen - ich lande in einem Login-Kreisverkehr, weil irgendwas mit der Übergabe an den Browser nicht so funktioniert, wie es wohl sollte.
Und zu allem Übel, kann ich die App nur über "andere Quellen" manuell installieren, weil ich kein offizielles Hersteller-Betriebssystem verwende, sondern ein freies (LineageOS).
ich danke dir ganz herzlich für diese Möglichkeit, meine Heizung vom stationären Rechner aus prüfen und schalten zu können.
Viessmann sollte sich für seine restriktive "Kundenpolitik" schämen - das ist das allerletzte!
Herzlich willkommen im Kapitalismus - wenn der Kunde bezahlt hat, ist der Rest einfach nur scheißegal.
Wiederlich ist das!
Ja, da hast du recht.
Und ich sehe im weiteren Verlauf tatsächlich auch genau dies - mal liegt es leicht drüber, mal leicht drunter, je nachdem, wie sich die AT ändert und wie schnell. Das sind aber nicht mehr 2,1 2,5 °C wie zuvor über Stunden, sondern nur etwa 0,8-1.0 °C aktuell bei sinkender AT.
Wie gesagt, das muss ich weiter beobachten. Die WP muss und soll ja regeln, aber möglichst effzient soll sie es tun. Immerhin, wenn die Pumpe nun (angeblich) 13 W weniger braucht bei gleichem Ergebnis, sind es mal eben ~65 kWh/a (sagt sie). Feintuning halt ... 😉
Da bekommt man ja Augenkrebs bei dem Schema ... 😉
Eine Pufferkachel habe ich gar nicht erst.
Ansonsten kann ich nur raten. Vlcht. machst du dir einen Debug-Dump, suchst die jeweiligen Werte im Editor und mutmasst, aufgrund der feature-Bezeichnung, wo der Sensor wohl positioniert sein könnte.
Mein Tipp:
Kesseltemperatur/gemeinsame Vorlauftemperatur -> W08
(Nachtrag: macht Sinn, weil hinter dem Durchlauferhitzer, daher "gemeinsam")
Sekundärkreisvorlauf -> W16
Guten Morgen
darf ich etwas fragen: ich habe eine Vitocal-200A-A10 (EAC-Variante).
Bei mir ist der Verdichter-Status aber (trotz laufender WP) immer "aus" (siehe Screen) und die "Kessel-Temperatur" hat einen Fehler (Object...). Zudem funktioniert irgendwie das event-log leider nicht.
Liegt das an den Beschränkungen der früheren Maschinenreihe oder ist da noch ein Fehler in der Vieventlog Progammierung bei den älteren Maschinen drin?
Muss ich etwas anders konfiguieren?
Egal welche Einstellung ich bei den Events einstelle, es wird nichts angezeig.
Herzlichen Dank für ein kurzes Feedback, ist wirklich ein super Tool!
Die Einstellung der 2. Warmwasser-Temperatur (es gibt ja "normal" und "Temp2") fehlt beim WW noch 🤗
Alexander
Hi Andy,
ich habe die auf dem Bild ersichtlichen Temperatursensoren markiert.
Einige sind eindeutig:
W08 = gemeinsamer Vorlauf
W16 = Sekundär Vorlauf
W12 = Rücklauf
Puffer und Warmwasser sind auf dem Bild nicht drauf, die stecken in den Speichern.
Kesseltemperatur ist nicht identisch mit dem gemeinsamen Vorlauf, die Temperatur ist näher dran an Sekundär Vorlauf und höher als Puffer und gemeinsamer Vorlauf.
Bei einer Anlage mit Heizpuffer sagen die Werte gemeinsamer Vorlauf, Kessel und Rücklauf sowieso nicht viel aus, weil sich die Heizkreispumpe direkt aus dem Puffer bedient, das Heizwassser an den Sensoren Rücklauf und gemeinsamer Vorlauf garnicht oder nur ein kleiner Prozentsatz (<5) vorbeikommt. Auch die Spreizung ist unbrauchbar.
Sollte das anders sein, bitte erläutern. Danke.
@mschneider82 :
Gibt es eine Quelle für die Zuordnung der json-Wert "heating. ..." zu den Namen?
Im Developer Portal habe ich nichts gefunden, was weiterhilft.
Gruß rudi
Hi @Alex1978
ich habe eine Vitocall 333G Sole WP mit CU401B_G / WO1C Regelung von 2018 und da wird auch keine Gemeinsame Vorlauftemperatur, Kesseltemperatur oder Spreizung angezeigt, da es die Werte / Features an der Anlage nicht gibt. Ob der Verdichter Status bei mir angeht, wenn er läuft habe ich noch nicht beobachtet. Da der bei mir immer so eine halbe Stunde läuft, müsste man den Zeitpunkt mal abpassen. Müsste ja das "feature: heating.compressors.0.phase = off/on" sein.
Bei den Event Logs kommen bei mir Events, sofern halt welche aus der Anlage/API ausgelesen werden.
Bei mir sind das aber auch nur Events von gestern und heute. Das Frontend zeigt also nur vielleicht die letzten 24h an.
Du kannst ja mal unter http://<ip-ViEventLog>:5000/api/events schauen, wann dein letztes Event war oder noch in der ViGuide.
Viele Grüße 👋🏻
Da ich keinen Pufferspeicher habe, fehlt diese Kachel bei mir.
Kessel und gemeinsamer Vorlauf sind bei mir immer gleich.
Es kann nat. sein, dass den Json-features mit Pufferspeicher andere Werte zukommen. Was aber wie genau, kannst du nur selbst prüfen, indem du die Debug-Funktion nutzt, die die features lädst, diese kopierst und in einen Editor nach den angezeigten Werten suchst. Damit hast du die feature-Bezeichnungen und eine Zuordnung zu den Kacheln.
Vielleicht wird über die Bezeichnung deutlicher, was dahinter steckt.
So würde ich zunächst vorgehen.
Gerade das ist ja das Problem.
Ich lese auf Basis der Erläuterungen von mschneider die Werte über vieventlog aus und erstelle daraus eine fortlaufende Grafik.
Habe im Source-Code von vieventlog nachgesehen, welche json-Werte, die auch im Debug angezeigt werden, verwendet werden.
Die Bezeichnugen führen zu nichts.
Wenn man im Developer-Portal die Erläuterungen ansieht wird man auch nicht schlauer.
Gruß rudi
Hi @Rudi_ die Zuordnung welcher "heating. ..." API Datenpunkt was bedeutet, findest du in der API data-points Dokumentation.
Eine Übersicht deiner API Datenpunkte, welche bei Dir ausgelesen werden, findest du unter
http://<ip-ViEventLog>:5000/api/features?installationId=XXX&gatewaySerial=YYY&deviceId=0&refresh=tru...
(installationId & gatewaySerial einsetzen)
Die Zuordnung API feature zur Anzeige im ViEventLog Dashboard müsste in der dashboard.js sein, da muss man dann etwas suchen 😉.
Die Kesseltemperatur ist z.B. "boilerTemp" ab Zeile 867
if (kf.boilerTemp) {
const formatted = formatValue(kf.boilerTemp);
const [value, ...unitParts] = formatted.split(' ');
const unit = unitParts.join(' ');
temps += `
<div class="temp-item">
<span class="temp-label">Kesseltemperatur</span>
<div>
<span class="temp-value">${value}</span>
<span class="temp-unit">${unit}</span>
</div>
</div>
`;
}
Und darüber Zeile 532 findest man dann den Verweis zum API feature:
boilerTemp: find(['heating.boiler.sensors.temperature.commonSupply', 'heating.boiler.temperature.current', 'heating.boiler.temperature']),
Ich z.B. habe keinen Kesseltemperatursensor / Boiler Sensor angeschlossen
und daher ist bei mir:
Viele Grüße 👋🏻
Hi
Merci für Deine Antwort. Ich splitte das mal auf:
- Thema Kesseltemperatur und "Object missing" - ggf. einfach bei mir nicht abgegriffen, somit ok...
- Thema Verdampfer An/Aus-Anzeige: da ist wohl noch ein Bug drin, den ich kann in Vicare ja exakt sehen wann meine WP/Verdampfer läuft und da steht zu diesem Zeitpunkt aber immer "AUS" in ViEventlog
@mschneider82: könntest Du das einmal anschauen? ggf. ein Problem beim Abgriff mit der älteren CU401B / WO1C Regelung und dem Status Verdampfers bei der Vitocal 200-A ?
- Thema Eventlog: kann sein dass mit der Vitocal200-A Linie leider die API keine relevanten Events durchleitet, in ViGuide bisher waren auch v.a. Änderungen Temperaturziele loder Fehler etc. dokumentiert, aber kein Verdampfer AN/AUS - das wirds wohl (leider) sein bei der W01c Regelung.
- Thema Warmwasser-Anzeigen: da gibt es wie schon gesagt neben der Normal-Temperatur ("Soll", Parameter 6000) ja noch die "Temp2" (Parameter 600C), welche schön wäre in ViEventlog, und auch die WW-Pufferspeichertemperatur (Sensor via Parameter 600E ? ) welche die aktuelle Temp. des Pufferspeichers anzeigt?
@mschneider82: wären das mögliche Anzeigen in Zukunft im ViEventlog? Beide Parameter werden in ViCare angezeigt, sollte also ausgeleitet werden? wäre super... GLG!
@ckoeber
Das ist mir alles bekannt, habe schon ein paar Stunden rumgesucht.
Was wie verwendet wird findet sich in den Sourcen von vieventlog in den Zeilen von dashboard.js:
// Temperatures
outsideTemp: find(['heating.sensors.temperature.outside'], ['outside']),
calculatedOutsideTemp: find(['heating.calculated.temperature.outside']),
supplyTemp: find(['heating.circuits.0.sensors.temperature.supply']),
returnTemp: find(['heating.sensors.temperature.return']),
primarySupplyTemp: find(['heating.primaryCircuit.sensors.temperature.supply']),
secondarySupplyTemp: find(['heating.secondaryCircuit.sensors.temperature.supply']),
bufferTemp: find(['heating.buffer.sensors.temperature.main', 'heating.bufferCylinder.sensors.temperature.main']),
boilerTemp: find(['heating.boiler.sensors.temperature.commonSupply', 'heating.boiler.temperature.current', 'heating.boiler.temperature']),
roomTemp: find(['heating.circuits.0.sensors.temperature.room']),
circuitTemp: find(['heating.circuits.0.temperature']),
Die Beschreibung in API data-Points erklärt leider nichts, sondern wiederholt sich selbst,
z.B, der Rücklauf:
Das ist bei einer Anlage mit Puffer nicht der Rücklauf der Heizkreise, an den Leitungen vom Puffer zur Heizungspumpe gibt es keine Fühler..
für die "Kesseltemperatur"
Hallo Alex, du müsstest über gerätedebug (bekannte geräte anzeigen) dir den vitocal dump laden und die entsprechenden werte suchen und mir schicken, nur weil sie in vicare angezeigt werden heißt es nicht dass wir die werte auch über die api bekommen (leider). aber wenn du sie im dump findest kann ich sie anzeigen.
Hi!
ok, ich werde es in den nächsten Tagen versuchen. Ich bin aber nicht gerade ein Profi in Coding oder Programming, schauen wir, ob ich es hinbekomme und etwas finde im Dump dazu. Vielleicht kann mir hier auch eine KI bei der Suche etwas helfen 😛
@Alle: wenn jemand auch eine Vitocal 200-A mit ViEventLog hat und mithelfen könnte, hätte ich also nichts dagegen... wäre sehr nett, dann könnten wir mschneider82 die entsprechenden Werte schicken zur Visualisierung im ViEventLog (wenn es sie denn gibt via API?)
Herzliche Dank im Voraus.
Es geht um die möglichen Werte im Vitocal dump für die aktuelle Warmwasser-Temperatur im Speicher (Par. 600C im W01C) und den Wert für die "Temp2" im Warmwasser (Parameter 600E, das höheres Temp.-Niveau als bei "Normal"), Temp2 wäre auch konfigurierbar whs.
LG, Alexander
@Alex1978
Ich habe eine CU401B_G (WO1C)
Das sind doch die heating.dhw.sensors:
| heating.dhw.sensors.temperature.dhwCylinder | |
| type | "number" |
| value | 42.3 |
| unit | "celsius" |
| heating.dhw.sensors.temperature.dhwCylinder.bottom | |
| type | "object" |
| value | |
| status | |
| type | "string" |
| value | "notConnected" |
| heating.dhw.sensors.temperature.dhwCylinder.top | |
| type | "number" |
| value | 42.3 |
| unit | "celsius" |
| heating.dhw.sensors.temperature.hotWaterStorage | |
| type | "number" |
| value | 42.3 |
| unit | "celsius" |
| heating.dhw.sensors.temperature.hotWaterStorage.bottom | |
| type | "object" |
| value | |
| status | |
| type | "string" |
| value | "notConnected" |
| heating.dhw.sensors.temperature.hotWaterStorage.top | |
| type | "number" |
| value | 42.3 |
| unit | "celsius" |
Ich habe im WW-Speicher nur oben einen Temp-Fühlen, daher bei mir nur der top Wert.
Und der wird ja gleich in mehreren API features gespeichert 👍🏻
Hi ckoeber!
Du hast recht, die IST-Temperatur des WW wird ja angezeigt - da stand ich auf dem Schlauch!
Somit fehlt nur die Anzeigen und Einstellung der "Temp2" im Dashboard ?
Ist es die "heating.dhw.temperature.temp2" - siehe Screenshot ?
das wäre es was man im Dashboard anzeigen müsste für das 2. Temp.-Level?!
Oder liege ich falsch?
@Alex1978
jetzt weiß ich, was du mit Temp2 meinst. / "heating.dhw.temperature.temp2"
Ist quasi eine 2. WW Temperatur, welche man im Zeitprogramm dann auswählen kann. 👍🏻
Nutze ich nicht bzw. ist bei mir = "heating.dhw.temperature.main" 😁
Aber ja @mschneider82 könnte man noch Analog "heating.dhw.temperature.main" Implementieren. Neues Issue nötig?
VG ✌🏻
Gerne neues issue mit den Daten
Danke
@mschneider82 sehr sehr geil. Funktioniert! Vielen Dank!!!
Könntest du noch eine Auto-Refresh Option für das Vitocharge Dashboard einbauen?
Kannst du auch den Firmware / Softwarestand vom Wechelrichter auslesen / anzeigen lassen?
Du hast in ein paar Tagen mehr hinbekommen als Viessmann in Jahren. Ich ziehe meinen Hut. ❤️
Lieber @ckoeber - erstmals vielen herzlichen Dank für Deine Mithilfe hierbei!
das hätte ich technisch wohl so ausführlich auf github nicht hinbekommen!
Super!
Noch eine Frage da Du Dich gut auskennst auch mit dem Code/JSON auslesen:
die Hystesen für Ein- und Ausschalten gemäss Heizungs-Pufferspeicher-Temperatur wäre sicher für viele wertvoll konfigurieren zu können (Einschalt-/Ausschalthysterese gemäss Temp. Heizungs-Pufferspeicher) sowie die für die WW-Speicher-Temp die es ja schon gibt.
Wäre eine Wohltat online und nicht in den Experten-Einstellungen lokal an der Vitocal Maschine machen zu müssen.
Die Parameter dafür im Maschinencode Expertenlevel wären Parameter 7203 (untere Hysterese Pufferspeicher) und 7209 (obere Hysterese Pufferspeicher). Also bei welcher Pufferspeicher-Temp. der Verdampfer/(WP einschalten soll (bspw. 7203 = 50 = -5K unter aktuellem Soll gemäss Heizkurve) und wann wieder aus (Überhöhung über Soll-Temp. gemäss Heizkurve, bpsw. 7209 = 50 = +5K über Soll)
-> wie kriege ich raus ob diese Werte auch via API mitgegeben werden/erscheinen?
Hast Du ggf. einen Pufferspeicher in Deiner Anlage, kannst Du das nachvollziehen?
Dann wäre das auch eine gute und für viele praktische Erweiterung!
GLG; Alexander
@Alex1978 ,
das sind die API Fetures:
Hi
habe nachgeschaut: finde diese Parameter in Viguide und in den API features leider auch nicht. Werden somit wohl nicht mitgeliefert... Schade! Trotzdem Danke!
LG, Alexander