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
@qwert089 Danke für deine Nachricht. Nur was ist die E3-Steuerung und wie erkenne ich dies(e)?.
Danke im Voraus!
In.einh. Vitocal 222-S AWBT-E-AC 221.C16
Ausseneinheit 2XX-S 9kW 400V
Vitosoft 300 SID1, Softwareversion 8.0.6.2
Vitoconnet OPTO2
Inbetriebnahme 16.10.2023
Hersteller-Nr.: 7733747204052120
Hallo @Jonny_Holly
Ihre WP verfügt über eine Vitotronic 200 WO1C-Regelung. Neuere E3- oder One Base-Regelungen haben keinen Optolink mehr, sondern ein komplett neues Design und ein bereits integriertes Kommunikationsmodul.
Die Bedienungsanleitungen für beide Regelungstypen lege ich bei.
VG
also ran an die IR Dioden @Jonny_Holly 😁 den Link hat ja qwert schon gepostet. da sind auch schon so einige Leute mit Wärmepumpe. und den Adapter hast du ja schon vom Opto2 (das kannst du trotzdem weiter benutzen wenn du magst).
Vielleicht hat's schon jemand gepostet, dann sorry, aber ich gerade drueber gestolpert: in den neueren Linux-Kernel wurde ein Patch eingebaut, der prueft, ob ein can-Device die restart-ms-Option ueberhaupt unterstuetzt. Und wenn nicht, dann fuehrt eine Zeile wie "/bin/ip link set can0 type can restart-ms 100" zu der Fehlermeldung "Error: Device doesn't support restart from Bus Off." Da SuSE immer eine Menge patches backported, ist der gerade in meinem Kernel gelandet und meine Scripte wollten nicht mehr. Bei wem das also irgendwann mal passiert, der entfernt einfach die Anweisung zum automatischen restart (denn sie funktioniert ja dann eh nicht :-))
Hallo Gemeinde,
ich verwende den CAN-Bus nun schon über 18 Monate, mit dem gestrigen Debian Update wird der CAN-Bus-USB-Adapter aber nach einem Reboot nicht mehr aktiv gestartet.
Hier mal meine Config
Ich habe die Datei /etc/systemd/network/80-can.network mit dem nachfolgenden Inhalt.
####################################
[Match]
Name=can*
#[Link]
#RequiredForOnline=no
[CAN]
BitRate=250000
RestartSec=100ms
####################################
sudo systemctl restart systemd-networkd
(.open3e) christopheradm@CAN-2-USB:~/open3e$ ip -details link show can0
3: can0: <NOARP,ECHO> mtu 16 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 10
link/can promiscuity 0 allmulti 0 minmtu 0 maxmtu 0
can state STOPPED restart-ms 0
bitrate 250000 sample-point 0.875
tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1 brp 12
gs_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp_inc 1
clock 48000000 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536 parentbus usb parentdev 1-1:1.0
sudo systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-09-08 10:24:26 CEST; 27s ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
man:org.freedesktop.network1(5)
Main PID: 588 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 2300)
Memory: 1.5M
CPU: 36ms
CGroup: /system.slice/systemd-networkd.service
└─588 /lib/systemd/systemd-networkd
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: ens18: Link UP
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: ens18: Gained carrier
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: lo: Link UP
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: lo: Gained carrier
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: ens18: Gained IPv6LL
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: Enumeration completed
Sep 08 10:24:26 CAN-2-USB systemd[1]: Started systemd-networkd.service - Network Configuration.
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: can0: Configuring with /etc/systemd/network/80-can.network.
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: can0: Failed to set CAN interface configurations: Device doesn't support restart from Bus Off. Operation not supported
Sep 08 10:24:26 CAN-2-USB systemd-networkd[588]: can0: Failed
Wenn ich auf der CLLI den nachfolgenden Befehl absetzte, wird das Interface UP und funktioniert.
christopheradm@CAN-2-USB:~$ sudo ip link set up can0
christopheradm@CAN-2-USB:~$ sudo systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-09-08 11:20:34 CEST; 40s ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
man:org.freedesktop.network1(5)
Main PID: 578 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 2300)
Memory: 1.5M
CPU: 36ms
CGroup: /system.slice/systemd-networkd.service
└─578 /lib/systemd/systemd-networkd
Sep 08 11:20:34 CAN-2-USB systemd-networkd[578]: lo: Link UP
Sep 08 11:20:34 CAN-2-USB systemd-networkd[578]: lo: Gained carrier
Sep 08 11:20:34 CAN-2-USB systemd-networkd[578]: ens18: Gained IPv6LL
Sep 08 11:20:34 CAN-2-USB systemd-networkd[578]: Enumeration completed
Sep 08 11:20:34 CAN-2-USB systemd[1]: Started systemd-networkd.service - Network Configuration.
Sep 08 11:20:34 CAN-2-USB systemd-networkd[578]: can0: Configuring with /etc/systemd/network/80-can.network.
Sep 08 11:20:34 CAN-2-USB systemd-networkd[578]: can0: Failed to set CAN interface configurations: Device doesn't support restart from Bus Off. Operation not supported
Sep 08 11:20:34 CAN-2-USB systemd-networkd[578]: can0: Failed
Sep 08 11:21:11 CAN-2-USB systemd-networkd[578]: can0: Link UP
Sep 08 11:21:11 CAN-2-USB systemd-networkd[578]: can0: Gained carrier
Hat hier einer eine Idee, wie ich dies gelöst bekomme?
Danke für die Unterstützung.
Lieben Gruß Christopher
Hi
nachdem mir mein Heizungsbauer mitgeteilt hat, dass er am 18.09. meine Vitocal 250 a10 auf 2509 geupdated hat, wollte ich beobachten, ob Veränderungen beim Betrieb der Wärmepumpe festzustellen sind.
Ich greife seit Februar 2025 Daten von der Bus Schnittstelle mittels usb2can Adapter ab und übertrage sie mittels raspberry und e3oncan in den iobroker, wo sie teilweise mittels flot visualisiert werden.
Seit dem Update bzw. seit dem letzten Statusänderungen vor dem Update (letzte Warmwasserbereitung davor erfolgte am 16.09., Heizung bis heute noch aus) scheinen die Daten nicht mehr zuverlässig übertragen zu werden.
Hier ein Flot Screenshot der letzten Tage und dazu ein Screenshot aus der vicare App. Im Flot wird die Warmwasserbereitung vom 19.09. und der "Testbetrieb des Heizkreises" von heute 21.09. nicht angezeigt.
Auch bei Betrachtung der "live Werte" im iobroker unter Objekte/e3oncan/json/2346 CompressorSpeedPercent zeigte immer nur den Wert "0". Obwohl der Kompressor lief.
Hat einer eine Idee, was hier falsch läuft? Hat das vielleicht nichts mit dem Update zu tun, sondern ein ganz anderes Problem mit dem Adapter, dem raspberry oder iobroker?
Einen Tipp was ich kontrollieren könnte?
Viele Grüße
Tobias
Hallo zusammen,
meine Installation läuft inzwischen, und ich kann bereits verschiedene Werte der Wärmepumpe auslesen, das funktioniert bislang sehr zuverlässig.
Vielen Dank an open3E!
Meine Frage: Kann ich auch Werte schreiben, also aktiv ändern?
Konkret geht es mir um:
Vorlauftemperatur Warmwasser (WW)
Vorlauftemperatur Heizung (Heizen/Kühlen)
Umschalten der Betriebsart (WW / Heizen / Kühlen)
Betrieb ausschließlich mit dem Durchlauferhitzer der WP (nur Heizen bzw. nur WW)
Ich hätte erwartet, dass Viessmann hierfür eine Möglichkeit anbietet, aber IoT kennen die nicht.
Das Schreiben ist grundsätzlich möglich. Hier hilft wohl nur: einfach ausprobieren.
Hintergrund ..
Einige Datenpunkte können nur über den internen CAN-Bus geschrieben werden, einige sind verschlüsselt und mithin (noch) nicht zugänglich.
hallo @mike4534 !
Die Vorlauftemperatur ist read-only. Der Sollwert für die VL Temp wird von der Steuerung berechnet aus diversen Faktoren wie Heizkennlinie, Betriebsmodus, WW Anforderung und Überhöhung dabei, ... Die bedingenden Parameter lassen sich normalerweise mit open3e schreiben. Bei Gasthermen gibt es einen "Konstant-Temperatur Betrieb", da kann man das VL Temp Soll einstellen, ich weiss aber nicht, ob es sowas auch bei WPs gibt.
Die Betriebsart kannst du definitiv schreiben.
Betrieb ausschließlich mit Durchlauferhitzer bin ich mir jetzt grad nicht sicher, ob das technisch überhaupt von Viessmann vorgesehen ist, aber vielleicht wissen da andre WP Betreiber was zu (ich hab nur ne Optolink Gastherme...)
Grüsse!
@HerrP schrieb:
.. Bei Gasthermen gibt es einen "Konstant-Temperatur Betrieb", da kann man das VL Temp Soll einstellen, ich weiss aber nicht, ob es sowas auch bei WPs gibt.
Die Betriebsart kannst du definitiv schreiben.
Wir haben eine Wärmepumpe. Wir können die Betriebsart nur über den internen CAN-Bus steuern, ansonsten müssen wir dies über das Display an der Wärmepumpe vornehmen.
Allerdings scheint das Ganze so gut wir überhaupt nicht zu funktionieren. Hier kannst du meine traurigen Erfahrungen mit dem Zeug (ökonomisch, alternativ, ..) nachlesen.
ok, danke für den Hinweis mit Betriebsart und internem Bus (den kann open3e ja).
dass was in der Viessmann Software nicht funktioniert ist ja leider kein Einzelfall, und da ist auch open3e dann ziemlich machtlos...
Eigentlich möchte ich keine Regelung der WP.
Mir ist die Außentemperatur egal, Heizkennlinen oder oder
Ich gebe die Zieltemp. vor und die WP soll dann z.B. das Heizungswasser auf 30 Grad fahren.
Fertig.
Aber ich sehe das wird nicht einfach etwas werden 😞
Frage micht ob ich die Sollttemp. vorgeben kann.
Dann greife ich in die Regelung ja nicht ein.
Solltemp. Heizung (Heizen/Kühlen)
Umschalten der Betriebsart (WW / Heizen / Kühlen)
Betrieb ausschließlich mit dem Durchlauferhitzer der WP (nur Heizen bzw. nur WW)
Das würde auch völlig reichen.
Hallo,
>>Solltemp. Heizung
du könntest eine sehr hohe Heizkurve einstellen und dann die Kodierung für die Begrenzung der VL Temp verändern.
>>Betrieb ausschließlich mit dem Durchlauferhitzer der WP (nur Heizen bzw. nur WW)
den Notbetrieb kann man so viel ich weis über den CAN Bus aktivieren
@mike4534 die Solltemperatur des WW kannst du natürlich einfach vorgeben. Du hattest oben aber von der Vorlauftemperatur Warmwasser gesprochen. Die kannst du nur "indirekt" vorgeben weil die sich gewöhnlich aus WW Soll und Überhöhung bei WW Bereitung ergibt (bei Gasthermen, ich denke bei WP auch).
Vorlauf-Soll Temp beim Heizen (/Kühlen) wird eben ständig von der Regelung ge/überschrieben, das kannst du glaubbich nicht verhindern (ausser "indirekt" mit irgendwelchen Tricks wie von @qwert089 dargestellt).