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, mosquitto, 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.

 

- Aktuell ist nur das Auslesen von Daten weitergehend erprobt. Bei den wichtigen Daten haben wir auch schon die Formate zur Interpretation geklärt, wir arbeiten an einer vollständigen Klärung.

 

Das Schreiben ist bei einfachen Daten wie z.B. Warmwasser-Solltemperatur und so auch schon erprobt.

 

- In nicht all zu ferner Zukunft wird es eine einfache Windows Oberfläche zum Setzen der bisher den 'Fachpartnern' mit entsprechendem kostenpflichtigen Account vorbehaltenen Einstellungen wie zum Beispiel den "Energiespareinstellungen" bei den Gasgeräten geben.

 

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. Einen guten 'Leitfaden' für den Einstieg hat @Hotzen-Plotz hier zur Verfügung gestellt:

https://github.com/open3e/open3e/discussions/5

Eine Sammlung von nützlichen Informationen hat @TSG initiert:

https://github.com/TheSmartGerman/open3e/wiki

(werden wir bald auch unter das open3e Projekt migrieren) 

 

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

 
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

909 ANTWORTEN 909

Hallo HerrP,

 

das klingt super 👍🏼

Wie hast du den den CAN Bus ("Stecker 91") an dein Linux System angeschlossen?

Ein Raspi an GPIO Pins?

 

Kannst du vielleicht Mal die Hardware Konfiguration dazu beschrieben.

Das vermisse ich unter https://github.com/abnoname/open3e

 

Wie hast du diese Grafische Übersicht erstellt? Diese wird doch mit den ausgelesen Werten gefüttert.

 

Kann man damit auch Vitocals (Sole WMP) und Vitovent Lüftungsgeräte auslesen?

 

Klingt auf alle fälle Spannend und einen weiteren Follower hast du schonmal 😁

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

Moin k!

 

>> Wie hast du den den CAN Bus ("Stecker 91") an dein Linux System angeschlossen?

einfach einen handelsüblichen Linux-fähigen USB-CAN Adapter für ~30eu. Ich sammle mal die im Einsatz befindlichen zusammen und stelle eine Liste hier rein.

 

>> Wie hast du diese Grafische Übersicht erstellt? Diese wird doch mit den ausgelesen Werten gefüttert.

"...dazu die Bilder aus den Hydraulik Schemen irgendeines pdf mit vitocal E3 geholt und die Bilder im Homeassistant mit einem Picture Objekt geladen. Dort kann man dann Labels an XY Koordinaten setzen mit Verweis auf die Sensordaten. Ist ganz primitiv gelöst."

 

>> Kann man damit auch Vitocals (Sole WMP) und Vitovent Lüftungsgeräte auslesen?

da gehe ich mit an Sicherheit grenzender Wahrscheinlichkeit von aus. Weil wir sowas nicht in unserer Gruppe haben, müsstest z.B. du es einfach ausprobieren. Die Datenpunkte kennen wir jedenfalls. Vielleicht hast du ja Lust, in der "open3E Community" aktiv mitzumachen!

 

Grüsse!

Phil

 

 

 

Hi @HerrP,

 

Ich kann das ja gern Mal bei Gelegenheit an meiner Vitocals und Vitovent Anlage ausprobieren und berichten. 

Weißt du ob dieser DSD TECH USB zu CAN Bus Adapter basierend auf Open Hardware Canable funktioniert?

https://amzn.eu/d/2myCpkR

 

Wo finde ich eine Übersicht der Datenpunkte?

 

Ich bin vor allen an Temperatur und Luftstromvolumen der Vitovent interessiert, welche sich bisher nicht über API auslesen lassen.

Und dein Schema oben finde ich auch sehr interessant zum Nachbauen 😁

 

VG

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

Canable klingt bekannt. Sorry, ich hab grad erst die Bitte um Adapter Infos in die Gruppe gepostet....

 

Ich würde auf jeden Fall einen Adapter mit optischer/galvanischer Trennung nehmen (das kann ich bei dem auf den ersten Blick nicht erkennen). Das spart Ärger mit 'verdreckter' Kommunikation und schützt allseitig die Hardware.

 

dieser hier ist bei uns 2x in Betrieb:

https://www.amazon.de/dp/B07Q812QK8

dieser auch:

https://www.amazon.de/dp/B09K3LL93Q

 

sorry dass das alles AmazOhNo ist (eigentlich boykottiere ich das wo es geht), die Dinger gibt's bestimmt noch woanders, ich hab nur grad die Links kopiert...

 

