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!
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
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
Ich hab’s bei mir als simplen Workaround gelöst: Wenn der Strompreis über den gesetzten Wert geht, setzt Home Assistant per SG-Ready die Sperre für die Wärmepumpe. Das Problem war, dass evcc denselben Ausgang nach kurzer Zeit wieder zurücksetzt. Deshalb triggere ich die Sperre aktuell einfach alle 5 Minuten neu. Das klappt erstaunlich gut, weil die WP nach so einem kurzen Wechsel nicht sofort wieder anläuft, sondern durch ihre internen Sperrzeiten/Hysterese erst mal träge bleibt. Ist also keine perfekte Luxuslösung, aber für teure Preisphasen funktioniert’s erstmal ganz brauchbar.
Hallo zusammen,
ich habe inzwischen meine Wärmepumpe (Vitocal 250-A) im Haus stehen und wollte direkt den CanBus-Adapter anschließen und per Raspberry Pi Zero darauf zugreifen, um die Werte letztendlich per mqtt in meinen Home Assistant zu bekommen. Dazu habe ich diesen USB2CAN Adapter.
Bin so vorgegangen: Sicherungen der WP raus, USB2CAN-Adapter an den unteren der beiden mit "91 CAN" beschrifteten Ports (in dem oberen steckt so ein Ding drin, vermutlich Terminator), Sicherungen der WP wieder rein und Pi Zero angeschaltet.
Beim Scan des Canbus hat open3e auch was gefunden, allerdings hat sich die Wärmepumpe seit dem Neustart geweigert, sich mit der Viessmann-Cloud zu verbinden. D.h. die ViCare App funktionierte nicht mehr. Wärmepumpe zeigt an, dass WLAN zwar verbunden ist, aber keine Verbindung zur Cloud. Ich dachte erst, das wird sich im Laufe des Tages wieder geben, dem war aber nicht so, so dass ich abends voller Angst, ich hätte meine neue Wärmepumpe kaputtgemacht, den Usb2Can Adapter wieder entfernt habe. Neustart der Wärmepumpe half nicht, erst nachdem ich sie 20 Minuten per ausgeschalteter Sicherung stromlos gemacht hatte, kam nach einem Neustart die Cloud-Verbindung wieder zustande (puuh...).
Was hab ich da falsch gemacht? Habe nun etwas Muffensausen, den Adapter wieder anzuschließen.
Konkret sieht es in der Anlage so aus:
Und vergrößert:
War doch richtig, den Adapter an den unteren 91er anzuschließen, oder?
Du kannst ihn normal an beiden 91 anschließen.
Ich habe aber diesen Adapter:
https://www.amazon.de/dp/B07Q812QK8?th=1
Vielleicht funktioniert es deswegen nicht?
Ich denke nicht dass die Unterbrechung der Verbindung zur Cloud damit zusammen hing.
Ich habe das Vorgänger Model der WP und hänge mit dem USB Adapter am gleichen CAN Kanal parallel mit der PV Anlage. Also mit am Systemverbund. Funktioniert alles einwandfrei.
Hi,
2 Ideen dazu:
pi zero könnte Ursache sein, siehe https://github.com/open3e/open3e/discussions/69 (Abfragen dauern zu lange..)
Oder Terminierung, jumper auf einem der Bilder von deinem Adapter
Wie ist die Verkabelung, also länge zw wp und Adapter? Wo wird terminiert - das "Ding" wie du schreibst ist für mich auf den Bildern nicht ersichtlich.
Prinzipiell, auf einem der beiden 91er anklemmen, fertig - bei rel kurzem Kabel (rd 5m) habe ich am can-adapter keine Terminierung aktiv.
Lg Thomas
die Adapter sind identisch - beides Innomaker, nur der eine hat ein Gehäuse, der andere nicht.
Bitte geh mal Schritt für Schritt vor. Erstmal open3e nicht starten, sondern nur den Status des CAN Busses abfragen mit
ip -details -statistics link show can0
bitte das Ergebnis mal posten!
Du sagtest "...hat open3e auch was gefunden" - was hat es denn gefunden? Du meinst depictSystem hat was gefuden, oder? gab es andere Messages als zu den gefundenen Datenpunkten?
eigentlich sollte der zweite Schritt sein, erstmal DID 256 von der Main ECU zu lesen mit
open3e -r 256 -v
um zu testen, ob die Kommunikation jetzt geht. depictSystem 'befeuert' den Bus einigermassen kräftig, das sollte man erst als 3. Schritt machen, wenn der zweite erfolgreich war.
Kannst du mal den Fehlerspeicher an der WP checken ob da irgendwas drin steht?
ps. solange du nich z.B. 230V auf den CAN Bus legst, kannst du eigentlich nix kaputt machen. Vertauschen von Hi und Lo kann die Kommunikation stören, aber das geht auch wieder weg, spätestens nach Aklemmen und ggf. neu Starten. So eine Störung steht gewöhnlich im Fehlerspeicher, deswegen meine Frage danach. Es kann schon sein, dass Viessmann nach einer andauernden Kommunikationsstörung erstmal ne Weile wartet, bis sie wieder "Verbindung aufnehmen".
Hi, im Systemverbund auf dem selben Can Kanal. Geht das auch mit einer BWWP 060 ? Wie muss man das konfigurieren? Danke
Wenn die Systeme verbunden sind (Technischer Dienst...) dann brauchst du garnix zu konfigurieren, einfach nur depictSystem lauufen lassen.
wenn sie nicht verbunden (und entsprechend konfiguriert) sind geht es nicht auf einem Bus.
Ich habe es nochmal neu angeschlossen, diesmal mit zwei Adern aus einem Netzwerkkabel (auch ohne Terminierung). Jetzt funktioniert es. Entweder mochte er die starreren Drähte aus einem Stromkabel, die ich vorher benutzt hatte, nicht, oder es lag daran, dass die Bitrate zu Start nicht richtig auf 250K konfiguriert war (ich glaube default war 500K) und dadurch einmalig das Kommunikations-Modul gestört wurde. Wer weiß...
Jedenfalls läuft es nun über den Pi Zero und ich habe über die open3e-ha Integration jede Menge Werte in Home Assistant. Was damit endlich geht, ist, die Zirkulationspumpe direkt zu schalten wie ich will, wunderbar.
Abgesehen davon würde mich interessieren, wozu ihr open3e sonst noch nutzt, um etwas zu steuern, was so über ViCare nicht geht. Bei den Paramtern, die ich da sonst setzen kann, ist kaum etwas dabei, was nicht auch über die Cloud Integration geht, wenn ich es richtig sehe. Oder gibt es noch "versteckte" manuelle Einstellungen, die open3e-ha nicht out-of-the-box bietet und die man in Home Assistant selber von Hand anlegen muss?
Ich habe z. B. bei meiner Vitocal 200-S anfänglich den Raumeinflussfaktor anhand meiner Fensterkontakte geändert. Das heißt, wenn ein Fenster länger offen war, habe ich den Raumeinflussfaktor zurückgenommen und beim Schließen mit Verzögerung wieder auf den ursprünglichen Wert gesetzt. Auch die Schaltdifferenz der Sparfunktion habe ich anhand der Raumtemperatur und Außentemperatur angepasst. Die Möglichkeiten sind hier schon groß und man kann sich mit gewissen Logiken hier ganz schön austoben. Aber es gibt einen Punkt, auf den ich irgendwann gestoßen bin, der mich dazu gebracht hat, alles wieder zurückzunehmen. Und zwar habe ich mal gelesen, dass gewisse Werte bzw. Datenpunkte in einen festen Speicher (EPROM) geschrieben werden. Dieser Speicher unterliegt ja einem gewissen "Verschleiß" bzw. sind die Schreibvorgänge begrenzt. Bei Fehlern in der Logik oder mehreren Änderungen in kurzer Zeit kommt hier schon einiges zusammen.
Ich weiß jedoch nicht, inwieweit das wirklich ein Problem wäre.
Vielleicht können die Profis hierzu einmal etwas sagen bzw. ihre Einschätzung dazu geben.
Aktuell nutze ich das Projekt umfangreich zur Datenauslesung.
Ich nutze zwar anstelle von open3e den ioBroker-Adapter e3oncan, aber damit sollte dasselbe machbar sein. Hier einmal ein paar Anregungen ..
Ich bin beide am testen aber bei e3oncan bekomme ich fast keine Daten , bei Open3e bekomm ich sehr viele Daten
Das kann ich nicht nachvollziehen. Der e3oncan-Adapter lässt bei mir kaum Wünsche offen. Ich fürchte, dass bei dir die Konfiguration nicht angemessen gelungen sein mag. Zur Not frage einmal bei dem Entwickler @Juergen-B nach. Meines Wissens liefern nämlich beide dieselben Daten.
Bei e3oncan bekomme ich nur die Smartmeter Daten
Dann stimmt definitiv bei dir etwas nicht, der e3oncan-Adapter baut schließlich auf open3e auf.
Ja, wie @galegro schreibt, nutzen open3e und ioBroker.e3oncan die gleichen Datenpunkt-Definitionen und das gleiche Übertragungsprotokoll. Wenn beide auf dem gleichen CAN-Bus arbeiten, sollten auch die gleichen Daten ausgelesen werden.
Wichtig: Nicht beide Programm gleichzeitig benutzten.
Welche Version von e3oncan verwendest Du? Wenn Du damit arbeitest und einen Geräte-Scan und einen Datenpunkt-Scan durchführst, was passiert da jeweils im Log des ioBrokers?
Ich weiß es nicht welche Version.
Will eigentlich nur ein Nodered Dashboard basteln mit der Vitocal meiner PV Anlage und meinem E Auto
an sowas dachte ich
Ja, sowas werde ich mir auch bauen. Aber im Wesentlich sind das alles Werte, die es auch über die ViCare-Integration gibt (via Cloud), bis auf die Bivalenzpunkte, die ich mit open3e-ha aber auch nicht einstellen kann. Von daher frage ich mich im Moment, ob sich der ganze Aufwand mit Raspberry Pi and CanBus-Anschluss überhaupt lohnt oder man doch besser einfach die ViCare-Integration nutzt. Denn die Zirkupumpe werde ich eh an eine smarte Steckdose statt an die Vitocal klemmen lassen, da bin ich dann noch flexibler.
Bei mir läuft sowieso ein Raspberry Pi für evcc und so, von daher hält sich der Aufwand gering
@grabu es gibt ein paar kleine aber feine Unterschiede zur 'Vicare-Integration'
Grüsse!
Und ob sich das lohnt! 😁
Wie @HerrP schreibt: Ständig wird an der App herumgebastelt. Oft ging wochenlang gar nichts mehr. Daten waren falsch oder kamen nicht mehr. Von den Möglichkeiten Datenpunkte zu schreiben, ganz zu schweigen. Verbindest du dich über den sog. internen CAN-Bus, werden weitere Datenpunkte schreibbar.
Und zu guter Letzt: Ich habe keine Lust für meine ureigenen Daten auch noch berappen zu müssen. Im Gegensatz zu dem Viessmann-Zeug arbeitet der Adapter von @Juergen-B weitaus zuverlässiger.
Moin, kannst du das noch etwas genauer erklären "überhaupt alle Datenpunkte lesbar (ok, teilweise abhängig auf welchem Bus) und nicht nur die, die Viessmann für Benutzer-tauglich erachtet"
was ist gemeint mit welcher Bus?
danke
@HomeAssistantCG Manche Geräte haben mehrere CAN-Busse. Das Innengerät der Vitocal 252 hat z.B. einen externen Bus für den Anschluss von VX3, Enerigezähler und ggf. weiteren Geräten. Außerdem hat sie einen internen Bus an dem das Außengerät angeschlossen ist. Da ein CAN nun Mal ein Bus ist, kann man an beiden Bussen grundsätzlich weitere Geräte anschließen (man sollte ein paar Ranbedingungen beachten).
Meines Wissens kann man im Fall der 252 an beiden Bussen die gleichen Datenpunkte abrufen, es gibt aber kleine Unterschiede, welche Datenpunkte jeweils verändert werden können.
Sehr viele Infos zum Thema gibt es es auf den open3e Projektseiten. Eine Übersicht der verfügbaren Datenpuntke über alle Geräte gibt es hier.
@Marc_O Kennst Du den inneren Hardware-Aufbau und weisst, welche Daten auf einem EEPROM abgelegt werden? Die persistenten Daten könnten doch genausogut auf einer SSD oder einem anderen Flash-Speicher liegen, oder?
Open3e ist die Version 0.5.10
E3oncan lässt sich die Version bei mir nicht auslesen.
| Benutzer | Anzahl |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |