abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

CAN Bus, Home Automation E3 Generation lokal und kostenlos

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!

HerrP_2-1692095743490.png

 

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:

 

HerrP_3-1692095743607.jpeg

 

HerrP_3-1697543763132.png

Vitocal 250 Kältekreisübersicht: View und Installationsanleitung gibt's hier: https://github.com/MyHomeMyData/iob.vis.vitocal250.git

 
Visualisierung der Vitocal Energiematrizen zur monatlichen Energiebilanz für ioBroker:
HerrP_0-1728512769080.png

Wer es ausprobieren möchte: Hier gibt es eine Anleitung.

 

Jürgen hat auch noch weitere schöne Sachen abgeleitet.

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

1.843 ANTWORTEN 1.843

Hallo,

 

das Thema scheint ja sehr aktuell zu sein! Ich nehme, hoffentlich noch diesen Monat meine Vitocal 250A13 in Betrieb. Ich nutze  HomeAssistant sehr intensiv und möchte natürlich die neue Wärmpumpe bestmöglichst einbinden? Ist die Variante über open3e nun die sauberste mit allen Daten oder reicht die Cloud Variante. Insbesondere würde mich natürlich die Garantie interessieren, gibt es doch Erfahrungen bzw. Gründe weshalb das auslesen der Daten über mqtt erlischt?


@pala021  schrieb:

Ist die Variante über open3e nun die sauberste mit allen Daten oder reicht die Cloud Variante. Insbesondere würde mich natürlich die Garantie interessieren, gibt es doch Erfahrungen bzw. Gründe weshalb das auslesen der Daten über mqtt erlischt?


Die Daten über CAN-Bus/Open3E abzufragen ist zuverlässiger und preiswerter. In der Cloud hast Du in der kostenlosen Variante ein tägliches, maximales Abfrage-Limit (mit dem man nicht so viele Daten in so feiner Zeitauflösung wie mit Open3E abfragen kann), die Cloud-API kann sich unangekündigt ändern und steht auch hin und wieder nicht zur Verfügung.

 

Und wenn man an den externen CAN-Bus-Anschluss (und nicht an den internen) geht: Der ist dafür vorgesehen, dass da externe Geräte angeschlossen werden. Dennoch kann Dir hier niemand eine verbindliche Garantie bezüglich der Garantie geben.

 

@pala021  wenn du HA vorhast, wirf auch mal einen Blick auf https://github.com/MojoOli/open3e-ha ich hab keine Ahnnung von HA, aber es wird gesagt, das macht es einfacher mit den Entitäten und Gedöhns

Liest sich gut danke. 
Um eine Can Verbindung komme ich scheinbar nicht rum. Wie ist hierzu der Lösungsansatz? Wie beschrieben mit einem Rasperry? Da meine Anlage komplett neu ist, muss der Techniker zur Inbetriebnahme etwas einstellen? Oder rufe ich die Daten einfach über die Klemme 91 selber ab?

Einfach am EMS abgreifen. Den Endwiderstand entfernen, beim PI 3+ sitzt der auf dem Raspy.

Ich habe ganz frisch aufgebaut und die Teile bestellt:

https://www.ebay.de/itm/157151306855

Gebraucht und guter Verkäufer.

https://www.amazon.de/dp/B07M8SH8TM?ref=ppx_yo2ov_dt_b_fed_asin_title

https://www.amazon.de/dp/B0956NV6CM?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1

Als Kit bestellen.

https://www.amazon.de/dp/B01566WOAG?ref=ppx_yo2ov_dt_b_fed_asin_title

Und schnelle SD Karte, A10 Minimum, ab 32 GB geht bis 1TB.

Für die Anbindung habe ich mich hier dran gehalten, der erste Teil passt universal:

https://crydteam.de/2025/04/27/viessmann-vx3-in-homeassistant/

Viel Erfolg

#Vitocal 250-A13, 400L Puffer, 300L WW, VX3, 12 KWp, 10KWh Speicher, Haus BLB 180qm, Baujahr 1970 Umbau 2023, Fassade+Dach gedämmt#

Hallo und vielen Dank. Gerne würde ich mit dir ein bisschen privat schreiben und mich diesbezüglich austauschen.  Die Konstellationen unserer Anlage ist sehr identisch. Würde mich über eine privat Nachricht freuen. 

Hi,

Ich habe eine Viessmann Vitocal 250 A und Home Assistant. Da ich es sehr schade finde immer wieder das Kommunikationsmodul restarten zu müssen um Verbrauchsdaten zu erhalten habe ich mir nun den innomaker USB-CAN Wandler plus 3Pin Phoenix Stecker besorgt. CAT5 Kabel habe ich noch. Leider habe ich noch nirgends gesehen, welcher Pin am Interface mit welchem Steckerpin verbunden werden muss. Und wo genau in das Heizungssteuergerät kommt dann der Stecker? Anbei der Schaltplanaufkleber unter dem Gerät sowie eine Möglichkeit...

 