Wir haben eine Liste mit über 2750 Datenpunkten, die wir aber aus gewissen Gründen so nicht veröffentlichen möchten. Alleine mit der Liste kann man auch noch nicht sooo viel anfangen, weil sie zwar die Datenpunkte enthält, nicht aber die Datenlänge und die Interpretation. Wir arbeiten gerade daran, Zweiteres grundsätzlich in den Griff zu bekommen, für Ersteres gibt es einen 'Trick'. Zwischendurch haben wir aber auch immer wieder andere 'Herausforderungen' zu überwinden - wie gesagt, alles noch im alpha/beta Stadium.

 

Aber deine Vitovent könnten wir gut gebrauchen... 🙂 "Aktueller Ventilationsvolumenstrom" wäre UDS Object Identifier 2328 (dez). Wenn du CAN Frames auf den Bus senden kannst, kämen wir mit der Antwort vielleicht schon weiter. Es ist aber nicht mal sicher, dass das wirklich der Datenpunkt ist, den du suchst. Alleine mit 'Air' gibt es mindestens 50 'Treffer'...

 

Grüsse!

Phil

 

Hi Phil,

 

Ich habe mir jetzt erstmal den bestellt.

Waveshare USB to CAN Adapter Analyzer, Adopts STM32 Chip Scheme, 4 Working Modes, Stable Communication, for Windows XP/7/8/10/11, for Raspberry Pi OS/Jetson Nano Ubuntu and Other Linux System https://amzn.eu/d/3DGRKcO

 

Mal schauen, ob ich damit was ausgelesen bekomme.

 

 VG 🤗

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

Ok, ich versuche hier mal nachzuvollziehen, was so gemeint ist und versuche das für mich zu übersetzen (ich habe einen Raspi mit Raspbian und iobroker am Laufen):

  1. Ich soll mir einen der o.g. Hardwareadapter kaufen, den ich dann in einen USB-Port des Raspi stopfe
  2. Den Adapter verbinde ich dann mit drei Drähten mit einem der beiden CAN-Bus Ports in der Heizung (#91 unter elektrische Anschlüsse im Service Manual)
  3. In der Heizung schalte ich den CAN-Bus Widerstand auf "on"
  4. Auf der Kommadozeile des Raspi lasse ich laufen
    pip3 install -r requirements.txt
    und
  5. sudo ip link set can0 up type can bitrate 250000

Moin Ganster! 🙂

 

alles korrekt. Vielleicht ein reboot nach dem install...

 

[edit @Hotzen-Plotz ] du musst natürlich die Dateien aus Github auf deinen Raspi kopieren (am besten in einen eigenen Ordner) und die Eingaben müssen von dem Ordner ausgehend erfolgen, wo auch die Dateien stehen.

 

Ich würde den oberen Adaper vorschlagen, weil der a) galvanisch getrennt ist (ist der untere auch) und b) von unserem "Chefingenieur" auch genutzt wird. So ist bestmögliche Vermeidung von irgendwelchen Stolpersteinen aufgrund von HW/Treiber Differenzen gewährleistet.

 

HerrP_0-1692178527286.png

 

Auf dem Adapter auch den Jumper für den 'Abschluss'widerstand stecken - Widerstand immer an beiden Enden des Busses.

 

Wenn du das alles gemacht hast, wäre ein erster Test das Auslesen der Busidentifikation (Obj. 256dec). Wir haben festgestellt, dass bei Gasgeräten die anderen Objekte manchmal nicht reagieren, wenn nicht zuvor der Informationsmechanismus durch Lesen der Busidentifikation 'aufgeweckt' wurde.

Dem Aufruf muss je nach Systemkonfiguration noch das 'python' vorangestellt werden. Also

python3 Open3Eclient.py -c can0 -dev vdens -r 0x100 -v

ich hoffe, so ist es richtig (ansonsten vlt die ObjID dezimal) - ich habe selber eine Optolink Therme und darf garnicht mitspielen 😢

 

Um dann das (ich glaube) zyklische Auslesen und Bereitstellen für den MQTT Broker zu starten dem Beispiel unter "Publish datapoints to mqtt" folgen. Ich glaube, der Broker legt dann die Objekte selbsttätig an, weiss das aber wie gesagt nicht, weil ich das alles nicht habe.

 

Ich habe in der Gruppe gebeten, dass mal jemand ein kommentiertes Screen Recorder Video macht, was alles zeigt... Aber es gibt eben viel zu tun, und es geht nur eins nach dem anderen 😉

 

beste Grüsse & gutes Gelingen! Sag Bescheid, ob es geklappt hat!

 

