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 vielen Daten auch schon erprobt.
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!
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
Wer es ausprobieren möchte: Hier gibt es eine Anleitung.
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
Äh, nix. ioBroker. Mit der aktuellen Version von open3e (0.3.5) müsste es aber mit den bekannten Befehlen gehen wenn man -f77 ergänzt.
@HerrP mache ich hier ggf. etwas falsch? (wie erwähnt, bin am externen CAN-Bus)
hier mal ein Screenshot:
Gruß Bu-Na
Du machst nichts falsch. Aber auf dem externen Bus gibt's keinen Service 77.
Das war auch meine Vermutung….
Wo genau hast Du eigentlich den internen Bus angezapft?
Klemme 72 (interner Bus liegt direkt neben Klemme 91 (externer Bus).
Ok, danke…werde ich mal bei nächster Gelegenheit ausprobieren…
Gruß Bu-Na
Zur Zeit ist mein CAN-Bus Adapter an der 91 angeschlossen. Bei mir ist die Klemme 72 schon mit der Außeneinheit belegt, habe ich noch eine andere Möglichkeit?
das mit der weiterführenden Erkenntnis hat sich ja inzwischen geklärt... 😎
@Christopher66 CAN ist ein BUS. Da kannst du gaaaaanz viele 'Nodes' dran anschliessen (also deinen Adapter zusätzlich zur Ausseneinheit)...
Das bedeutet ich kann an der gleichen Klemme 2 Drähte anschließen, einmal die Außeneinheit und einmal den CAM-Bus Adapter?
ja. du musst nur einen evtl aufgeschalteten Buswiderstand deines Adapters wegschalten
Danke für die Info, das werde ich die Tage ausprobieren.
wenn man es ganz streng betrachtet sollte der Abschusswiderstand an deiner Vitocal weg und der am Adapter dran bleiben, aber ich nehme an, der an de Vito ist fest verbaut, oder?
danke @Juergen-B übrigens mal wieder für's Einbauen und den neuen Merge!! 👍
Vielen Dank an alle, die sich meinem Problem angenommen haben. Ich denke, ich habe soweit alles verstanden und versuche es einmal zusammenzufassen.
Nun verbleiben mir nur noch zwei Fragen.
Kann man also wie @JuergenB ohne Weiteres den USB2CAN-Konverter (mit Abschlusswidertand) an die Buchse 72 anschließen?
@galegro Da ich davon ausgehe, dass der Abschlusswiderstand am internen Bus fest verschaltet ist, habe ich am Adapter den Widerstand nicht geschaltet. Für die Signalqualität ist das nicht optimal, stellt aber in meiner Umgebung und dank kleiner Kabellänge kein Problem dar.
Die Statistik (ip -details -statistics link show can0) zeigt bei einer Uptime des Raspi von 11 Tagen für die Fehlerzähler lauter 0-Werte an.
Generell vermute ich, dass der typische Heizungskeller eine störungsarme Umgebung ist und bei üblichen Kabellängen von 2 oder 3 Meter bis zum Adapter auch ohne Abschlusswiderstand keine Probleme zu erwarten sind. Im konkreten Fall gilt halt: Versuch macht kluch 😉
Hab gerade mal bei mir die Umschaltung via App probiert, funktioniert wie erwartet…
@Bu-Na schrieb:Hab gerade mal bei mir die Umschaltung via App probiert, funktioniert wie erwartet…
Über die Viessmann-App kann man diese Wert doch gar nicht direkt einstellen.🙄 Habe ich da etwas verpasst?🤔 Wie bist du vorgegangen, um die Werte zu ändern?
Ich kann diese Werte bloß im Service-Menü an der Wärmepumpe ändern.🙁 Derzeit hängt mein Raspi noch am externen Bus.
Bei mir in ViCare —> Einstellungen —> Wärmepumpe
Vielen Dank für deine Rückmeldung.
Konnte ich gestern bei diesem Vorgehen (noch) keine Änderungen feststellen, so habe ich heute die Ursache dafür gefunden: Die automatische Abfrage von 2404.x im ioBroker-Adapter war ausgefallen. Jetzt klappt dies auch bei mir.
Hast du ebenfalls eine Hybrid-Anlage? Wie hast du ggf. den internen CAN-Bus angeschlossen?
Bei diesen Anlagen sind die rechten 6- und 4-poligen Buchsen auf der Unterseite für den internen CAN-Bus zuständig. Dabei sollte die Außeneinheit an der 6-poligen Buchse angeschlossen und die 4-polige sollte unbelegt sein. Bei mir scheint jedoch bei der Belegung offensichtlich etwas nicht zu stimmen. Bevor ich also daran rumbastele, stimme ich mich wohl besser mit unserem Heizungsbauer ab.
Wie schon von @Juergen-B beschrieben, einfach bei Klemme 72 (CAN intern) mit einklemmen.
Zum Verbinden ein kurzes geschirmtes Kabel (<1m) mit einer verdrillten Doppelader verwenden.
GND sollte man zur Vermeidung von Masseschleifen ggf. nur einseitig auflegen.
Den Adapter sollte man ohne Busabschluss betreiben.
Wie bei dir sind L, H und GND durch den Anschluß an die Außeneinheit an der rechten, 5-poligen Buchse belegt. Leider komme ich nicht mit einem kurzen Kabel aus. Bis zum USB2CAN-Konverter sind das über 12m (eine Richtung)
Da ich/wir nicht wissen, wo sich die Abschlusswiderstände in der Inneneinheit befinden, sehe ich nur eine Lösung ..
Ich hoffe, dass das dann auch so funktioniert.
Fürs Erste begnüge ich mich damit, dass ich im Service-Menü der Wärmepumpe alle Parameter zu 2404.x einstellen kann und in meiner Visualisierung angezeigt bekomme. Ohnehin stellt man diese Werte üblicherweise einmal ein und gut ist‘s.
PS
Auf dem Bild sieht der Zugang zu diesen Buchsen richtig gut aus. Bei mir ist das Ganze ziemlich verbaut und nur nur schlecht zugänglich.
Ich habs getan ... und es ist gut. 😀
So,
ich habe jetzt meinen Rasperry Pi Zero 2W mit USB2CAN Adapter von INNO Maker mit meiner Anlage (Stecker 91, externer CAN-BUS) verbunden. Bei einem "candump can0" empfängt er periodisch Datenpakete und bei einem "open3e -c can0 -v -r 256" erhalte ich nach einer kurzen Schrecksekunde verschiedene Daten, u.a. den Softwarestand meiner Anlage (20.510.2323.206).
Damit ist mir ein sehr großer Stein vom Herzen gefallen. Ich bin zwar bei Technik nicht ängstlich, aber beim Risiko (ja, die Erfahrenen werden mich auslachen), meine Anlage zu schrotten und eine kalte Wohnung zu haben, bin ich halt übervorsichtig.
Allerdings habe ich "gezuckt" und mich dann doch an die Empfehlung im Viessmann-Handbuch gehalten und nur CAN_L/CAN_H verbunden, aber nicht CAN_GND ( @HerrP Bitte nicht schlagen, ich bin Dir trotzdem für Deine ausführlichen und geduldigen Erklärungen sehr dankbar). Um die Störanfälligkeit zu verringern ist das CAN-Bus-Kabel nur ca. 2 Meter lang und ich habe es mit größtmöglichen Abstand und nicht parallel zu anderen Strom-/Datenkabeln verlegt.
Der Vollständigkeit halber: Bevor ich Anlage und CAN-Bus-Adapter verbunden habe, habe ich natürlich am Sicherungsautomaten die gesamte Anlage und den Raspi stromlos gemacht, dann dreimal kontrolliert, dass ich auf beiden Seiten CAN_H/CAN_L richtig herum angeschlossen habe und dann im stromlosen Zustand mit einem Ohmmeter den Widerstand zwischen CAN_H/CAN_L gemessen (59 Ohm, das ist nah genug an 60 Ohm um sicher zu sein, dass an beiden Enden ein 120 Ohm Widerstand vorhanden ist wie es sein sollte).
Ich lasse das System jetzt mal eine Zeit so vor sich hin-idlen/einschwingen, werde immer mal wieder prüfen ob es Fehler gibt (ip -details -statistics link show can0) und dann werde ich mit den weiteren Schritten bei open3e weitermachen um dann die gelesenen Werte irgendwann an Home-Assistant zu übermitteln.
Danke für dieses tolle Projekt.
- Den von der Außeneinheit kommende CAN-Bus klemme ich ab und führe ihn zum USB2CAN-Konverter.
- In dem CAT5 Kabel, das zum USB2CAN-Konverter führt, nehme ich zwei verdrillte Adern für die Hin- und zwei für die Rückleitung.
- Den Abschlusswiderstand im USB2CAN-Konverter deaktiviere ich.
Denke, das ist eine gute Idee. Dadurch liegen die Abschlusswiderstände in Innen- und Außeneinheit wieder an beiden Enden der Leitung, wie es sein soll.
Aber "nehme ich zwei verdrillte Adern für die Hin- und zwei für die Rückleitung." verstehe ich nicht. Für den optiomalen Schutz gegen Einstreuungen sollten doch CAN_H und CAN_L in EINEM verdrillten Adernpaar geführt werden. Nur so wird die wirksame Induktionsfläche minimiert.
@Juergen-B schrieb:.
Aber "nehme ich zwei verdrillte Adern für die Hin- und zwei für die Rückleitung." verstehe ich nicht. Für den optiomalen Schutz gegen Einstreuungen sollten doch CAN_H und CAN_L in EINEM verdrillten Adernpaar geführt werden. Nur so wird die wirksame Induktionsfläche minimiert.
Du hast recht, das habe ich äußerst unglücklich formuliert. Da war mindestens das zweite „zwei“ zu viel.😂
Ein verdrilltes Adernpaar führt von der Inneneinheit hin zum USB2CAN-Konverter, ein zweites - ebenfalls verdrilltes Adernpaar - führt wieder zurück zur Inneneinheit.