Viele Grüße 

Daniel

 

 

20251209_121820.jpg
20251209_112026.jpg

moin @Romeleitis !

 

dein Foto zeigt wohl den Stecker auf dem Schatplan links allerdings 'auf dem Kopf stehend' - der vorhandene Stecker ist wohl der NTC. Entsprechend würdest du da den CAN Adapter an den 1. und 3. Pin von oben (Foto) anschliessen (High und Low nicht vertauschen).

Genau, Du musst auf die andere Seite, also links.

Ground wird nicht mehr angeschlossen.

#Vitocal 250-A13, 400L Puffer, 300L WW, VX3, 12 KWp, 10KWh Speicher, Haus BLB 180qm, Baujahr 1970 Umbau 2023, Fassade+Dach gedämmt#

Vielen Dank schon einmal für die Hilfe zum Kabel. Ist jetzt konfektioniert und angeschlossen.

Bei der Installation kommt es leider beim Befehl

open3e -c can0 -v -r 256

zu einem Fehler :

Configuration file devices.json not found, continuing with generic DID list, ECU 0x680
0x680 256 BusIdentification {"BusAddress": 1, "BusType": {"ID": 2, "Text": "CanInternal"}, "DeviceProperty": {"ID": 31, "Text": "HPMUMASTER"}, "DeviceFunction": {"ID": 2, "Text": "HMUMASTER"}, "SW-Version": "20.516.2532.307", "HW-Version": "2.612.101.4", "VIN": "74714424XXXXXXXX"}
closing 0x680 - bye!

Während des ersten Verbindungstests (candump can0) bekomme ich eine Ausgabe, allerdings nicht wie in der Installationsanweisung immer 8 Werte, sondern unterschiedlich viele :

can0 000 [2] 82 53
can0 701 [1] 05
can0 190 [7] 8C 33 0E 3A 34 00 40
can0 1FF [8] 0C 0C 19 0E 3A 34 00 00
can0 701 [1] 05
can0 000 [2] 82 4B
can0 190 [7] 8C 33 0E 3A 35 00 40
can0 1FF [8] 0C 0C 19 0E 3A 35 00 00
can0 000 [2] 82 62
can0 000 [2] 82 6F
can0 000 [2] 82 50
can0 000 [2] 82 52
can0 000 [2] 82 48
can0 701 [1] 05
can0 190 [7] 8C 33 0E 3A 36 00 40
can0 1FF [8] 0C 0C 19 0E 3A 36 00 00
can0 000 [2] 82 61
can0 000 [2] 82 4A
can0 000 [2] 82 49
can0 000 [2] 82 4E
can0 000 [2] 82 5A
can0 000 [2] 82 4F
can0 000 [2] 82 54
can0 000 [2] 82 70
can0 000 [2] 82 55
can0 000 [2] 82 4D
can0 701 [1] 05

 

OK, hab es selbst hinbekommen. In der Anleitung fehlt, dass man vor dem Befehl

open3e -c can0 -v -r 256

noch folgende Befehle absetzen muss :

open3e_depictSystem -s

open 3e -cnfg devices.json

Dann mache ich mal weiter mit der Anleitung 🙂

das mit dem fehlenden devices.json ist eher ein Hinweis, weil - cnfg devices.json inzwischen default ist. Es hat den DID 256 ja ausgelesen (mach da mal besser die letzten 7 Ziffern deiner VIN unkenntlich).

 

Das mit dem depictSystem steht ganz dick im Readme, ziemlich oben

HerrP_0-1765554130904.png

Wahrscheinlich hast du es übersehen, weil es so groß ist... 😉

 

ein Aufruf open3e -cnfg devices.json ist nicht notwendig, -cnfg ist ein Parameter und der hat wie gesagt schon den default devies.json. open3e -cnfg devices.json bewirkt so garnichts, weil es nichts weiter tut (wie read oder write irgendwas oder listen) als open3e zu starten und ohne irgendeine Aktion wieder zu beenden.

 

Aber schön dass es läuft! 🙂

 

 

 

Ich hatte diese Anleitung genommen :

Viessmann VX3 in Homeassistant - crydteam

Da diese aber für eine VX3 ist und nicht für eine Vitocal250-A scheitere ich nun schon wieder.

Mit dem prüfen über 

sudo systemctl status open3e

erhalte ich nur Fehler :

Dec 12 17:09:20 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:20 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:24 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:24 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:29 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:29 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:33 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:33 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:37 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:37 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:41 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:41 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:46 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:46 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:50 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:50 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:54 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:54 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec)
Dec 12 17:09:59 Raspberry-open3e open3e[49878]: 2025-12-12 17:09:59 [ERROR] UdsClient: [TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=3.000 sec).

 

