Während der Woche der Wärmepumpe haben Sie bundesweit die Möglichkeit, die innovative Wärmepumpentechnologie näher kennenzulernen. Mit über 50 Informationsveranstaltungen beteiligt sich Viessmann Climate Solutions an der Aktionswoche und lädt Sie herzlich ein – vor Ort oder online – dabei zu sein.
Mehr erfahren →
Moin ihr! 🙂
Optolink ist 'alt', aber noch in Benutzung (bei mir auch). Öfter gab es Anfragen zum Betrieb zu lokalen Zwecken aber trotzdem weiter das Vitoconnect für Viessmann Cloud/Vicare/Viguide/Vi.API/Garantieverlängerung zu benutzen. Dazu jetzt hier die benutzerfreundliche Lösung, natürlich wieder open-source und kostenlos:
Er verbindet euer Optolink Gerät auf total einfache Weise mit allem was das Herz begehrt.
Kein Gehassel mit komplizierter Einrichtung und irgendwelchen kryptischen xml's. Einfach nen Raspi, ein paar Python Module draufkopiert, Optolinkadapter und bei Bedarf das Vitoconnect angesteckt, ggf. noch ein paar Anpassungen in der Settings_ini (COM Ports, IP Adressen, MQTT Passwort, Poll-Liste, ...) und los.
viel Spass damit & Grüsse!
Phil 🖖
uih, das ist eine ungewöhnliche Device ID. normalerweise fängt das mit 20 an, die 204C 041A würde passen, ich denke, da ist irgendwas verrutscht. Das wäre dann
Vitocalxxx-A mit Vitotronic 200 (Typ WO1C) (ab 04/2012) | CU401B_A |
wie Frans schon passend vermutet hatte.
Dann sollten dank ihm ja deine Datenpunktadressen schon in der Excel Tabelle sein 🙂
ps. es gab grade wieder mehrere 3er Raspis für 20€ auf Kleinanzeigen. Einen sogar inkl Netzteil.
Vielen dank für dieses Projekt. Es scheint genau das zu sein wonach ich gesucht habe.
Seitdem es klar ist was für eine Heizung bei mir eingebaut wird (alte Viessmann Viola-biferral Ölheizung gegen eine neue Vitoladens 300-C Ölbrennwert) mit Vitoconnect OPTO2 hadere ich mit der richtigen Umsetzung und Einbindung in mein Home Assistant.
Bevor es Beschwerden gibt wieso ich noch eine Ölheizung einbaue - ist eine lange Geschichte, aber Fakt ist dass eine LWWP bei mir nicht wirtschaftlich wird. Laut Energieplan des Energieberaters wird lediglich ca. 1000€ im Jahr an Energieersparnis rumkommen und das bei erheblich höheren Investitionskosten. Da ich vermutlich nur ca. 20-25 Jahren in diesem Haus noch wohnen werde, haut das regnerisch für mich nicht hin. Und vermutlich werde ich nahezu 1000€ im Jahr Ölkosten einsparen schon alleine mit dem Wechsel von der alten Heizkessel auf eine neue sparsamere. Da ist die ca. 15.000€ für die Brennwertkessel vermutlich noch zu meinen Lebzeiten amortisiert. 😉 Na ja, ich wollte keine Grundsatzdiskussion über Wärmepumpen lostreten.
Zurück zum Thema. Ich wollte an meine VitoConnect auch noch die Viessmann Thermostate und Raumsensoren einsetzen und da bin ich auf Probleme bei der Integration in mein Home Assistant gestossen weil diese Geräte nur über die Premium API abgerufen werden können. Fand ich am Anfang merkwürdig warum die App alles anzeigen kann aber über API soll man zahlen. Ich denke es liegt am Ende an der Abfragelimits des Basis APIs. Nichts desto trotz ich würde schon gerne alles lokal abfragen können, aber ich vermute das wird auch mit dieser Lösung nicht gehen da es nur die Werte vom Kessel über Optolink abrufen kann. Oder können auch Werte der Einzelraumsteuerung des OptiConnects ausgelesen werden? Das wäre der Hammer. Aber ich vermute das geht nicht.
Da die erweiterte Garantie auf 5 Jahre die VitoConnect Anbindung erfordert, werde ich das schon noch einrichten. Und damit das eine Runde Sache ist mit der Heizung werde ich auch die Thermostate direkt an VitoConnect anbinden. Testweise habe ich ein paar Thermostate und einen Raumsensor direkt über Zigbee an Home Assistant angebunden. Das funktioniert und wäre eine Alternative für den Fall dass mir die ViCare Nutzung nicht passt oder wenn die Cloud häufiger Ausfälle haben sollte. Aber im ersten Schritt werde ich das als geschlossenes System in dem Viessmann Universum einrichten.
Dieses Projekt bietet mir zumindest die Möglichkeit parallel zumindest den Heizkessel lokal ohne Cloud zu steuern. Und da ich das gesamte Heizungssystem als geschlossene Einheit einrichten wollte, wollte ich mein VitoConnect über eine separate WLAN Access Point anbinden. LAN-Seitig würde ich mit DHCP an den vorhandenen Internet Router dran gehen und so wären Eigentümerwechsel oder Routertausch kein Problem für die Heizungsanlage. Dazu werde ich mit ein Pi Zero W ein Access Point bauen und direkt die Skripte für den Optolink Splitter integrieren.
Meine Hauptfrage erst mal vorab wäre, ob man mit dem Optolink Splitter irgendwie die Thermostate die am VitoConnect angebunden werden, auslesen oder gar steuern kann? Mein Hauptanliegen bzgl. der Thermostate in Home Assistant wäre diese beim Auslösen von Fensterkontakte zu steuern. Die integrierte "Fenster offen Erkennung" solcher Thermostate funktioniert in der Regel nicht. Zumindest nicht in Situationen wo die Thermostate nicht direkt im Luftzug des offenen Fensters steht. Da ist die Steuerung per Fensterkontakt zuverlässiger.
Egal ob ich an die Thermostate in Vicare ran komme, bin ich schon mal sehr froh, dass ich den Heizkessel lokal steuern kann im Notfall.
Moin Martin @ckpt-martin !
Du brauchst dich nicht rechtfertigen, dass du nicht den mit entsprechend Verlusten aus Gas- oder Kohlekraftwerken kommenden Strom verheizen willst 😉
Das mit den Vicare Thermostaten ist tatsächlich eine interessante Frage. Aber ich fürchte auch, dass man da nicht so einfch per Optolink dran kommt. Zumindest wüsste ich nicht, jemals irgendwelche darauf hinweisenden Datenpunkte gesehen zu haben. Aber es gibt ja noch jede Menge Services, von denen wir noch nie Gebrauch gemacht haben.
Das Opto2 Vitoconnect dient doch nur als 'Relaisstation'? oder ist da noch irgendeine Steuerungslogik drin? Oder ist die Steuerungslogik in den Thermostaten (dann müssten die sich ja irgendwie auf einen 'Master' einigen? geht natürlich)? Hast du diesbezöglich Plan?
Ich habe keine Ahnung, wie das konzeptionell aufgebaut ist, weil meine Thermostatventile eh nur selten in eine Situation kommen, in der sie regeln, und nach dem, was ich so an Rückmeldungen zu den Vicare Thermostaten gelesen habe, für mich klar war, dass mir die nie in's Haus kämen. Zumindest hast du das ja offensichtlich auch gelesen und weisst, was du tust.
Du scheinst ja nicht unversiert zu sein, und vielleicht finden wir ja zusammen eine Hintertür, aber ich fürchte wie gesagt, dass ein derartiger Kanal im Konzept nicht vorgesehen ist (die meisten Optolink Geräte sind ja aus einer Zeit, als es sowas wie Vicare noch garnicht gab) und entsprechend auch nicht existerit.
Sag Bescheid, wenn du eine Idee hast, was wir probieren könnten!
Grüsse!
Phil
Ich hatte den Treiber für die USB-Anbindung (CP210x USB zu UART-Bride) als Universaltreiber von SiliconLABs geladen, da das Parametrier-Laptop "Offline-Only" ist und mit Win7. Eventuell spielt da der Treiber nicht 100% so mit, wie er sollte.
Was ich mir aber überlegt habe,
ich werde den Laptop mal nutzen, um das Skript anzupassen (also die Settings zu durchzugehen) und das Skript mal dort lokal laufen zu lassen. Funktioniert das dann alles gut, kommt dann die Integration in eine VM an meinem Server oder eben ein Raspi.
Moin Phil,
vielen Dank für die Rückmeldung.
Also, was das Thema mit Home Assistant und die Smart Thermostaten bin ich in der Tat nicht ganz unversiert. 😉
Ich hatte halt überlegt, ob es nicht Sinn macht meine smarten Thermostaten gegen die von Viessmann zu tauschen wenn ich eh einen neuen Heizkessel bekomme wo es eine zugehörige Thermostatsteuerung (mittels OPTO2) gibt. Ich bin auch über das Thema "Hydraulische Abgleich 2.0" darauf gekommen, denn angeblich soll man mit den Thermostatköpfen in Verbindung mit der Heizkesselsteuerung auch einen hydraulischen Abgleich erzielen können ohne zusätzliche Ventile dafür einbauen zu lassen. Im Grunde kann der Heizkessel den Vorlauftemperatur basierend auf den Thermostat (bzw. Raum) das die höchste Temperatur benötigt entsprechend steuern. Also, wenn z.B. im Wohnzimmer 22 Grad Zieltemperatur ist (und dies ist die höchste eingestellte Temperatur im Haus), dann kann der VitoConnect den Vorlauftemperatur des Heizkessels entsprechend einstellen und die Thermostatköpfen regeln sodass alle auf ihre eingestellte Zieltemperatur kommen. Das ganze könnte ich theoretisch auch von Home Assistant steuern. Also, alle Thermostate an Home Assistant anbinden und entweder über die ViCare API oder über lokale Optolink den Heizkesseltemperatur regeln. Ich wollte aber möglichst das gesamte Heizsystem (Kessel und Thermostaten) autark laufen lassen damit ein Eigentümerwechsel oder sonstige Änderungen im Heimnetzwerk das Heizsystem nicht tangiert. Deshalb würde ich schon gerne die Thermostate direkt an VitoConnect anbinden und diese von Home Assistant nur überwachen (z.B. Raumtemperatur und Luftfeuchtigkeit anzeigen lassen) bzw. bei Bedarf eingreifen (z.B. eigene Fenster Offen Automation mittels Fensterkontakten umsetzen). Mehr mache ich auch heute nicht mit den existierenden Smart Thermostaten (AVM Fritz!DECT) innerhalb von Home Assistant.
Zu die Funktionsweise der ViCare Thermostaten. Diese sind Zigbee Geräte (Viessmann redet von Low-Power-Funk). Die VitoConnect OPTO2 bringt wohl ein Zigbee Coordinator mit. Also, können die Thermostaten entweder mit dem VitoConnect oder mit mein Home Assistant verbunden werden. Beides geht leider nicht. Die Optolink Verbindung vom VitoConnect und Heizkessel ist wohl nur für die Steuerung des Heizkessels vom VitoConnect aus. Deshalb gehe ich stark davon aus, dass der VitoConnect über den Optolink keine Infos über die Thermostate bzw. Einzelraumsteuerung über diese Verbindung übermittelt. Denn im Grunde ist es dem Heizkessel egal. Der VitoConnect steuert die einzelnen Komponenten über deren jeweilige Verbindungsart (Optolink bzw. Zigbee).
Es wäre aber interessant herauszufinden, ob der VitoConnect doch mehr Informationen über die Thermostate über Optolink zu entlocken ist und bestenfalls auch noch Befehle dafür entgegennimmt. Gehe ich aber nicht von aus.
Wenn es so ist wie ich vermut, dann kann ich über den Optolink nur den Heizkessel lokal (via Splitter) und remote (über die ViCare Cloud und VitoConnect) steuern kann. Die Thermostate kann ich aber dann nur von remote über die ViCare Cloud und ViCare App steuern. Eine lokale Steuerung ist da nicht gegeben (ausser das manuelle Drehen am Thermostat selbst). Und eine Möglichkeit mittels Home Assistant darauf Einfluss zu nehmen gäbe es auch nicht (zumindest nicht ohne den zu teueren Premium API).
Eine Sache was ich jedenfalls probieren will sobald mein System hier eingerichtet ist, ist einen man-in-the-middle Proxy zwischen der App und die Cloud bzw. zwischen VitoConnect und Cloud einzurichten und die Kommunikation zur Cloud anschauen. Denn wenn man vom Home Assistant die App Verbindung emulieren könnte anstatt über einen Dev API Nutzer zu gehen, dann könnte man ggf. an die Thermostate dran kommen ohne Premium AP. Denn die ViCare App hat die volle Kontrolle über die Einzelraumsteuerung. Es ist ziemlich blöd, dass man dafür eine Premium API Abo braucht um das zu machen was die App bereits kostenlos machen kann. Mir ist schon klar, dass das eigentlich an die Request Limits in der offiziellen API liegt. Die würde man bei der Einzelraumsteuerung sprengen. Aber die App kommt ran.
Ah, ich sehe du fragst wegen einen potenziellen "Master" bei den Thermostaten. Wenn man einen Raum hat mit mehr als einen Thermostat, dann ist wohl eine Logik im VitoConnect der die verschiedenen Temperaturen im selben Raum zusammenführt und daraus einen Raumtemperatur errechnet. Oder man verwendet ein separater Raumsensor ein. Dann wird diese so im Raum platziert dass dieser Temperatur den Raumtemperatur darstellt. Gerade bei grösseren Räumen macht das Sinn. Aber im Allgemeinen ist die gemessene Temperatur am Thermostatkopf wenig aussagekräftig und ein Raumsensor macht i.d.R. mehr Sinn.
Ich hoffe das hilft weiter für das Verständnis.
>> einen man-in-the-middle Proxy zwischen der App und die Cloud bzw. zwischen VitoConnect und Cloud einzurichten und die Kommunikation zur Cloud anschauen.
ich fürchte das wird dir nicht so einfach gelingen, weil die Kommunikation mit der Cloud (die ja durch's Internet geht) natürlich verschlüsselt ist. Wir haben zwar in der Viguide Schlüssel gefunden, aber ich fürchte, das sind nur die öffentlichen.
Kennst du dich mit Verschlüsselung aus, so dass wir da näher schauen könnten?!
Davon unabhängig sollten wir versuchen, das Vitoconnect a) mit dem normalen virtual_read durchzuscannen und b) mal die anderen Dienste 'da drauf anzusetzen'. das ist natürlich mit (mindestens) 2 Freiheitsgraden besetzt, weil wir zum Einen nicht wissen, welchen Service, und zum Anderen nicht, welche 'Adresse'...
Hallo,
vielleicht könnte man sich in den Low Power Funk der Thermostate einklinken??
Es gibt doch diese "VI Care Repeater"
Die scheinen universell zu funktionieren ohne dass man da die eigenen Low Power Funkt Zugangsdaten eingeben muss.
Vielleicht ist die Übertragung gar nicht verschlüsselt oder es gibt nur einen oder wenige Schlüssel.
Low-Power-Funk
– Übertragungsstandard IEEE 802.15.4
– Frequenzbereich MHz 2400 bis 2483,5 2
Da gibt es wohl Funkmodule für den Raspi.
nur so eine Idee...
Also, das wird nicht gehen. Das sogenannte „Low Power Funk“ ist eigentlich Zigbee. Ein Zigbee Gerät kann nur mit einem Coordinator verbunden. Und das wäre der VitoConnect OPTO2. Man kann die Geräte zwar an Home Assistant über Zigbee anbinden (habe ich auch testweise gemacht). Aber dann sind die Geräte nicht mit dem Vitoconnect verbunden.
Da ich beruflich in Cybersecurity unterwegs bin und mich auch mit Proxies (auch mit TLS Interception), weiß ich dass es eine theoretische Möglichkeit gibt die TLS Verbindung zu den ViCare Servern aufzubrechen und auch die Session Keys für die jeweilige Verbindung zu bekommen. Allerdings gibt es auch die theoretische Möglichkeit, dass die App die Verbindung über eine nicht vertraute Zertifikat (was man für die Interception braucht) nicht zulässt bzw. sogar Certificate Pinning macht (was das Aufbrechen ebenso verhindern würde). Ich muss es einfach mal probieren und sehe wie weit ich komme.
Dank der Optolink Splitter Software konnte ich dies in Homeassistant realisieren.
Das spart viel Auf- und Abstieg beim Einstellen der Wärmepumpe.
Hi Leute. Ich habe mich gerade gefragt, ob auf Basis des Optilink-Splitter evtl auch so etwas wie ein Crawler für die ganzen Adressen umzusetzen ist?
Also irgendein Tool, dem ich die abzuklappernden Optolink Adressbereiche + Längen und Skalierungen mitgebe und der diese dann abfragt und die Ergebnisse in eine File schreibt.
Somit ließen sich evtl relativ einfach auf gut Glück große Adressbereiche checken und man würde evtl Werte erhalten, die leichter zu interpretieren sind, als mit einem vitolog. erhalten?
Sind natürlich schon eine Menge Datenpunkte. Stecke fachlich leider nicht so drin und weiß nicht ob und durch was diese irgendwie begrenzt sind. Aber angenommen für alle [X] in 0x[X][X][X][X] wären alle Zahlen von 0-9 und alle Buchstaben von A-Z möglich, gäbe es knapp 1,3 Mio Datenpunkte. Plus das, was mit den unterschiedlichen Längen noch dazu kommt...
so ein 'Scanner' wie wir ihn mit open3e gemacht haben, ist mit optolink leider kaum möglich. es kann sein, dass auf eine virtual_read Anfrage zwar was kommt, das aber irgendwelche Speicher-Daten sind, die nichts mit einem 'Datenpunkt' zu tun haben, und auf der anderen Seite gibt es Datenpunkte, wie den 0x2500, der eine breite Kombination von Informatinen enthält, und der ausschliesslich mit einer Länge von 22(!) Bytes auszulesen ist, alle anderen Attempts auf den Speicherbereich / auf einzelne Infomationrn enden im Nirvana.
Die Variation von möglichen Kombinationen wäre also schon ganz schön groß, und die Zuordnung, ob man etwas Sinnvolles gelesen hat, und wenn ja dann was, wäre ein noch größeres Ratespiel...
Schade. Aber Danke für die Rückmeldung
Hi @HerrP ,
ich habe erste Tests mit dem Entschlüsseln der Verbindung zwischen App und Cloud gemacht. Die Kommunikation zwischen Optoconnect und Cloud wird wahrscheinlich nicht gehen da es keine Möglichkeit gibt dem Optoconnect Gateway einen Zertifikat zu verpassen das es vertraut. Aber beim Client (bzw. Smartphone) kann man das und demzufolge kann man die App Kommunikation entschlüsseln. Ich habe leider noch kein Optoconnect um weitere Tests zu machen (mein Heizkessel wird noch bald installiert).
Jedenfalls, konnte ich sehen, dass die App im Grunde eine eigene API Key (Client ID) erstellt. Und die OAuth Scope wird anders gesetzt als typischerweise bei einer normalen API Kommunikation. Ich habe diese OAuth Scope in meine Home Assistant PyViCare Modul angepasst und anstelle eines im Dev Portal generierten Client ID die Client ID von der App für die Home Assistant ViCare Integration verwendet und siehe da - die Installation der Integration war erfolgreich. Ohne das Ändern der OAuth Scope kam eine Fehler.
Mein Ansinnen wäre erst mal mit dieser Art der Implementierung in Home Assistant zumindest die Einschränkung der Basic API bzgl. der Einzelraumsteuerung zu umgehen. Also, damit ich die einzelnen Thermostate in Home Assistant integriert habe, ohne das Premium Abo zu beziehen. Ich will eigentlich nur mittels Fensterkontakte die entsprechende Thermostate abdrehen bzw. wieder aufdrehen. Also, ein erweiterter "Fenster offen" Erkennung. Dafür werde ich wohl nicht sehr viele API Aufrufe machen müssen (weshalb vermutlich die Einzelraumsteuerung standardmässig nur mir Premium Abo nutzbar ist). Ich will eigentlich nur die Funktionalität das ich in der App kostenlos zur verfügung habe, auch in Home Assistant. Andere Premium Funktionen will ich gar nicht.
Nur zur Info, ich habe mir mit einem Raspberry Pi ein WLAN Access Point für meine Heizung gebastelt und in diesem sowohl den Optolink Splitter als auch ein SSL Proxy (mitmproxy) installiert. So kann ich meine Viessmann über einen eigene Access Point von mein Heimnetz etwas abkoppeln (und vor allem unabhängig machen falls ich das Haus und die Anlage wieder verkaufe) und für Kommunkationstests nach bedarf einsetzen. Das ganze hat nur sehr wenig mit dem Optolink Splitter zu tun. Aber ich will über den Splitter den lokalen Zugriff auf mein Heizkessel zumindest haben auch wenn der Rest über die Cloud nur geht.
Hallo zusammen,
wer in diesem Thread schon bis hierhin gekommen ist, wird es wahrscheinlich nicht mehr brauchen. Egal... Ich hatte - wie ein paar Andere auch - so meine Schwierigkeiten, mein Hirn um den Optolink-Splitter herumzuwickeln.
Meine Erfahrungen mit Setup und Konfiguration habe ich jetzt für die Zielgruppe "Wohlmeinende Amateure" aufgeschrieben und ein Schritt für Schritt Tutorial in meinem Blog veröffentlicht: Viessmann ohne API
HerrP hat mir dankenswerterweise viel erklärt, ohne ihn hätte ich es nicht geschaftt bzw. die Lust verloren.
Viel Spaß damit
Chris
Benutzer | Anzahl |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |