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.721 ANTWORTEN 1.721


@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

 

 

@galegro 

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 🙂

Bildschirmfoto 2025-10-06 um 23.06.51.png

 

Sollte das mittlerweile jemand in schön analog zur 250er gemacht haben, Spende ich auch irgendwo gerne kleine Münzen 🙂

@Boostar 

 

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:

  1. Der Widerstand sorgt dafür, dass das differentielle Signal zwischen CAN_hi und CAN_lo 'zügig' zu 0V gemacht wird, wenn alle Transceiver im hochohmigen Zustand sind (nur 'zuhören' bzw. ein rezessives Signal 'senden'). Damit das auch bei langen Leitungen (mit Kapazität, Widerstand und Induktivität) möglichst überall mit gleichen Timing geschieht (was bei CAN nicht ganz unkritisch ist), ist der Widerstand 'über den Bus verteilt' (mit zunehmender Länge wirken die Leitungsabschnitte wie kleine hintereinandergeschaltete Tiefpässe, und mit zunehmender Entfernung vom Widerstand wird die Flanke immer flacher).
  2. Wie das bei allen Leitungen so ist, gibt es auch auf dem CAN Bus Reflektionen am offenen Ende, denen man am besten mit einem Abschlusswiderstand in Größenordnung der Wellenimpedanz der Leitung entgegenwirkt. Deswegen sitzen an jedem Ende ein Widerstand mit ~120 Ohm.

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.

 

IMG_0506.jpeg

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.

 

IMG_0529.jpeg

Hallo @der_Jörg ,

 

naja bei der initialen Aktualisierung der Datenpunkte wurde der Datenpunkt 2214 schon angelegt, eben nur nicht mehr aktualisiert.

Boostar_0-1760173056359.png

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

Anlagenzertifikat_8902954972_Jens Graube_neutral.jpg

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:

JuergenB_0-1760207839895.png

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.

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?

 

Top-Lösungsautoren