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!
Erst einmal vielen Dank für das Tool. Es Funktioniert bei mir schon wirklich sehr gut und ist übersichtlicher als ViGuide und ViCare zusammen. Großes Lob an dich!
Ein paar Dinge die ich zur Verbesserung beitragen kann hab ich dir mal hier zusammengefasst:
Ich habe zusätzlich in der WP auch eine Kühlfunktion verbaut. Bei der Betriebsart des Heiz-Kühlkreises steht aber die Kühlung nicht zur Auswahl und wird immer als "Heizen" angezeigt. Hier die Werte die bei mir nicht korrekt gedeutet werden:
"feature": "heating.circuits.0.operating.modes.active",
"properties": {"value": {"type": "string","value": "heatingCooling"}},
"properties": {"value": {"type": "string","value": "cooling"}},
In ViGuide/ViCare heißen sie "Heizen/Kühlen" bzw. "Kühlen".
Bei der Kühlung können die Smart Climate Sensoren auch pro Raum ein Kondensationsrisiko feststellen .
Diese Einstellung versteckt sich bei mir in diesem Parameter:
Vielleicht kann man das simpel in der Smart Climate Ansicht bei jedem Raum unterbekommen z.B. indem man dann die Luftfeuchtigkeit Rot einfärbt?
Auch habe ich wegen der Kühlung noch einen Feuchteanbauschalter am Heiz-Kühlkreis. Der Status des Feuchteanbauschalters wird in ViGuide (natürlich aber nicht in ViCare) angezeigt und ist mit diesem Parameter bei mir vertreten:
"feature": "heating.circuits.0.sensors.humidity.dewpoint",
"properties": {"status": {"type": "string","value": "connected"},"value": {"type": "string","value": "off"}}
Zusätzlich hatte ich auch schon im Ereignisprotokoll eine Meldung deshalb. Hab die Nummer leider nicht mehr, aber Laut "Serviceanleitung für die Fachkraft: Systemkonfiguration und Diagnose für Wärmepumpen mit Viessmann One Base" müsste es die Meldung "I.121 Feuchteanbauschalter Heiz-/Kühlkreis 1 aktiv" bzw. "I.122 Feuchteanbauschalter Heiz-/Kühlkreis 2 aktiv" sein. Keine Ahnung ob es sinn macht das in der Event Timeline anzuzeigen, aber zumindest bei den Events könnte man es einbauen.
Zusätzlich habe ich auch eine Lüftungsanlage von Viessmann. Diese kann im Ereignisprotokoll die S.168 (Aktiver status/Status beendet: Lüftungsbypass offen) hinterlassen. Wäre cool, wenn ein offener Bypass auch in der Event Timeline grafisch dargestellt werden würde. Gerade im Sommer im Zusammenhang mit der Kühlung ist das eine echt wertvolle Information.
Auch generell wäre es cool ein paar Werte (besonders die 8 Sensorwerte) der Lüftung zu sehen, so wie es auch bei Vitocharge VX3 der Fall ist. ViGuide sieht dafür so aus:
Wenn du da was machen möchtest, sag mir gerne wie ich dich hier unterstützen kann.
Was die Event Timeline angeht würde ich persönlich es übersichtlich finden, die Ventilposition unabhängig bzw. unter/über dem aktuellen Wärmepumpenstatus zu sehen. Aktuell muss man sich immer entscheiden was von beidem man sehen möchte, da beides ja durchaus zeitgleich aber mit unterschiedlichen Zeiträumen aktiv ist. (z.B. Verdichter ist gerade "Aus" aber das Ventil steht natürlich trotzdem auf "HK1").
Wollte eigentlich gar nicht so viel schreiben, aber sobald wenn mich etwas begeistert so wie dein wirklich sehr gelungenes ViEventLog kann ich nicht anders als es verbessern zu wollen... 😉
danke.
Super, aus dem json von api/features kann ich mir das passende raussuchen.
Über curl und json mache ich das mit den Shelly auch.
Ein Apache läuft hier sowieso, mit ein wenig php sind die Daten gut aufzubereiten.
Gruß rudi
@Marvin889 Wenn es nicht automatisch sein soll, sondern nur manchmal, dann so:
Du startest vieventlog, dann im Browser http://localhost:5000.
Die Ansicht vom Dashboard wählen. Der Browser zeigt jetzt in der Adresszeile alle notwendigen Informationen.
Diese Zeile editieren und anstelle "dashboard" trägst du "api/features" ein.
Einmal "Enter" und die json-Ausgabe erscheint, darin ein Feld zum speichern.
Den Aufruf kannst du dir als Lesezeichen weglegen.
Oder ist das an der Frage vorbei?
Gruß rudi
Hi @AlexG probier mal die 0.0.64 da sollten deine wichtigsten punkte hoffentlich funktionieren, ich habe leider keine Kühlfunktion und kann es nicht testen.
Was da drin ist:
heatingCooling / cooling -> übersetzung
condensationRisk + taupunkt anzeige auch mit farbe rot.
deine timeline event übersetzungen
Danke mschneider82 - für mich jetzt schon das Community-Mitglied des Jahrzehnts und schon jetzt im Status "Legende - Hall of Fame" - auch weil er mir wie selbstverständlich und immer innerhalb weniger Minuten Hilfe bei meinem Kampf gegen Norton360 gegeben hat! Da kann Viessmann sich aber so was von dicken Scheiben von abschneiden... Beispiel-gebend!
Anyway: Ich habe den leichtesten Teil der Übung gemacht und eine kleine Batch-Datei geschrieben, die den Start der Anwendung mit einem Klick vom Windows-Desktop oder aus Start heraus ermöglicht (.s. unten). Die Datei könnt Ihr auf folgendem Wege ganz einfach erzeugen (ich muss diesen Weg gehen, da Viessmann leider keine .bat-Datei als Anhang zulässt):
a) im Verzeichnis, in dem Ihr die Batch-Datei ablegen wollt rechte Maustaste --> neu --> Textdokument
b) Datei benennen (bei mir: "Start VIEventLog.txt")
c) Datei mit dem Editor Öffnen (Rechte Maustaste --> öffnen mit --> Editor)
d) Inhalt der Batchdatei (s. unten) in dies Datei kopieren
Nach dem Kopieren:
in der Zeile
"PS_SCRIPT=C:\vieventlog"
müsst Ihr den Pfad zur Datei aus der Installation (Ziel-Pfad für das Entpacken der Installationsdatei oder die Stelle, wo Ihr sie anschließend hin kopiert habt) einstellen, d.h. den fett gedruckten Pfad überschreiben.
Und in der Zeile
"CHROME_PATH=C:\Program Files\Google\Chrome\Application\chrome.exe"
müsst ihr den Pfad und die .exe-Datei für Euren Browser einstellen (bei mir halt Google Chrome)
Achtung: Achtet unbedingt darauf, dass die Hochkommas und Anführungszeichen (auch mit Leerzeichen dazwischen) unverändert bleiben.
e) Achtung: Datei speichern unter
--> Im "Speichern unter"-Menü bei Dateityp "Alle Dateien" auswählen
--> an den Dateinamen die Endung ."bat" anfügen
nur dann mach Windows aus der Textdatei (.txt) eine Batchdatei (.bat)
f) die .txt-Datei kann danach gelöscht werden.
g) die erzeugte Batch-Datei im Windows-Explorer in das Verzeichnis "Desktop" kopieren; dann wird diese Datei auf dem Desktop angezeigt und kann direkt vom Desktop ausgeführt werden.
Abschließend lasst uns bitte alle die Daumen drücken, dass Viessmann die Daten noch sehr lange über die Developer-API bereitstellt.
Schwören tät ich nicht... aber wetten...
Inhalt der Batch-Datei:
@Echo off
:: ==============================================
:: Titel: Anwendung mit Adminrechten starten + Chrome öffnen
:: ==============================================
setlocal
:: ==== Pfade & Einstellungen anpassen ====
set "PS_SCRIPT=C:\vieventlog"
set "CHROME_PATH=C:\Program Files\Google\Chrome\Application\chrome.exe"
set "LOCALHOST_URL=http://localhost:5000"
:: ==============================================
:: PowerShell mit Adminrechten starten
:: ==============================================
echo Starte PowerShell mit Administratorrechten...
:: Prüfen, ob Skript als Admin läuft
net session >nul 2>&1
if %errorlevel% neq 0 (
echo Erneutes Starten mit Administratorrechten...
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)
:: ==== Hier wird dein PowerShell-Skript ausgeführt ====
echo Starte Anwendung...
start "" powershell -Command "Start-Process -Verb RunAs 'C:\vieventlog.exe'"
:: ==============================================
:: Warten (optional), bis Anwendung läuft
:: ==============================================
timeout /t 5 >nul
:: ==============================================
:: Chrome starten
:: ==============================================
echo Öffne Google Chrome...
start "" "%CHROME_PATH%" "%LOCALHOST_URL%"
echo.
echo Vorgang abgeschlossen!
pause
exit /b
Grüße
Danke mschneider82 - für mich jetzt schon das Community-Mitglied des Jahrzehnts und schon jetzt im Status "Legende - Hall of Fame" - auch weil er mir wie selbstverständlich und immer innerhalb weniger Minuten Hilfe bei meinem Kampf gegen Norton360 gegeben hat! Da kann Viessmann sich aber so was von dicken Scheiben von abschneiden... Beispiel-gebend!
Anyway: Ich habe den leichtesten Teil der Übung gemacht und eine kleine Batch-Datei geschrieben, die den Start der Anwendung mit einem Klick vom Windows-Desktop oder aus Start heraus ermöglicht (.s. unten). Die Datei könnt Ihr auf folgendem Wege ganz einfach erzeugen (ich muss diesen Weg gehen, da Viessmann leider keine .bat-Datei als Anhang zulässt):
a) im Verzeichnis, in dem Ihr die Batch-Datei ablegen wollt rechte Maustaste --> neu --> Textdokument
b) Datei benennen (bei mir: "Start VIEventLog.txt")
c) Datei mit dem Editor Öffnen (Rechte Maustaste --> öffnen mit --> Editor)
d) Inhalt der Batchdatei (s. unten) in dies Datei kopieren
Nach dem Kopieren:
in der Zeile
"PS_SCRIPT=C:\vieventlog"
müsst Ihr den Pfad zur Datei aus der Installation (Ziel-Pfad für das Entpacken der Installationsdatei oder die Stelle, wo Ihr sie anschließend hin kopiert habt) einstellen, d.h. den fett gedruckten Pfad überschreiben.
Und in der Zeile
"CHROME_PATH=C:\Program Files\Google\Chrome\Application\chrome.exe"
müsst ihr den Pfad und die .exe-Datei für Euren Browser einstellen (bei mir halt Google Chrome)
Achtung: Achtet unbedingt darauf, dass die Hochkommas und Anführungszeichen (auch mit Leerzeichen dazwischen) unverändert bleiben.
e) Achtung: Datei speichern unter
--> Im "Speichern unter"-Menü bei Dateityp "Alle Dateien" auswählen
--> an den Dateinamen die Endung ."bat" anfügen
nur dann mach Windows aus der Textdatei (.txt) eine Batchdatei (.bat)
f) die .txt-Datei kann danach gelöscht werden.
g) die erzeugte Batch-Datei im Windows-Explorer in das Verzeichnis "Desktop" kopieren; dann wird diese Datei auf dem Desktop angezeigt und kann direkt vom Desktop ausgeführt werden.
Abschließend lasst uns bitte alle die Daumen drücken, dass Viessmann die Daten noch sehr lange über die Developer-API bereitstellt.
Schwören tät ich nicht... aber wetten...
Inhalt der Batch-Datei:
@Echo off
:: ==============================================
:: Titel: Anwendung mit Adminrechten starten + Chrome öffnen
:: ==============================================
setlocal
:: ==== Pfade & Einstellungen anpassen ====
set "PS_SCRIPT=C:\vieventlog"
set "CHROME_PATH=C:\Program Files\Google\Chrome\Application\chrome.exe"
set "LOCALHOST_URL=http://localhost:5000"
:: ==============================================
:: PowerShell mit Adminrechten starten
:: ==============================================
echo Starte PowerShell mit Administratorrechten...
:: Prüfen, ob Skript als Admin läuft
net session >nul 2>&1
if %errorlevel% neq 0 (
echo Erneutes Starten mit Administratorrechten...
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)
:: ==== Hier wird dein PowerShell-Skript ausgeführt ====
echo Starte Anwendung...
start "" powershell -Command "Start-Process -Verb RunAs 'C:\vieventlog.exe'"
:: ==============================================
:: Warten (optional), bis Anwendung läuft
:: ==============================================
timeout /t 5 >nul
:: ==============================================
:: Chrome starten
:: ==============================================
echo Öffne Google Chrome...
start "" "%CHROME_PATH%" "%LOCALHOST_URL%"
echo.
echo Vorgang abgeschlossen!
pause
exit /b
Grüße
Wow, das ging wahnsinnig schnell! Bei Viessmann wäre ich jetzt noch in der Hotline-Warteschleife um später abgewimmelt zu werden... 😅
Die Taupunktgeschichten kann ich aktuell nur schwer reproduzieren, weil das Wetter zu kalt ist, aber die Darstellung des Bypass geht definitiv. Denke der Rest wird sicher auch gehen!
Nur das mit der Kühlung bei der Betriebsart scheint noch nicht zu klappen. Bei mir sieht es noch immer so aus:
In ViGuide ist das hier drin:
Kann ich für die Lüftung irgendwie helfen? Hab mich bisher nur grob in denen Code eingelesen. Eine ganze Seite von null hinzuzufügen traue ich mir da noch nicht zu...
Probier mal die neue version v65 wegen dem umschalten auf kühlen.
bzgl lüftung wäre ein geräte dump gut als eigenes github issue wie z.b. https://github.com/mschneider82/vieventlog/issues/24
eine zuordnung gerne als text von werten zu den api dumps ( geräte debug json dump erstellen)
Anfrage für ältere Vitovent 300F Lüftung, wer einsteigen will.
https://github.com/mschneider82/vieventlog/issues/25
Super viele Dank. Jetzt wird die Betriebsart korrekt angezeigt und ich kann sie auch korrekt bearbeiten.
Wegen der Lüftung schauen ich mir an was du brauchst und was schon im Issue von ckoeber drin steht. Das was da drin steht sieht aber schon mal sehr ähnlich aus zu dem was ich habe. Werde es dann einfach ergänzen...
Danke vielmals!
Ich habe seit eingen Tagen den geräuschreduzierten Modus in der Einstellung moderat 24/7 aktiv.
In der Heizkurve macht sich das nicht bemerkbar. Würden wir auch merken, würde im Haus kälter.
Reduziert wird dadurch Leistung (-saufnahme), Drehzahl Kompressor/Lüfter.
Wenn es deutlich kälter wird kann dass dazu führen, dass die Bude nicht mehr warm wird, weil die Anlage an eine durch die Geräuschreduzierung begrenzte Leistungsgrenze kommt.
Gruß rudi
Führt das zu weniger taktraten? Wie verhält sich der Stromverbrauch wenn du es mit einen ungefähr gleichen tag bei gleichem außenwetter vergleichst?
Die Takte werden bei meiner Anlage etwas länger, weniger derzeit eher nicht, dafür sind die Aussentemperaturen zu hoch. Alle paar Stunden einen Takt von ca. 1 Stunde, 3 ...6 Takte/Tag je nach Aussentemperatur.
Ich versuche gerade Viessmann irgendwie beizubringen, was durch die Firmware 2509 bzw. 2532 bei Anlagen mit Puffer passiert. Dazu versuche ich Daten zu erfassen auszuwerten, was auch immer geht.
Meine Anlage (wie in einem anderen Thread diskutiert wird, auch viele andere) geht nach Taktstart kurzzeitig Maximalleistung, was zu erheblich kürzen Takten führt, dem Kompressor wohl nicht dienlich und dem erwarteten Verhalten einer Wärmepumpe nicht gerecht wird.
Den LeistungsPeak begrenze ich derzeit mit der Geräuschreduzierung. Auf Dauer keine Lösung.
Offensichtlich sieht Viessmann bisher das Problem in ViGiude, oder was auch immer die verwenden, nicht.
Homeassistent scheint den Peak auch "glatt zu bügeln", sieht mir aus wie sehr seltene Datenabfrage oder auch Spline-Funktion in der Datenaufbereitung/-darstellung.
Gruß rudi
@Rudi_ schrieb:@Marvin889 Wenn es nicht automatisch sein soll, sondern nur manchmal, dann so:
Du startest vieventlog, dann im Browser http://localhost:5000.
Die Ansicht vom Dashboard wählen. Der Browser zeigt jetzt in der Adresszeile alle notwendigen Informationen.
Diese Zeile editieren und anstelle "dashboard" trägst du "api/features" ein.
Einmal "Enter" und die json-Ausgabe erscheint, darin ein Feld zum speichern.
Den Aufruf kannst du dir als Lesezeichen weglegen.Oder ist das an der Frage vorbei?
Gruß rudi
Mir geht es darum, regelmäßig die Leistung oder Drehzahl des Verdichters auszulesen und abzuspeichern, eben wegen unseres Problems, dass der Verdichter bei jedem Start kurz auf Maximalleistung geht. Im Prinzip suche ich nur die einfachste Lösung dafür, nachdem die Aufzeichnung in ViCare zu grob ist.
bitte um allgemeines feedback zu v0.0.67 habe die event timeline mit ventilpositionen redesigned um das besser darzustellen. ich hoffe es gefällt
Sehr gut, noch übersichtlicher !
VIelen Dank !
Hallo Matthias,
Ja, das sieht gut aus, man sieht jetzt sofort wann Warmwasser aufgeheizt wird:
Noch eine kleine Anregung: Kann man das Bild so ausrichten, dass man den Rollbalken nicht benötigt. EIgentlich ist links ja noch genug Platz.
Gruß Peter
...ich kann mich nicht mehr anmelden...
(Offenbar das Anfragekontingent überschritten von 1450 täglichen Zugriffen ?)
@Marvin889 bau dir den Optolink Switch (Splitter) - Vitoconnect, MQTT & TCP/IP wenn du die Opto-Link-Schnittstelle hast. Dann kommen die Werte im Sekundentakt rein und man kann sehr granular Auswerten. (Will ich bei mir auch noch machen 😉)
@Marvin889 Genau das mache ich und packe es direkt in eine Grafik.
Hier mit Geräuschreduzierung auf moderat mit anschließender Warmwassererwärmung.
Der Peak um 09:33 fällt wegen der Geräuschreduzierung deutlich kleiner aus, sonst wären dass über 4kw.
Gruß rudi
@Rudi_ ist das auch in Go geschrieben wie mschneider82 es mit ViEventLog macht?
@ckoeber Das läuft auf einem lokalen "Webserver" (Laptop und Windows11; Linux geht auch) mit xampp und php-Skripten.
Die Daten werden vom Viessmannn Server über den ViEventLog via curl-Aufruf "api/features" im Skript abgerufen, so wie es mschneider beschrieben hatte, und in eine csv-Datei geschrieben.
Die Darstellung der csv-Datei erfolgt mit einem Open-Source Skript und Grafik-Tool im Browser.
Dieses Skript und Tool musste ich nicht extra coden, das ist schon seit Jahren vorhanden.
Gruß rudi
Sieht super aus! Genau so hab ich es mir vorgestellt. Da kann man dann sofort erkennen, wann die Regelung das Ventil geöffnet hat um das Haus zu heizen (oder auch kühlt) und wie häufig in dieser Zeit der Verdichter der WP dann letztlich angesprungen ist.
Beim Bypass war bzw. ist die Darstellung auch separat (das grüne unten), was mich auf die Idee gebracht hat.
Im Sommer wenn die Kühlung läuft wird das dann richtig interessant! Bisher hat meine Anlage da immer stark getaktet. Hab erst kürzlich deshalb wieder ein Update bekommen. Mal sehen was hier dann nächsten Sommer rauskommt. Die Hoffnung stirbt zuletzt... 🙄
Könntest du bei Gelegenheit hier noch einmal schauen ?
Und die Seriennummern der Module haben weitere 4 Zeichen und sind abgeschnitten.
AG schrieb:
...ich kann mich nicht mehr anmelden...
(Offenbar das Anfragekontingent überschritten von 1450 täglichen Zugriffen ?
Geht das nur mir so?
Hat jemand eine Lösung?