Die Schritte davor haben funktioniert.

Gibt es eine bessere Anleitung (am Besten passend für die Vitocal 250-A)?

Ich schätze es liegt an den falschen Datenpunkten.

Gibt es eine Übersicht dazu? 

Ich habe mir zwar mit open3e_dids2json eine Open3Edatapoints.json angelegt, aber da suche ich mich dumm und dusselig.

Mir würde es fürs erste langen, wenn ich die folgenden Dinge abgreifen könnte :

- Heizung-Stromverbrauch heute

- Stromverbrauch heute

- WW-Stromverbrauch heute

Ich nutzte dies hier:

Aber für ioBroker.

Rest mit Gemini.

https://github.com/open3e/open3e/wiki/030-Installation-und-Inbetriebnahme-von-open3E

#Vitocal 250-A13, 400L Puffer, 300L WW, VX3, 12 KWp, 10KWh Speicher, Haus BLB 180qm, Baujahr 1970 Umbau 2023, Fassade+Dach gedämmt#

> Ich schätze es liegt an den falschen Datenpunkten.

> Gibt es eine Übersicht dazu?

 

die Datenpunkte (DIDs) stehen in der/den entsprechenden Open3Edatapoints_6xy.py, in deinem Fall wahrscheinlich in der Open3Edatapoints_680.py. Das ist aber etwas 'kryptisch'...

 

mach doch mal ein open3e --scanall (an der Konsole, vorher den Dienst stoppen!) dann bekommst du alle DIDs, die depictSystem gefunden hat, mit Klartext und Werten. (Du muss es aber (glaubich) in dem Verzeichnis ausführen, wo die Open3Edatapoints_6...py stehen, die depict erzeugt hat.)

 

du kannst die Ausgabe auch in eine Datei umleiten open3e --scanall >> ausgabe.txt

 

 

Eine Übersicht über alle Datenpunkte findet man hier. Am besten man sucht nach Begriffen wie "Power", "Energy", "Temperature", "Pressure", "Percent", "Setpoint", "Matrix" usw. Zu welchem Gerät das jeweils gehört, ergibt sich meist aus dem Kontext, oder man schaut in die im vorigen Post genannten Dateien.

@Romeleitis  Du hast keinen Filter gesetzt, also siehst Du alles, was auf dem Bus passiert. In der Anleitung wird auf die relevanten IDs gefiltert.

Ich habe jetzt mal folgende Datenpunkte hinzugenommen :

680.1211_GeneratedCentralHeatingOutput/Today
680.565_EnergyConsumptionDomesticHotWater/Today
680.548_EnergyConsumptionCentralHeating/Today
680.274_OutsideTemperatureSensor/Actual
Damit sieht das schon mal gar nicht schlecht aus...
Gibt es das "Visualisierung der Vitocal Energiematrizen zur monatlichen Energiebilanz" eigentlich auch für Home Assistant?

@Juergen-B 

Ich bräuchte bitte noch eine Anleitung zur Einbindung der Gif Lüfter und des Heizstabes in der Visualisierung. Die Videos und Links passen nicht mehr zur aktuellen Version von iobroker, oder ich sehe es einfach nicht. Ich habe keine Idee wo ich hier ein Alias kreieren kann. Zudem wird mir auch die Prozentangabe beim Volumenstrom mit NaN angezeigt.

Habe aber alle Datenpunkte der Beschreibung eingefügt. Oder hast Du eine vergessen?

Im übrigen bin ich jetzt direkt an die WP gegangen, beim EMS war nicht so gut. Und damit ist meine zuerst gestellte Frage hier im Thread beantwortet, man kann eine Stichanbindung trotz belegten CAN Bus an der WP durchführen, also zwei Geräte an einem Kontakt. Der Abschluss Widerstand am Adapter muss aber entfernt werden wenn man nur lesen möchte, zudem sollte das CAT Kabel höchstens 30cm haben.

Besten Gruß

#Vitocal 250-A13, 400L Puffer, 300L WW, VX3, 12 KWp, 10KWh Speicher, Haus BLB 180qm, Baujahr 1970 Umbau 2023, Fassade+Dach gedämmt#

Beim Prozentwert des Volumenstroms hat ein ".Actual" am Datenpunkt gefehlt, das habe ich in der View jetzt ergänzt. Danke für den Hinweis.

Du kannst das in Deiner View einfach korrigieren, wenn Du auf den Prozentwert klickst und im Abschnitt "Common" bei "switch" bei "0381_CentralHeatingPump" das ".Actual" ergänzt, also zu "0381_CentralHeatingPump.Actual". Dann sollte es direkt funktionieren.

 

