hier noch mal mein Beitrag aus 'Internet der Dinge', dem Offenen Brief an Max Viessmann, als neuer Thread - Diskussionen, Fragen etc. bitte hier 🙂
Moin Freunde*!
Da Viessmann zwar ein wunderschöne Schnittstelle (UDS, ISO-TP oder DoIP) eingebaut hat, das aber nur eingeschränkt und für eine 4-stellige Summe (per WAGO Gateway) zur Verfügung stellt, haben wir uns bekanntlich dran gemacht, das selber offen zu legen. 🙂
Stand der Dinge ist:
- Wir haben eine MQTT fähige Lösung zum Anschluss an den externen CAN Bus ("Stecker 91"), die es erlaubt, E3 Geräte (Wärmepumpen, Gasgeräte, (PV Speicher gerade in der Testphase, BSZ brauchen wir noch Kandidaten)) in Home Automation Systeme einzubinden. ioBroker, Home Assistant, Node-RED und so weiter also alles einfach machbar und bei uns schon im dauerhaften Einsatz.
- Das Ganze läuft lokal, also ohne irgendeine Hersteller oder sonstwelche Cloud, ohne Internet! Bei der CAN Bus Kopplung kann die gleichzeitige Verbindung mit dem Viessmann Server zwecks Wahrung der Gewährleistungs- und Garantieansprüche aufrechterhalten bleiben.
Eine Anbindung über den WLAN Access Point ist auch möglich, damit aber keine parallele Viesmann-Server-Verbindung mehr.
und last not least: das Ganze ist natürlich kostenfrei und open source! im Sinne eins besseren Miteinanders 😉
Der laufend aktualisiert werdende Stand der Linux Lösung ist auf
https://github.com/open3e/open3e
verfügbar.
Eine Sammlung von nützlichen Informationen hat @TSG initiert:
https://github.com/open3e/open3e/wiki
beste Grüße!
Phil
zur Beachtung: Der Zugriff auf das Zielgerät mittels dieser durch Viessmann nicht vorgesehenen Lösung zieht möglicherweise den Verlust von Gewährleistungs-/Garantieansprüchen nach sich und kann unter Umständen zu GEFAHREN FÜR LEIBLICHE UNVERSEHRTHEIT ODER SACHWERTE führen! Die Autoren schliessen jegliche Haftung aus.
Beispiele aktueller Home Assistant Integrationen von Wärmepumpen:
Vitocal 250 Kältekreisübersicht: View und Installationsanleitung gibt's hier: https://github.com/MyHomeMyData/iob.vis.vitocal250.git
Einen Adapter für ioBroker:
https://github.com/MyHomeMyData/ioBroker.e3oncan
und noch ein paar andre Sachen, die aber in dem Adapter integriert sind. Schaut einfach mal sein Repo an...
https://github.com/MyHomeMyData
ps. wer uns unterstützen will und kann ist herzlich willkommen!
pps. und wir freuen uns über jedes 'like' (👍) - damit zeigt ihr deutlich, dass ihr eine offene und lokale Kommunikation mit den 'One Base' Geräten eigentlich von Viessmann erwartet
@HerrP schrieb:@Boostar dann klemm da den Adapter mit einem kurzen (einfachen) Kabel einfach dran und zusammen mit dem USB Kabel solltest du dann doch bis zum Raspi kommen?!
Ja, zum Raspi komme ich von dort völlig problemlos, eine optimalere Stelle gibt's quasi nicht, die Stichleitung könnte vermutlich ich gute 30cm kurz halten.
Das ich den Adapter damit quasi direkt, also wirklich bildlich gesprochen, zwischen den VX3 und die Vitocal hänge ist kein Probem oder? Ich meine ich hänge mich da nicht ans Ende der Leitung sondern so richtig dazwischen.
LG BooStar
Genau das ist ja das Problem. Unser Heizungsbauer hat keine Ahnung von Abschlusswiderständen, wie er selbst sagt. Weiter versichert er mur, dass seine Nachfragen bei Fiesmann unbeantwortet geblieben seien.
Wenn ich diesem Threat glauben darf, könnte der Widerstand auch innerhalb einer dieser Stecker verbaut sein:
"Am VX3 hast du zwei gelbe CAN-Stecker wovon einer einen Abschlusswiderstand hat, der muss auch drin bleiben, solang der Kontakt nicht genutzt wird."
Ich glaube bei mir ist das der Fall, frage ich mich ob der End, oder Abschlusswiderstand dann wirklich am Ende sein muss, oder ob es reicht, das er irgendwo im Bus zu finden ist?
@Sven73 schrieb:Mich würde jetzt noch die graphische Aufarbeitung der Vitocal 200S für Home Assistant aus dem Initialpost interessieren. Hast Dazu mehr informationen wie das mit dem Bild umgesetzt wurde?
Da habe ich mich auch schon mal dran versucht (findet sich in der Diskussion im GitHub HA für die 250er. Allerdings genervt irgendwann aufgehört - ich nutze seitdem die (echt hässliche) Variante mit einem editierten Foto vom Display 🙂
Sollte das mittlerweile jemand in schön analog zur 250er gemacht haben, Spende ich auch irgendwo gerne kleine Münzen 🙂
> zwischen den VX3 und die Vitocal hänge ist kein Probem oder?
nein, ist kein Problem. Ein Bus ist ein Bus, da kannst du an jeder Stelle drauf (mit kurzer Leitung 😉 )
> frage ich mich ob der End, oder Abschlusswiderstand dann wirklich am Ende sein muss, oder ob es reicht, das er irgendwo im Bus zu finden ist?
das habe ich am Ende der letzten Seite versucht zu erklären, aber ich mach es gern noch mal:
Der Widerstand / die Widerstände haben zwei Funktionen:
Man schlägt also 2 Fliegen mit einer Klappe.
Unter "weniger kritischen Umständen" muss beides nicht unbedingt optimal sein. Auf kurzen Leitungen sind Reflektionen wegen der gerigen Laufzeiten wenig problematisch, und kurze Leitungen haben weniger Kapazität/Widerstand/Induktivität, und es funktioniert auch mit nur einem Widerstand irgendwo auf der Leitung. Der muss dann auch nicht unbedingt 60 Ohm haben (wie es bei zwei parallelen 120 Ohm der Fall wäre), sondern 120 Ohm reichen dann wohlmöglich auch, um das Signal überall timinggemäß gegen 0 zu ziehen. Und bei kurzen Leitungen funktioniert somit auch stern- oder mischförmig...
Ist das so besser verständlich und die Frage beantwortet? 🤓
Hallo @HerrP ,
ja, vielen Dank! Mein Gedankenfehler war, das der Widerstand (R) zwingend am Anfang, oder Ende des Busses sein muss. In meinem Kopf hätte mein CAN-Bus also so aussehen müssen:
"(R)-E380 - VX3 - VitoCal-(R)", aber aussehen tut er eigentlich so:
"(R)-E380 - VX3-(R) - VitoCal" und das funktioniert eben auch, zukünftig wird mein Bus dann so aussehen:
"(R)-E380 - VX3-(R) - USB2Can - VitoCal"
Vielen Dank für Eure Unterstützung und eure Geduld mit mir.
LG BooStar
hm, wie gesagt "(R)-E380 - VX3-(R) - USB2Can - VitoCal" kann kritisch werden, in diesem Fall wegen der Reflektionen am offenen Ende bei der VitoCal, eben abhängig von der Länge.
Aber wenn es jetzt sicher funktioniert (keine oder nur ganz wenige Fehler), wird es auch mit dem USB2CAN funktionieren, weil du damit ja (fast) nichts an der Leitungslänge änderst.
Hallo Aleex42,
ich bin immer noch dran. Ich versuche es nachzubauen und dann farblich anzupassen.
leider habe ich gerade das Problem, dass meine VX3 nicht mit der 200S gekoppelt wird. Der GU ist insolvent und niemand fühlt sich zuständig. Hier werde ich immer wieder an Unternehmen aus meiner Nähe verwiesen aber die wollen nicht, gibts ja nichts zu verdienen.
Ist für mich grad die größere Baustelle.
Hallo alle zusammen,
ich bin völlig hin und weg 🙂 das nenne ich mal eine ordentliche Menge an Datenpunkten.
Da bin ich jetzt erstmal ne Weile mit sondieren, filtern und auswerten beschäftigt. Richtig Geil!
Ich hab den Adapter jetzt ohne Widerstand einfach an die Klemmstelle zw. VX3 und VitoCal geklemmt.
Die Stichleitung hat eine Länge von ca. 30 cm und die Kommunikation klappt völlig problemlos.
Ich bedanke mich recht herzlich bei allen beteiligten. Insbesondere @HerrP und @Juergen-B für die Geduld mit mir.
edit:
Hat die VitoAir FS 300E eigentlich auch einen CAN-Bus ? 😄
LG
BooStar
Guten Morgen zusammen,
seit ein paar Tagen läuft der iOBroker-Adapter nun bei mir stabil auf meinem Raspi und sammelt gemütlich Daten ein. Derzeit aktualisiere ich nur die wenigen benötigten Datenpunkte via UDS, ich denke dass es wenig Sinn macht immer alle Datenpunkte zu aktualisieren. Mit den meisten kann ich eh nix anfangen 🙂
Ich bin allerdings verzweifelt auf der Suche nach Datenpunkten um meinen Batteriespeicher zu visualisieren, also die Energie in %, Kapazität in kWh, den Status, also Laden, Entladen, Standby, usw.
Vielleicht kann ja jemand weiterhelfen.
Bis dahin möchte ich mich erneut für dieses geile Projekt und all seinen Unterstützern herzlich danken.
Wirklich beeindruckend was ihr da auf die Beine gestellt habt.
LG
BooStar
Dann aktiviere doch mal das passive Sammeln von Daten.
Da sollte dann ich kurzer Zeit einiges in der Objektliste auflaufen, zumindest jene Datenpunkte, welche eine (Status) Änderung erfahren.
Hallo @der_Jörg,
vielen Dank für die Rückmeldung. Das hatte ich schonmal gemacht. Ich sehe also welche DPs alle zur Verfügung stehen, nur finde die o.g. nicht und ich hatte gehofft das die hier vielleicht einer gefunden hätte…
gibts denn iwo ne Liste welche die Datenpunkte beschreibt?
Edit: das Daten sammeln hat mit der VitoCal übrigens nicht funktioniert, nur dem dem VX3, ich hatte iwo gelesen das das Sammeln mit der VitoCal am externen CAN-Bus nicht funktioniert, stimmt das?
LG Boostar
Äh, nein, du siehst nur Datenpunkte welche sich geändert haben.
Z.B. die Backupbox (DP 2214) dürfte hier nicht gelistet werden, weil der Wert sich ja eigentlich nicht ändert…
Für dich interessant wären z.B. 1664, 1801, 1834, 1836
Die viessmnn-API liefert auch viele z.T. brauchbare Info‘s.
Hallo @der_Jörg ,
naja bei der initialen Aktualisierung der Datenpunkte wurde der Datenpunkt 2214 schon angelegt, eben nur nicht mehr aktualisiert.
Der VX3 ist derzeit als Datensammler konfiguriert und Werte die sich ändern werden auch geschrieben.
Danke für die Datenpunkte, das schaue ich mir gleich an und was die API angeht, hatte ich gehofft diese jetzt nicht mehr zu brauchen 🙂
Hallo, der Jonny
mal ganz profan gesagt, gäbe es Jemanden, der so etwas vorkonfiguriert (Hard- & Software) zum Kauf anbietet, für Interessenten, welche schon allein die Zeit nicht haben so etwas zu basteln und geschweige den das techn. Verstndnis & Hintergrund-Wissen besitzen.
Wäre sehr daran interessiert, da ich aktuell meine Daten nur händisch (aufwändig) per Hand in eine laaaange Excel-Tabelle übertrage aus dem ViGuide, welches ja bald "abgeschaltet" wird?
Besitzen seit 2021 eine Vitocal 222-S AWBT-E-AC 221.C16 (obwohl C09 angeboten wurde), welche nach Inbetriebnahme 2023 immer noch nicht befriedigend läuft.
Dafür benötige ich die Daten, um die von mir angenommen Überdimensionierung mit Daten belegen zu können. Weiterhin gibt es noch das eine oder andere Problem (abkühlen des Speicher von bis zu 10K über Nacht und, und, und...), welche nur über die Darstellung der Daten nachgewiesen werden könn(t)en.
Ich bedanke mich im Voraus und hoffe auf eine positive Reaktion.
Dann auch gerne über PN oder Austausch über andere Kanäle.
VG Jens Graube
Wie verhält es sich dabei bzgl. Vitocal 222-S, welche noch nicht E3-kompatibel ist? Bleibt man da außen vor, oder gibts da ne Alternative?
Danke im Voraus!
MfG Jens Graube
@Boostar Die Bezeichnungen der Datepunkte sind ja meistens recht sprechend. Wenn Du in ioBroker nach Begriffen wie charge, power, energy, matrix, usw. suchst, bekommst Du einen guten Überblick. Dazu den json-Objektbaum der VX3 ausklappen und alles andere einklappen. Dann im Suchfeld die Begriffe eingeben:
Die SoC in Prozent findest Du im Datenpunkt 1664.
Ich werde mit dem nächsten Adapter-Update mal eine Liste der wichtigsten Datenpunkte ergänzen.
Das automatische Sammeln von Datenpunkten funktioniert nur, wenn Deine VX3 mit einem andere Viessmann-Gerät per CAN-Bus vernetzt ist. Nur dann, plaudern die Geräte von sich aus. Sind sie Stand-Alone, bleiben sie recht still. Hier habe ich versucht, das zu erläutern.
da gibt es entweder
bzw
https://www.rustimation.eu/index.php/viessmann-ohne-api-optolink-splitter-1/
oder
https://github.com/openv/openv/wiki/vcontrold-mit-Raspberry-Pi
das mit dem Splitter ist vermutlich einfacher umzusetzen.
Vielen Dank!
Dann werde ich meinen (selbst "hergestellten" 😉) IT-Experten mal drauf ansetzen. Irgendwann müssen sich die immensen Investitionen in Ausbildung und 10 Jahre Studium (bis zum Automobilingenieur, aktuell forschend zum Autonomen Fahren) doch mal refinanziern. 🤣
LG J
Hallo,
ich bin auch interessiert, meine Vitodens 300-W B3HF (von 2019 mit eingebautem WLAN Modul) Cloudfrei auszulesen. Ich habe jetzt hier schon viel gelesen, aber ganz klar ist es noch nicht für mich.
So wie ich es verstanden habe, müsste meine Vitodens 300W B3HF geeignet sein, per CAN-Bus zu kommunizieren. Laut Serviceanleitung hat sie auch die Anschlüsse CAN-H und CAN-L.
Das alles möchte ich mit meinem ioBroker laufen lassen. Da gibt es den Software-Adapter E3CanDo.
Dazu nötig ist ein CAN-USB-Adapter. Der kommt in den Raspberry Pi.
Muss das ein eigener Raspi sein oder kann das auf dem ioBroker-Raspi "mitlaufen"?
Bei mir ist die Entfernung Raspi -Vitodens > 10m. Gibt es auch CAN-Adapter, die per LAN/WLAN eingebunden werden und mit dem E3CanDo laufen? (Z.B. einen D1-Mini + SN65HVD230 CAN-Bus Transceiver mit Tasmota oder ähnlich)?
Gibt es auch irgendwo eine Anleitung, die das etwas besser Schritt-bei-Schritt beschreibt?
Danke für Eure Infos.
Ich habe eine Vitocal 250A bei der die Inneneinheit einen LAN Anschluss hat, wie genau kann ich den CAN Bus anschließen und kann ich ViCare parallel betreiben
Hallo Gemeinde,
ich habe eine Vitovalor PT2. Seit der Abschaltung der ViessmannAPI habe ich die Anleitung
"https://github.com/open3e/open3e/wiki/020-Inbetriebnahme-CAN-Adapter-am-Raspberry"
genutzt um wieder Datenwerte aus der Anlage zu bekommen.
Die Installation der Hardware (innomaker USB<->CAN) und das Aufsetzen eines Raspi4B (laut o.g. Anleitung) verlief soweit gut.
Der Aufruf von: open3e_depictSystem -c can0 liefert mir auch alle möglichen Datenpunke und die Dateien
Open3Edatapoints_680.py; Open3Edatapoints_684.py; Open3Edatapoints_688.py
wurden angelegt.
Man könnte denken das war's aber dem ist nicht so. Bei der Statusabfrage von open3e bekomme ich folgende Fehlermeldung:
(.venv) pi@rmUsbToCan:~/open3e $ sudo systemctl status open3e
× open3e.service - Open3e MQTT Bridge
Loaded: loaded (/etc/systemd/system/open3e.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Thu 2025-10-30 09:46:21 CET; 7min ago
Duration: 659ms
Process: 794 ExecStart=/home/pi/open3e/.venv/bin/open3e @/home/pi/open3e/args.txt (code=exited, status=2)
Main PID: 794 (code=exited, status=2)
CPU: 652ms
Oct 30 09:46:21 rmUsbToCan systemd[1]: open3e.service: Scheduled restart job, restart counter is at 5.
Oct 30 09:46:21 rmUsbToCan systemd[1]: Stopped open3e.service - Open3e MQTT Bridge.
Oct 30 09:46:21 rmUsbToCan systemd[1]: open3e.service: Start request repeated too quickly.
Oct 30 09:46:21 rmUsbToCan systemd[1]: open3e.service: Failed with result 'exit-code'.
Oct 30 09:46:21 rmUsbToCan systemd[1]: Failed to start open3e.service - Open3e MQTT Bridge.
Datei /home/pi/open3e/args.txt hat folgenden Inhalt:
--can
can0
--mqtt
192.168.136.49:1883:open3e
--mqttuser
mqtt:pwpwpwpw
--mqttformatstring
VitovalorPT2_{ecuAddr:03X}_{didNumber}_{didName}
--config
devices.json
-t
30
--read
0x680.[274,277,281,381,364,381,544,545,873,896,1098,1240,1783,1793],0x688[505,506,269,364]
Ich muß dazu sagen, das ich über keine python Kenntnisse verfüge.
Wer kann mir weiterhelfen?