ps. wenn du einen Raspi 4 mit Bullseye hast, muss es die 64bit Variante sein. Auf 32bit Bullseye läuft zwar der CAN Transfer korrekt, aber udsoncan meldet trotzdem Timeout. Raspi 3 und lower sind problemlos (bisher).

Hallo HerrP,

 

Hat deine Therme nur noch Optolink und kein KM-Bus mehr?

 

Ich habe eine Vitocal (Sole WMP) von 2018 und diese hat Optolink und KM-Bus parallel.

Habe am KM-BUS die Fernbedienung Vitrol 200 und Vitocom 100 LAN angeschlossen.

Am Optolink hängt die Vitoconnect OPTO2.

 

VG 🤗

 

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

doch, KM Bus auch. aber der KM Bus ist eine gaaanz andere Geschichte und für mich und eigentlich den Großteil der Allgemeinheit relativ uninteressant, wenn es nicht darum geht Viessmann Zubehör dran anzuschliessen...

aber wenn deine Vitocal keinen CAN Bus hat (vor E3) müssen wir deine Belange anders managen!! Der KM Bus ist nicht CAN-kompatibel!

 

sorry dass meine Antwort oben einfach von der Annahme eines CAN Bus ausgegagen war!

@HerrP,

 

Ich kann zum Thema CAN-BUS und Vitocal 333-G nichts in der Serviceleistung finden.

Dies scheint wohl erst bei den neueren Vitocal 250 zu sein 😔.

Verdammt 🙈

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

ich habe aber auch Optolink Datenpunkte für Vitocal - vielleicht finden wir da ja das passende. Aber ich sehe schlechte Chancen, 'dazwischen' zu kommen, wenn Optolink gleichzeitig mit der Viessmann Cloud verbunden ist...

Für die Optolink Schnittstelle gibt es auch eine Bauanleitung USB_Duo Sniffer

zum Mitlesen des Datenverkehrs der Heizung bzw. deren Steuerung (Vitotronic) durch möglichen Snifferbetrieb. Das heißt, Sende- und/oder Empfangs-Datenströme zwischen Steuergerät und der Heizung können auf der seriellen Ebene in Echtzeit mitgelesen werden - ohne den Datenverkehr zu beeinflussen.

 

Viele Möglichkeiten zum Auslesen von Viessmann Anlagen, finden sich auch im Openv Wiki 

 

VG 🤗

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

das ist wohl wahr, aber wenn der/die Datenpunkt/e von Interesse ganrnicht ausgelesen werden, nutzt das nix. und da Anfragen 'zwischenfunken' ist sehr kritisch. Im Gegensatz zu CAN ist das ein Master-Slave System, und es kann nur einen Master geben...

Ich würde ja gerne mitmachen und mitspielen, aber wenn meine Vitocal 333-G bzw. Vitotronic WO1C kein CAN-BUS kann, kann ich leider nicht mit machen. 😔

 

Aber vielleicht kann man die Daten ja auch per KM-BUS abgreifen und dann in einen mqtt Broker schreiben.

Siehe Adressen Wärmepumpen Vitotronic WO1C

 

Den CAN-BUS oder PlusBus bei Vitodens ab B3HE mit der Regelungsplattform E3 ist nicht mit dem alten KM-Bus kompatibel. 😔

 

Tia, da bin ich wohl mit meiner Anlage von 2018 wohl einfach zu alt 🙈

 

VG 🤗

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

@koeber wenn deine Anlage von 2018 ist, hast du vermutlich keine 5 Garantie mehr.

Dann würde ich die Vitoconnect-Box  einmotten oder verkaufen und auf eine direkte Lösung per Optolinkkabel und vcontrold umrüsten.

so sehe ich das auch. 🙂

 

in https://github.com/philippoo66/ViessData21/blob/master/DP_Listen_2.zip findest du eine umfangreiche Sammlung von Datenpunkten. Vielleicht sind da noch zusätzliche zu deinem Link drin (interessant, den kannte ich noch nicht), für die V200WO1A immerhin über 1.300 (und Arrays sind nur mit der Startadresse aufgeführt...). Bei Bedarf können wir dich auch bezüglich Optolink unterstützen (KM würde ich lassen, schon alleine die Bus-Physik ist ein wenig 'sonderlich').

 

Aber in diesem Thread soll es jetzt wieder um die Automatisierungs-Anbindung der E3 Plattform gehen. 😉

 

Grüsse!

Phil

 

ps. sei nicht traurig, dass du nicht auf dem E3 Spielplatz mitspielen kannst! unsere Vitotronics haben durchaus auch ihre Vorteile! Und Optolink ist auch ein schönes Spielzeug 🙂