Die Einbindung des Heizstabes ist aus meiner Sicht im Readme korrekt und vollständig beschrieben. Was stimmt da nicht oder fehlt? Bitte konkret beschreiben. Zur Einbindung der Fan-Gifs muss man die Bilddatei an die richtige Stelle hochladen, mehr ist es nicht. Da braucht es kein Alias.

 

Du schreibst "Der Abschluss Widerstand am Adapter muss aber entfernt werden wenn man nur lesen möchte, zudem sollte das CAT Kabel höchstens 30cm haben."

An einem CAN-Bus sollte an beiden Bus-Ende jeweils ein Abschlusswiderstand angebracht sein. Dadurch werden die korrekten elektrischen Pegel eingestellt und Signal-Reflexionen am den Busenden vermieden. Wenn man einen zusätzlichen Teilnehmer über eine kurze Leitung anschließt, hat man die Bus-Topologie nicht wesentlich verändert und kann die Abschlusswiderstände unverändert lassen. An welcher Stelle am Bus man das tut, sollte eigentlich egal sein. Auf keinen Fall darf man einen dritten Widerstand ergänzen. Ob auf dem Bus gelesen oder geschrieben wird, hat damit aber überhaupt nichts zu tun. 

 

Was meinst Du mit "beim EMS war nicht so gut"?

Laut dieser Beschreibung:

https://github.com/open3e/open3e/wiki/020-Inbetriebnahme-CAN-Adapter-am-Raspberry#e380

Sollte man dort nicht anbinden wegen isoliert. Die Daten könnten clippen?

Dort war ich zuerst und habe den Widerstand im Adapter gesetzt gelassen weil der am EMS entfernt werden musste. Den Rest hatte mir Gemini erklärt 😅.

Ich habe ja ein Systemverbund. Ich weiß aber nicht wo an der WP der Abschluss Widerstand gesetzt ist.

Sollte ich ihn doch wieder an den Adapter setzen?

Und ja, Heizstab ist korrekt beschrieben aber wo bitte erzeuge ich diesen Alias?

In der View, im ioBroker? Ich bin da irgendwie unfähig zu.

Du schreibst die Bilddatei muss an die richtige Stelle hochgeladen werden?

Auch in der View? Oder in den IMG Ordner?

Oder einfach platzieren?

Prozentangabe funktioniert, danke.

#Vitocal 250-A13, 400L Puffer, 300L WW, VX3, 12 KWp, 10KWh Speicher, Haus BLB 180qm, Baujahr 1970 Umbau 2023, Fassade+Dach gedämmt#

Beim Thema Clipping geht es Masse-Drift bei einem potenzialfreier Can-Adapter. Wenn aber E380 und Vitocal verbunden sind, herrscht an beiden Anschlüssen das gleiche Potenzial. Es kann dann der Masse-Anschluss an der Vitocal genutzt werden, sofern der belegt ist. Bei neueren Geräten ist das meines Wissens nicht der Fall. Dann macht es nach meinem Verständnis keinen Unterschied, wo man anschließt. Und mit dem Abschlusswiderstand hat das auch nichts zu tun. Zum Abschlusswiderstand an der Vitocal musst Du in der Anleitung für Dein konkretes Modell nachschauen. Oder den HB fragen.

 

Alias: Im ioBroker Objektbaum anlegen und nach Anleitung im Readme konfigurieren.

Bild: Im vis-Editor hochladen nach Anleitung im Reame, also nach /vis.0/main/img/

 

Die Original-Doku zu ioBroker bzgl. alias: https://www.iobroker.net/#de/documentation/basics/alias.md 

was den Anschluss des CAN Adapters am Energiezähler anbetrifft gibt es glaubich inzwischen genug praktische Erfahrung, dass es oft auch ohne Masseanbindung ordentlich funktioniert. Vielleicht sollten wir den Absatz etwas entschärfen?

 

Die Theorie ist immer noch richtig, aber offensichtlich sind die gewöhnlichen Umgebungen meist störungsarm genug, so dass keine dramatische Potentialbeeinflussung passiert weil die 'Symmetrierwiderstände' von dem Transceiver ausreichen. 

 

Okay. Die Bilder sind richtig platziert, also wie es sein sollte, im IMG Ordner.

Trotzdem keine Bewegung in der view. Im Ordner drehen sie sich schön.

Oder muss ich in der view noch etwas aktivieren?

Wie auch immer, an der WP angeschlossen habe ich jetzt zumindest weniger Fehler wegen timeout im iobroker. Ich lass das jetzt alles so wie es hängt und gut.

Danke für die Geduld mit mir, wird bald Zeit für neues Bier 😅.

#Vitocal 250-A13, 400L Puffer, 300L WW, VX3, 12 KWp, 10KWh Speicher, Haus BLB 180qm, Baujahr 1970 Umbau 2023, Fassade+Dach gedämmt#
Screenshot 2025-12-13 143933.png
Top-Lösungsautoren