{"id":2962,"date":"2024-10-17T11:00:38","date_gmt":"2024-10-17T09:00:38","guid":{"rendered":"https:\/\/www.rustimation.eu\/?p=2962"},"modified":"2026-03-02T11:29:16","modified_gmt":"2026-03-02T10:29:16","slug":"viessmann-ohne-api-optolink-splitter-1","status":"publish","type":"post","link":"https:\/\/www.rustimation.eu\/index.php\/viessmann-ohne-api-optolink-splitter-1\/","title":{"rendered":"Viessmann ohne API &#8211; Optolink Splitter (1)"},"content":{"rendered":"<p><strong>Letztes Update: <\/strong>Januar 2026<\/p>\n<p>Immer wieder taucht bei <a href=\"https:\/\/community.viessmann.com\" target=\"_blank\" rel=\"noopener\">community.viessmann.com<\/a>\u00a0 und anderen einschl\u00e4gigen Foren der Wunsch auf, seine Viessmann Ger\u00e4te ohne die ViCare API zu \u00fcberwachen und zu steuern. Wie <a href=\"https:\/\/www.rustimation.eu\/index.php\/a-viessmann-api-und-node-red\/#Alternative_lokale_Anbindungen\" target=\"_blank\" rel=\"noopener\">hier<\/a> schon beschrieben, gibt es inzwischen funktionierende L\u00f6sungen, die lokal und direkt &#8211; also ohne den Umweg \u00fcber die Viessmann Server &#8211; mit dem Viessmann Ger\u00e4t kommunizieren.<\/p>\n<p>Eine davon ist der <strong>Optolink-Splitter<\/strong>, den Phil, der <a href=\"https:\/\/community.viessmann.de\/t5\/Konnektivitaet\/Optolink-Switch-Splitter-Vitoconnect-MQTT-amp-TCP-IP\/td-p\/439982\" target=\"_blank\" rel=\"noopener\">Viessmann User HerrP,<\/a> entwickelt hat. Diese L\u00f6sung wendet sich an die Betreiber von Viessmann Heizungen etc., welche \u00fcber die Optolink Schnittstelle und das VitoConnect K\u00e4stchen ausgelesen und ferngesteuert werden. Auf technisch anspruchsvollem Niveau ist der Optolink Splitter bei Github unter <a href=\"https:\/\/github.com\/philippoo66\/optolink-splitter\/\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/philippoo66\/optolink-splitter\/<\/a> beschrieben. In Abstimmnung mit Phil habe ich nachfolgend eine auch f\u00fcr den geneigten Amateur nachvollziehbare Anleitung verfasst:<\/p>\n<h2>\u00dcberblick<\/h2>\n<p>Weil mich die dauernden Ausf\u00e4lle der Viessmann Server Infrastruktur genervt haben und \u00fcber die ViCare API auch nicht alle interessanten Werte geliefert werden &#8211; oder wenn, dann nur mit Abokosten &#8211; habe ich das Ganze mal ausprobiert und meine Erfahrungen hier aufgeschrieben.<\/p>\n<p><!--more--><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #808080;\">Die neueren Ger\u00e4te der OneBase (3E) Generation k\u00f6nnen diese L\u00f6sung nicht einsetzen. F\u00fcr diese gibt es aber open3e als lokale Anbindung. Informationen gibt's bei der <span style=\"color: #ffcc00;\"><a style=\"color: #ffcc00;\" href=\"https:\/\/community.viessmann.de\/t5\/Konnektivitaet\/CAN-Bus-Home-Automation-E3-Generation-lokal-und-kostenlos\/td-p\/356066\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #800000;\">Viessmann Community<\/span><\/a><\/span> und\/oder <span style=\"color: #800000;\"><a style=\"color: #800000;\" href=\"https:\/\/github.com\/open3e\/open3e\" target=\"_blank\" rel=\"noopener\">Github.<\/a><\/span><\/span><\/p>\n<p>Das Tolle am Splitter ist, dass er <strong>optional<\/strong> zusammen mit VitoConnect funktioniert! Wegen Garantieverl\u00e4ngerung und\/oder Anbindung an den Servicebetrieb will man VitoConnect ja oft weiter nutzen.<\/p>\n<p>Im Prinzip wird der Splitter (Raspberry Pi mit Python Skript) zwischen das Optolink Anschlusskabel und das VitoConnect geh\u00e4ngt. Der Splitter empf\u00e4ngt Daten vom Ger\u00e4t, verarbeitet sie und schickt sie quasi gleichzeitig unver\u00e4ndert weiter an VitoConnect. F\u00fcr die Senderichtung funktioniert das umgekehrt.<\/p>\n<p><a href=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/optolink_disclaimer-e1730199916608.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3116 size-full\" src=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/optolink_disclaimer-e1730199916608.png\" alt=\"\" width=\"770\" height=\"221\" srcset=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/optolink_disclaimer-e1730199916608.png 770w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/optolink_disclaimer-e1730199916608-300x86.png 300w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/optolink_disclaimer-e1730199916608-768x220.png 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/a><\/p>\n<h3>\u00dcberblick<\/h3>\n<h4>Vorteile<\/h4>\n<p>Der wesentliche Vorteil ist, dass man sich lokal mit dem Viessmann Ger\u00e4t\u00a0 verbinden kann ohne, dass irgendwelche Viessmann Server angesprochen werden m\u00fcssen. Das ist deutlich betriebssicherer. Viessmann Server sind gerne einmal offline.<\/p>\n<p>Die Abfrage wesentlicher Betriebsparameter kann deutlich schneller bzw. h\u00e4ufiger erfolgen. Aufgrund der limitierten Abrufzahl bei der API habe ich bisher ein Abfrageintervall von 90 Sekunden gehabt, mit Optolink 30 Sekunden. Auch hat Viessmann einige Werte aggregiert und nur in gr\u00f6\u00dferen Abst\u00e4nden upgedated &#8211; Au\u00dfentemperatur, Speichertemperatur etc. Das ist nicht immer hilfreich.<\/p>\n<p>Wer sehr viel tiefer einsteigt, kann m\u00f6glicherweise auch Werte abfragen, die Viessmann sonst nur per kostenpflichtigem Abo anbietet.<\/p>\n<p>Basiswerte lassen sich sehr viel einfacher mit Node-Red verarbeiten, da lediglich ein <em>MQTT- In Node<\/em> ben\u00f6tigt wird. Heizkurven, Zeitprogramme etc. sind generell schwierig zu verarbeiten, egal, ob mit der API- oder Optolink- Schnittstelle. Das machte ich tats\u00e4chlich noch \u00fcber die App, da ich nur selten etwas daran verstelle.<\/p>\n<h4>Nachteile<\/h4>\n<p>Zun\u00e4chst einmal ist der Optolink-Splitter keine Triviall\u00f6sung. Es wird direkt auf Hexadezimalwerte im\u00a0 internen Speicher der Steuereinheit (ab VitoControl 200 aufw\u00e4rts) zugegriffen. Auch war die Optolink Schnittstelle nie daf\u00fcr gedacht, vom Ger\u00e4tebetreiber oder Endkunden genutzt zu werden. Es gibt daher so gut wie keine \u00f6ffentlich zug\u00e4ngliche Dokumentation. Was es gibt, ist noch nicht vollst\u00e4ndig und per Reverse-Engineering herausgefunden. In manchen F\u00e4llen artet der Umgang damit in ein Such- und Ratespiel aus. Da der Nutzerkreis derzeit \u00fcberschaubar ist, bekommmt man aber prima Hilfestellung im <a href=\"https:\/\/github.com\/philippoo66\/optolink-splitter\/discussions\" target=\"_blank\" rel=\"noopener\">Diskussionsbereich<\/a> der github Projektseite.<\/p>\n<p>Es spricht nichts dagegen, die ganze Sache einmal auszuprobieren. Phils Software kann direkt eingesetzt werden ohne Kompilieren oder andere Komplexit\u00e4ten. Etwas technisches Verst\u00e4ndnis, etwas Erfahrung im Umgang mit Linux (Raspberry Pi Command Line Interface via Putty o.\u00e4.), Minimalkenntnisse in Python und dem Nano-Editor oder anderen sind schon n\u00f6tig. Ferner detektivisches Gesp\u00fcr und Durchhalteverm\u00f6gen zum Ermitteln der relevanten Datenpunkte f\u00fcr dein Ger\u00e4t. Leider ist das nicht ganz Plug &amp; Play.<\/p>\n<p>Was man auch beachten sollte: F\u00e4llt der Optolink Splitter aus &#8211; sei es wegen Fehlkonfiguration der Parameterdatei, einem Systemh\u00e4nger oder Hardwarefehler &#8211; funktioniert weder die ViCare App noch die API. Da ich oft keinen direkten Zugriff auf das Maschinchen habe, h\u00e4ngt der Raspberry Pi bei mir an einem Shelly WiFi Stecker, um ihn nach einem Systemabsturz ferngesteuert neu zu starten. Wenn ich nicht vor Ort bin, erfolgt der Zugriff \u00fcber einen <a href=\"https:\/\/www.rustimation.eu\/index.php\/reverse-ssh-tunnel-schritt-fur-schritt\/\" target=\"_blank\" rel=\"noopener\">Reverse SSH Tunnel<\/a>.<\/p>\n<p>N.B. Ich habe Vor- und Nachteile f\u00fcr mich abgewogen und habe mein Node-Red Viessmann Dashboard komplett auf den Splitter umgebaut.<\/p>\n<h2>Setup &#8211; Schritt f\u00fcr Schritt Anleitung<\/h2>\n<p>Die Optolink Splitter Dokumentation auf <a href=\"https:\/\/github.com\/philippoo66\/optolink-splitter\" target=\"_blank\" rel=\"noopener\">Github<\/a> ist gut aber etwas puristisch und f\u00fcr Laien nicht immer leicht nachzuvollziehen. Ich versuche in diesem und zwei weiteren Kapiteln, eine sequentielle (Schritt f\u00fcr Schritt) Anleitung zu formulieren, mit der auch wohlmeinende Amateure zurecht kommen.<\/p>\n<h3>Hardware Installation<\/h3>\n<p>Ich gehe jetzt einmal davon aus, dass ein Raspberry Pi vorhanden ist. Schlie\u00dflich haben sich die meisten von euch schon mit der Viessmann API rumgeschlagen und eventuell auch meine Node Red Anleitungen dazu befolgt. Ferner empfehle ich, mit dem Usernamen \"Pi\" zu arbeiten.<\/p>\n<p>Der Optolink-Splitter belastet den Raspberry Pi nur minimal, kann also locker auch auf dem evtl. vorhandenen \"Viessmann API Pi \" installiert werden.<\/p>\n<p>Will man VitoConnect weiter nutzen, muss ein kleines, kosteng\u00fcnstiges <a href=\"https:\/\/www.google.com\/search?q=cp2102+usb+ttl\" target=\"_blank\" rel=\"noopener\">Zusatzboard<\/a> (CP2102 TTL-USB Wandler) an die GPIO Leiste des Raspberry Pi angesteckt werden. Gibt's z.B. bei Amazon.<\/p>\n<p><a href=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/USBTTL.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2964\" src=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/USBTTL.png\" alt=\"\" width=\"236\" height=\"233\" \/><\/a>Das Board wird wie folgt mit drei Kabeln an den Raspberry Pi angesteckt:<\/p>\n<p><a href=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/GPIO.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2965\" src=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/GPIO.png\" alt=\"\" width=\"209\" height=\"97\" \/><\/a><\/p>\n<p>Einen \u00dcberblick \u00fcber die Anschl\u00fcsse der GPIO Leiste <a href=\"https:\/\/www.elektronik-kompendium.de\/sites\/raspberry-pi\/2002191.htm\" target=\"_blank\" rel=\"noopener\">gibt's hier<\/a>. Die Pins 3V3 und +5V des CP2102 bleiben frei und werden nicht mit dem Raspi verbunden.<\/p>\n<p>Wenn kein VitoConnect vorhanden ist &#8211; und damit auch kein Optolink Kabel, dann ben\u00f6tigt man zus\u00e4tzlich die <a href=\"https:\/\/www.loebbeshop.de\/viessmann\/ersatzteil\/anschlussleitung-usb-optolink-7856059\" target=\"_blank\" rel=\"noopener\">Viessmann Optolink Anschlussleitung<\/a>, die am Display des VitoControl in das \"V\" gesteckt wird &#8211; Kostenpunkt ca. 60\u20ac. Das andere Ende kommt in einen freien USB Anschluss des Raspi.<\/p>\n<p>Die CP2102 Schnittstelle wird entweder direkt in das VitoConnect K\u00e4stchen gesteckt oder \u00fcber ein USB-A Verl\u00e4ngerungskabel damit verbunden<\/p>\n<h3>HW Konfiguration<\/h3>\n<p>Der Raspberry Pi muss jetzt noch gesagt bekommen, dass die Pins 8 und 10 k\u00fcnftig als serielle Schnittstelle genutzt werden. Daf\u00fcr auf dem Raspberry Pi mit Putty oder einem anderen Terminalprogramm einloggen und\u00a0 <span class=\"lang:default decode:true crayon-inline\">sudo raspi-config<\/span> eingeben.<\/p>\n<p>Dann auf <span class=\"lang:default decode:true crayon-inline \">3 Interface Options<\/span>\u00a0 gehen und dort <span class=\"lang:default decode:true crayon-inline\">6 Serial Port<\/span>\u00a0 ausw\u00e4hlen. Dann die Frage \"<em>Would you like a login shell to be accessible over serial?<\/em>\" mit <em>Nein<\/em> beantworten und die dann folgende Frage \"<em>Would you like the serial port hardware to be enabled?<\/em>\" mit <em>Ja<\/em> beantworten.<\/p>\n<p>Das war's auch schon, was die Hardwareseite angeht.<\/p>\n<h3>SW Installation<\/h3>\n<p>Der Vollst\u00e4ndigkeit halber beschreibe ich zuerst noch die f\u00fcr den Einsatz des Splitters n\u00f6tige MQTT Tools, da dies der h\u00e4ufigste Zugangsweg zu den Daten ist. Wer das schon hat und nutzt kann das Kapitel \u00fcberlesen.<\/p>\n<h4>MQTT Tools<\/h4>\n<p>Solltet ihr noch keinen MQTT Broker haben, so empfehle ich den Broker Mosquitto. Eine sehr verst\u00e4ndliche Anleitung findet ihr im <a href=\"https:\/\/www.elektronik-kompendium.de\/sites\/raspberry-pi\/2709041.htm\" target=\"_blank\" rel=\"noopener\">Elektronik-Kompendium<\/a>. Ich muss f\u00fcr meinen Artikel ja nicht das ganze Internet abschreiben&#8230; Der Broker sorgt daf\u00fcr, dass die Nachrichten (Messwerte), welche der Optolink Splitter erzeugt, sp\u00e4ter von Node Red oder eurer Hausautomatisierung empfangen werden k\u00f6nnen.<\/p>\n<p>Allen, die sich mit MQTT noch nicht auskennen, empfehle ich den kostenlosen MQTT Online Videokurs von <a href=\"https:\/\/haus-automatisierung.com\/hardware\/fhem\/2017\/02\/13\/fhem-tutorial-reihe-part-26-esp8266-arduino-mqtt-temperatur-an-fhem.html\">haus-automatisierung.com<\/a> \u2013 Matthias Kleine hat eine ganze Reihe sehr guter und hochprofessioneller Tutorials zum Thema IoT geschrieben bzw. gedreht. Ich kann ihm dabei mit meinem kleinen Blog kaum das Wasser reichen.<\/p>\n<p>Hat man MQTT installiert, braucht man noch einen MQTT Client zum Testen und Ausprobieren. Ich empfehle den kostenlosen <a href=\"https:\/\/mqtt-explorer.com\" target=\"_blank\" rel=\"noopener\">MQTT-Explorer<\/a>.<\/p>\n<h4>Optolink Splitter und Python Libraries<\/h4>\n<p>Zun\u00e4chst einmal ziehen wir uns die Software direkt auf den Raspberry Pi. In unserem Heimatverzeichnis geben wir ein: <span class=\"lang:default decode:true crayon-inline\">wget https:\/\/github.com\/philippoo66\/optolink-splitter\/archive\/refs\/heads\/main.zip<\/span><\/p>\n<p>Das Herunterladen des ZIP Files ist meines Erachtens am einfachsten, da man sich nicht mit \"<em>git<\/em>\" herumschlagen muss.<\/p>\n<p>Das Zip File wird mit <span class=\"lang:default decode:true crayon-inline \">unzip main.zip<\/span> entpackt und dadurch im Home Directory in ein Verzeichnis namens <em>~\/optolink-splitter-main<\/em> geschrieben. Das ZIP File kann anschlie\u00dfend mit <span class=\"lang:default decode:true crayon-inline \">rm main.zip<\/span>\u00a0 gel\u00f6scht werden.<\/p>\n<p>Der Optolink Splitter besteht aus einer Reihe von Python Skripten. Wir m\u00fcssen aber sp\u00e4ter\u00a0 nur die Konfigurationsdatei <em>~\/optolink-splitter-main\/settings_ini.py<\/em> bearbeiten.<\/p>\n<p>Wir ben\u00f6tigen ein m\u00f6glichst aktuelles Betriebssystem, das wir mit <span class=\"lang:default decode:true crayon-inline\">sudo apt update &amp;&amp; apt upgrade<\/span> aktualisieren. Ferner brauchen wir die Python Libraries f\u00fcr MQTT und die serielle Schnittstelle.<\/p>\n<p>Bei neueren Versionen des Raspberry Pi OS (bookworm ff.) kann man die Python Libraries nicht mehr direkt mit pip installieren, sondern muss das in einer virtuellen Umgebung machen. Ich find's unpraktisch (<a href=\"https:\/\/www.rustimation.eu\/index.php\/python-das-externally-managed-environment-problem\/\">siehe auch hier<\/a>) aber Phil sagt, dass die Virtualisierung durchaus hilfreich ist und f\u00fcr stabilere Verh\u00e4ltnisse sorgt.\u00a0 Installiert man die Libraries einfach so, gibt es eine Fehlermeldung <span class=\"lang:default decode:true crayon-inline\">510 error: externally\u2010managed\u2010environment \u2010\u2010 venv<\/span><\/p>\n<p>Wie man die zwei Libraries in einer virtuellen Umgebung installiert, hat <a href=\"https:\/\/github.com\/philippoo66\/optolink-splitter\/wiki\/510-error:-externally%E2%80%90managed%E2%80%90environment-%E2%80%90%E2%80%90-venv\" target=\"_blank\" rel=\"noopener\">Phil hier sehr gut beschrieben<\/a>.<\/p>\n<p>Wenn nach den ersten Tests alles l\u00e4uft, haltet euch an die dort stehende Anleitung zum Starten des Splitters als Service &#8211; wir wollen das Programm ja nicht immer von Hand aufrufen. Zuerst einmal reicht es aber, das Programm von Hand zu starten wenn das folgende Thema abgearbeitet ist.<\/p>\n<h4>settings_ini.py<\/h4>\n<p>Im Repository ist die Datei settings_ini.py nicht vorhanden. Um sie zu bekommen, einfach mit <span class=\"lang:default decode:true crayon-inline \">cp settings_ini.py.example settings_ini.py<\/span> die Beispieldatei umkopieren.<\/p>\n<p>In der aktuellen Version von settings_ini.py ist im Abschnitt <span style=\"color: #003366;\"><em># Serial Ports<\/em><\/span> die Schnittstelle hin zum Vitoconnect standardm\u00e4\u00dfig wie folgt definiert:\u00a0\u00a0 <span class=\"lang:default decode:true crayon-inline\">port_vitoconnect = '\/dev\/ttyAMA0'<\/span> .\u00a0 \"tty\" steht \u00fcbrigens f\u00fcr \"Teletype\" (Fernschreiber) aus der grauen Vorzeit der Computerei. Willst Vitoconnect nicht nutzen, wird der Port als 'None' definiert <span class=\"lang:default decode:true crayon-inline\">port_vitoconnect = 'None'<\/span> .<\/p>\n<p>Das allein reicht leider noch nicht, denn <span class=\"lang:default decode:true crayon-inline\">\/dev\/ttyAMA0<\/span> wird auch von Bluetooth verwendet, das wir deshalb auf den Pis mit Bluetooth Hardware (Raspberry Pi 3 und folgende, Raspberry Pi Zero W und Zero 2 W) deaktivieren m\u00fcssen. Das geschieht in der Regel wie folgt: In der Datei <span class=\"lang:default decode:true crayon-inline\">\/boot\/firmware\/config.txt<\/span>\u00a0 wird am Ende <span class=\"lang:default decode:true crayon-inline \">dtoverlay=pi3-disable-bt<\/span> eingetragen. Das <em>pi3<\/em> gilt sowohl f\u00fcr den Raspi 3 als auch Raspi 4 und 5.<br \/>\nBei Betriebssystemversionen unterhalb <em>bullseye<\/em> hei\u00dft die Datei<span class=\"lang:default decode:true crayon-inline\">\/boot\/config.txt<\/span>. Sollte das trotzdem nicht funktionieren, bei Tante Google (oder besser DuckDuckGo) nachfragen: \"raspberry pi disable bluetooth\".<\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #808080;\">Sicherheitshalber die datei config.txt kopieren &#8211; z.B. so: <span class=\"lang:default decode:true crayon-inline \">sudo cp config.txt confitg.txt.backup<\/span> . Die Datei config.txt geh\u00f6rt zum Eingemachten vom Betriebssystem. Ein Fehler und der Raspberry weigert sich zu starten. In diesem Falle die SD Karte in den PC einlegen und die Datei config.txt wieder zur\u00fcckkopieren oder ggf. editieren.<\/span><\/p>\n<p>Ferner m\u00fcsst ihr noch im Abschnitt <em>MQTT<\/em> der Datei Settings_ini.py euren MQTT Server sowie Username und Passwort eintragen. GGf. auch das mqtt_topic (im Original hei\u00dft es <em>Vitodens<\/em>)\u00a0 und mqtt_cmnd bzw. mqtt_resp \u00e4ndern.<\/p>\n<h4>poll_list.py<\/h4>\n<p>In dieser Datei befinden sich die Datenpunkte, die wir abfragen wollen, also die Parameternamen, Hexadezimaladressen und sonstige Abrufparameter. Dazu sp\u00e4ter mehr. Auch diese Date muss erst mit copy erzeugt werden. <span class=\"lang:default decode:true crayon-inline\">cp poll_list.py.example poll_list.py<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #808080;\">Bei den ersten Generationen des Splitters waren die Datenpunkte noch in der settings_ini.py enthalten, was diese etwas un\u00fcbersichtlich gemacht hat.<\/span><\/p>\n<h4>Erster Test<\/h4>\n<p>Zuerst geht ihr in das Verzeichnis des Optolink Splitters &#8211; meistens ist das <em>~\/optolink-splitter-main.<\/em><\/p>\n<p>Nach Aufruf der virtuellen Umgebung mit <span class=\"lang:default decode:true crayon-inline \">source myenv\/bin\/activate<\/span> k\u00f6nnen wir den Optolink-Splitter mit\u00a0<span class=\"lang:default decode:true crayon-inline \">python optolinkvs2_switch.py<\/span>\u00a0 starten. Das \"<em><a href=\"https:\/\/www.rustimation.eu\/index.php\/shebang-oder-wie-man-python-weglaesst\/\">Shebang<\/a><\/em>\" feht hier im Code, weshalb <em>python<\/em> davor geschrieben werden muss.<\/p>\n<p>Netterweise hat Phil in die <em>poll_list.py<\/em> Konfigdatei schon eine ganze Reihe an Datenpunkten eingetragen, von denen einige sicher auch bei eurem Ger\u00e4t funktionieren. Somit k\u00f6nnen wir den Rohbau erst einmal testen.<\/p>\n<p>Dazu starten wir den MQTT-Explorer auf dem PC und stellen &#8211; wenn nicht schon geschehen &#8211; als erstes den MQTT Server ein.<\/p>\n<figure id=\"attachment_2983\" aria-describedby=\"caption-attachment-2983\" style=\"width: 1267px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2983 size-full\" src=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_1.png\" alt=\"\" width=\"1267\" height=\"898\" srcset=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_1.png 1267w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_1-300x213.png 300w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_1-1024x726.png 1024w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_1-768x544.png 768w\" sizes=\"auto, (max-width: 1267px) 100vw, 1267px\" \/><\/a><figcaption id=\"caption-attachment-2983\" class=\"wp-caption-text\">Name, Host, User und Passwort nat\u00fcrlich auf eure Verh\u00e4ltnisse anpassen. Port ist fast immer 1883.<\/figcaption><\/figure>\n<p>Hat alles geklappt bekommt ihr einen Screen wie diesen hier:<\/p>\n<p><a href=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2984\" src=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_2.jpg\" alt=\"\" width=\"1261\" height=\"894\" srcset=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_2.jpg 1261w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_2-300x213.jpg 300w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_2-1024x726.jpg 1024w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/MQTT-Explorer_2-768x544.jpg 768w\" sizes=\"auto, (max-width: 1261px) 100vw, 1261px\" \/><\/a>F\u00fcr die allerersten Schritte empfehle ich euch, das <a href=\"https:\/\/www.youtube.com\/watch?v=95WIPFBxMsc\" target=\"_blank\" rel=\"noopener\">Youtube Video von Phil<\/a> anzusehen, wo beschrieben ist, wie man Werte auslesen und ggf auch schreiben kann.<\/p>\n<p>Alles okay? Dann empfehle ich, den <a href=\"https:\/\/github.com\/philippoo66\/optolink-splitter\/wiki\/510-error:-externally%E2%80%90managed%E2%80%90environment-%E2%80%90%E2%80%90-venv#if-you-like-to-start-optolink-splitter-as-a-service\" target=\"_blank\" rel=\"noopener\">Optolink-Splitter als Service<\/a> aufzusetzen.<\/p>\n<p>Im <a href=\"https:\/\/www.rustimation.eu\/index.php\/viessmann-ohne-api-optolink-splitter-2\/\">n\u00e4chsten Kapitel<\/a> beschreibe ich, wie man sein Ger\u00e4t identifiziert und die Adressen der Datenpunkte ermittelt.<\/p>\n<p>Habt ihr den Splitter sp\u00e4ter einmal als Service gestartet, k\u00f6nnt ihr den Status wie folgt checken:<br \/>\n<span class=\"lang:default decode:true crayon-inline \">sudo service optolink-splitter status<\/span><\/p>\n<figure id=\"attachment_2979\" aria-describedby=\"caption-attachment-2979\" style=\"width: 1143px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2979 size-full\" src=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/status.png\" alt=\"\" width=\"1143\" height=\"512\" srcset=\"https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/status.png 1143w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/status-300x134.png 300w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/status-1024x459.png 1024w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/status-768x344.png 768w, https:\/\/www.rustimation.eu\/wordpress\/wp-content\/uploads\/2024\/10\/status-604x270.png 604w\" sizes=\"auto, (max-width: 1143px) 100vw, 1143px\" \/><figcaption id=\"caption-attachment-2979\" class=\"wp-caption-text\">Hier sollte in gr\u00fcn \"active (running)\" stehen und weiter unten CGroup: \/system.slice\/optolink-splitter.service<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Letztes Update: Januar 2026 Immer wieder taucht bei community.viessmann.com\u00a0 und anderen einschl\u00e4gigen Foren der Wunsch auf, seine Viessmann Ger\u00e4te ohne die ViCare API zu \u00fcberwachen und zu steuern. Wie hier schon beschrieben, gibt es inzwischen funktionierende L\u00f6sungen, die lokal und direkt &#8211; also ohne den Umweg \u00fcber die Viessmann Server &#8211; mit dem Viessmann Ger\u00e4t &hellip; <a href=\"https:\/\/www.rustimation.eu\/index.php\/viessmann-ohne-api-optolink-splitter-1\/\" class=\"more-link\"><span class=\"screen-reader-text\">Viessmann ohne API &#8211; Optolink Splitter (1)<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53,137,9,198],"tags":[96,126,194,206],"class_list":["post-2962","post","type-post","status-publish","format-standard","hentry","category-iot","category-mqtt","category-python","category-viessmann-ohne-api","tag-api","tag-node-red","tag-optolink-splitter","tag-viessmann"],"_links":{"self":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/2962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/comments?post=2962"}],"version-history":[{"count":1,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/2962\/revisions"}],"predecessor-version":[{"id":3812,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/2962\/revisions\/3812"}],"wp:attachment":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/media?parent=2962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/categories?post=2962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/tags?post=2962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}