Hi,
meine 5 Jahre Garantie sind erst im Oktober rum.
Und eigentlich bin ich mit der Vitoconnect und ViCare App bisher ganz zufrieden.

Diese Funktionalitäten müsste man über vcontrold erstmal alle wieder abbilden, um sie konfortabel nutzen zu können.

Ich hatte auch schon mal mit einem USB Splitter Kabel versucht das Serielle Signal zu splitten und einmal die Vitoconnect und vcontrold parallel daran zu betreiben. Leider hatte dies nicht geklappt.

Und so ein Bastelinterface, das ich die Frontklappe nicht mehr zu bekomme, wollte ich dann auch nicht, zumal es mir sehr fummelig und zeitaufwenig scheint.

Eigentlich wäre ein zweites Interface, wo man alles schön lokal abgreifen kann ideal oder wie bei KM-BUS einen Verteiler anschließen, wo man mehrere Teilnehmer anschließen kann. Dies halt nur an der Optolink Schnittstelle.

 

Wenn da jemand was kennt, wäre ich sehr daran interessiet. 😍

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

Hallo,

 

wozu hast du das Vitocom 100 LAN1 noch zusätzlich?

 

Darüber hättest du ja auch die Möglichkeit eines lokalen Zugriffs.

 

VG 

Die Nutze ich für den VITODATA 100 Zugriff via https://vitodata100.viessmann.com

und die Vitrol App.

Zudem kann man darüber E-Mail und Faxbenachrichtigungen bei Störungen aktivieren.

War eigentlich vor der ViCare App da und wurde von mir nie abgelöst.

Nutze ich aber heute noch 😏

 

--------------------------------------------------------------------------------------------------------
Vitocal 333-G BWT 331.B08 / Vitovent 300-F H32S B280 / Vitocom 100 LAN1 / Vitoconnect 100 OPTO2 / Vitocomfort 200

>> ...einen Verteiler anschließen, wo man mehrere Teilnehmer anschließen kann. Dies halt nur an der Optolink Schnittstelle.

Wenn da jemand was kennt, wäre ich sehr daran interessiet.


Sowas geht technisch in mehrererlei Hinsicht (so gut wie) nicht:


a.) wie ich schon gesagt hatte, kann es bei Optolink nur einen Master geben. Der Master schickt 'Befehle' an den Slave, und der Slave antwortet dann. Das ist ein Kommunikationszyklus, und wenn der abgeschlossen ist, schickt der Master bei zyklischer Kommunikation den nächsten Befehl. Wenn der Master was schickt, achtet er auch nicht dadrauf, ob vielleicht schon jemand anderes den Slave angequatscht hat, weil es für ihn selbstverständlich ist, dass der Sklave nur ihm hörig ist.


Sollte es tatsächlich gelungen sein, dass jemand kollisionsfrei dazwischen gequatscht hat, kann es sein, dass die Antwort des Slaves an den 'Fremden' vom Master als Antwort auf seine Anweisung verstanden wird, und das Chaos ist perfekt.


b.) Das Optolink Kabel realisiert eine USB UART Emulation. Diese UART kann nur mit einem Endpunkt verbunden werden.

 

Man könnte bsw auf einem Raspi ein Programm realisieren, was dieses RS232 sowie zwei weitere von zwei Mastern verarbeitet, wobei es den Master für die Vitotronic darstellt und den Slave für die beiden anderen, und alles entsprechend buffert, der Reihe nach abarbeitet und verteilt. Problem dabei wird sein, dass wohlmöglich ein Master dann Timeout registriert, wenn ein anderer grade bedient wird...

 

Grüsse!

 

ps. nochmal: hier soll es um unser neues E3 Projekt gehen. wenn wir in das von @koeber tiefer einsteigen wollen, sollten wir einen neuen Thread aufmachen!

Hallo,

 

du erwähnt oben, dass PV und Speicher in der Testphase sind. Ich würde das ganze gerne, wenn bereits möglich, An einem VX3 testen. Gibt es dafür schon prototypische SW? Auf den ersten Blick hab ich in Git VCal und VDens gesehen. 

 

Danke und Viele Grüße

Michael

Moin Michael!

 

Leider tappen wir da aktuell noch etwas im Dunklen, die VX3 scheint irgendwie etwas andre 'Mechanismen' oder andres EcuTarget oder so zu benutzen. Wir arbeiten aber grade dran und ich melde mich gern bei dir, sobald wir weiter sind.

 

beste Grüsse!

Phil

Hi Phil,

 

das wäre super vielen Dank. Könnt ihr vielleicht schon die Werte des Energiezählers einlesen?

 

Danke und Grüße

Michael

Top-Lösungsautoren