Viessmann in HA ohne API, mit open3e (CAN, ESP32 und WLAN)

Hallo zusammen,

basierend auf dem Thread “Viessmann in HA ohne API” und dem darin verlinkten Projekt “github.com/boonkerz/open3e-esp32” möchte ich meine Vorgehensweise aus der Sicht eines Anfängers darstellen. Vielleicht hilft es ja jemanden, der ebenfalls nicht so tief in der Materie drin steckt und wo die GitHub-Erklärung noch Fragen hinterlässt.

Motivation:

Die Werte, die bei mir im Keller entstehen, sollten mir auch jederzeit zur Verfügung stehen. Das ist leider nicht immer der Fall, entweder gibt es Probleme beim Vissmann-Server (kommt vor) oder bei meiner Internet-Kabelverbindung (kommt häufiger vor). Weiterhin habe ich nur begrenztes Interesse Vissmann kostenlos mit meinen Daten zu versorgen.

Vorbereitung:

  • Bestellung vom Waveshare ESP32-S3-RS485-CAN, die WLAN-Version kostet aktuell um 30€.
  • Passendes Hutschienen-Netzteil 12V. Ich würde meine Version von POS nicht empfehlen, es fiept furchbar, was mich im Keller aber weniger stört. Gekostet hat es 15€.
  • Leistungsschutzschalter. Ich habe noch einen B10 gefunden. Er sollte vom Wert her kleiner sein, als die Sicherung davor im Verteiler.
  • 3 pol. Stecker RM 5,08mm vom Elektronik-Distributor oder ebay/amazon. Die Preisschwankungen liegen zwischen günstigen 0,35€ und unfassbaren 20€.
  • Leitung, geschirmt, mind. dreipolig. Ich nutze eine alte Telefonleitung, 2x twisted Pair + Schirm. Ein Patchkabel geht genauso.
  • Einen Kleinverteiler, falls alles an die Wand montiert werden soll. Bei der Auswahl des Designs und bei der späteren Verdrahtung ist darauf zu achten, dass eine WLAN-Antenne montiert wird. Ausreichend TEs (Teilungseinheiten) vorsehen. Ich brauchte 8.

HA vorbereiten:

  • Man richte einen neuen Nutzer ohne Admin-Rechte ein, der für MQTT gebraucht wird.
  • Den Mosquitto broker aus den Apps laden und installieren. MQTT taucht dann in den Integrationen automatisch auf und sollte problemlos integriert werden können. In den Einstellungen (Zahnrad) den extra angelegten Nutzer eintragen, den Rest bitte lassen, wie es ist. Es werden anschließend noch keine Geräte/Entitäten gefunden, insofern man nicht MQTT vorher schon anderweitig nutzt.

Waveshare vorbereiten:

  • Ich habe die Möglichkeit des Online flashens genutzt, das Ganze ist sehr schnell und komfortabel. Man benötigt ein voll belegtes USB-Kabel, manche preiswerte Kabel von Ladegeräten funktionieren nicht.
  • Anschließend das WLAN einrichten und die IP vom Waveshare im Router fest vergeben.
  • Jetzt geht man im Waveshare auf „Einstellungen“. Dort bei „MQTT aktivieren“ den Haken setzen, bei „Broker“ die IP vom Home Assistant eintragen und natürlich den neuen Nutzer. Nichts an den Ports ändern.
  • Speichern und neu starten. Oben rechts sollten „CAN running“ und „MQTT“ grün sein, ansonsten nochmal die Einstellungen prüfen.

Alles verdrahten:

  • Alle Massepunkte verbinden (Heizung, Netzteil, Waveshare). Dieser Punkt wird zwar bei GitHub beschrieben, fehlt aber im dortigen Schaltplan.
  • Den Abschlusswiderstand vor Kl. 91 aktivieren, bevor man den neuen Stecker einsteckt, sonst wird es fummelig. CAN H und L nicht vertauschen.
  • Den Waveshare einschalten und auf die Status-Seite gucken. Busfehler sind soweit normal aber der Fehlerzähler RX/TX muss null sein, sonst Masse oder Abschlusswiderstand prüfen.
  • Unter “System” den Bus scannen und im entsprechenden Gerät die interessanten Datenpunkte aktivieren. Die Daten nicht unnötig kurz abfragen. Das Ganze ist auf GitHub sehr gut beschrieben.
  • Erst jetzt ist in HA unter der MQTT-Integration das Gerät “open3e” sichtbar und alle aktivierten Datenpunkte als Entitäten nutzbar.

Und nun? Als erstes versuchte ich mit den neuen Datenpunkten die alten API-Entitäten nachzubauen. Das klappt auch soweit, bis auf das „Thermostat“, da die Entität mit „climate.“ Oder „water_heater.“ anfangen muss. Hier habe ich noch keine Lösung gefunden.

Ich habe gestern eine Raspi/Innomaker-Lösung in Betrieb genommen und CAN-L und CAN-H an den Pins 4 und 6 links unten an der Inneneinheit (von außen zugänglich) angeschlossen, kein GND. Kann das beim diesem Waveshare auch so machen?

Man kann es probieren, ohne Massebezug kann es zu Übertragungsfehlern kommen.
Hast du keinen GND Kontakt zur Verfügung? Das wäre eine wesentlich sauberere Lösung.

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

an dieser Stelle wird offenbar GND nicht mehr herausgeführt. Ich meine, irgendwo gelesen zu haben, dass abgeraten wurde, GND zu verbinden.

Immer wieder was neues :slight_smile:

Hast du die Version von 2021 oder die von 2024? Wenn deine Heizung neu ist, dann gibt es zumindest an dem Steckverbinder keinen GND mehr.