Archiv der Kategorie: Python

Python – Das Externally Managed Environment Problem

oder Profi vs. Bastler

Nach über einem Jahrzehnt musste ich meine Webcam neu aufsetzen. Der USB Speicherstick, auf dem die /root Partition lief, war verschlissen und unzuverlässig geworden. Immerhin – gut 12 Jahre hat er problemlos durchgehalten und dabei über 200.000 Aufnahmen verarbeitet. Die alte Webcam lief auf Raspbian Jessie – inzwischen komplett veraltet und aus der Wartung gefallen – Updates gibt es nicht mehr. Dasselbe Problem mit Python – bisher lief die Cam noch mit dem seligen Python 2.7.

Die Migration auf eine neue OS Version und einen neuen Python Interpreter ist kein Zuckerschlecken! Den Umgang mit einem wesentlichen Fallstrick zeige ich euch im Folgenden:

Python – Das Externally Managed Environment Problem weiterlesen

Viessmann ohne API – Optolink Splitter (1)

Letztes Update: Januar 2026

Immer wieder taucht bei community.viessmann.com  und anderen einschlägigen Foren der Wunsch auf, seine Viessmann Geräte ohne die ViCare API zu überwachen und zu steuern. Wie hier schon beschrieben, gibt es inzwischen funktionierende Lösungen, die lokal und direkt – also ohne den Umweg über die Viessmann Server – mit dem Viessmann Gerät kommunizieren.

Eine davon ist der Optolink-Splitter, den Phil, der Viessmann User HerrP, entwickelt hat. Diese Lösung wendet sich an die Betreiber von Viessmann Heizungen etc., welche über die Optolink Schnittstelle und das VitoConnect Kästchen ausgelesen und ferngesteuert werden. Auf technisch anspruchsvollem Niveau ist der Optolink Splitter bei Github unter https://github.com/philippoo66/optolink-splitter/ beschrieben. In Abstimmnung mit Phil habe ich nachfolgend eine auch für den geneigten Amateur nachvollziehbare Anleitung verfasst:

Überblick

Weil mich die dauernden Ausfälle der Viessmann Server Infrastruktur genervt haben und über die ViCare API auch nicht alle interessanten Werte geliefert werden – oder wenn, dann nur mit Abokosten – habe ich das Ganze mal ausprobiert und meine Erfahrungen hier aufgeschrieben.

Viessmann ohne API – Optolink Splitter (1) weiterlesen

Viessmann ohne API – Optolink Splitter (2)

Letztes Update: Januar 2026

Hat man erst einmal die ganze Infrastruktur zum Laufen gebracht, geht es ans Eingemachte.

Identifikation des Geräts

Es gibt einen einfachen und einen deutlich aufwändigeren Weg, die Identifikation vorzunehmen:

Der einfachere erfordert einen Account bei Viessmann – das ist aber derselbe, den du schon hast, wenn du das Vitoconnect Kästchen mit der ViCare App nutzt.

Der zweite Weg geht direkt über die Heizungsanlage: Hierzu hat Phil, der Entwickler des Optolink Splitters eine Anleitung zur Identifikation geschrieben, die für Laien nicht ganz einfach zu verstehen ist. Ich versuche einen alternativen Erklärungsansatz – eventuell hilft auch eine Kombination aus beidem. Bei meinen sonstigen Artikeln in diesem Blog versuche ich möglicht präzise Hinweise zu geben. Leider muß  ich bei dieser Art der  Geräte-Identifikation und, weiter unten, den Datenpunkten ziemlich vage bleiben. Das liegt auch daran, dass ich lediglich Nutzer einer Vitodens Therme von Viessmann bin, kein Heizungsbauer und auch kein Programmierer. Ich bitte um Nachsicht, wenn nicht alles sofort 100%ig klar wird. Zum Glück gibt es auch noch den Diskussionsbereich in Github, in dem Fragen in der Regel sehr freundlich und hilfsbereit beantwortet werden. Viessmann ohne API – Optolink Splitter (2) weiterlesen

Luftdruck messen – aber richtig!

Wetterstation

Eins der beliebtesten Projekte für Arduino oder Raspberry Pi ist wohl der Aufbau einer Wetterstation mit Anzeige der Temperatur, der Luftfeuchtigkeit oder des Luftdrucks. Also fleißig ans Basteln, einen DHT22 Sensor (Temperatur und Luftfeuchtigkeit) oder einen BMP180 (Luftdruck und Temperatur) oder BME280 (Temperatur, Luftdruck und Luftfeuchtigkeit) mit dem Controller oder Pi verbunden, ein Messprogramm geschrieben, eine schöne grafische Ausgabe gebaut und fertig.

Komischerweise unterscheidet sich der angezeigte Luftdruck – je nach Wohnort – meist von der "offiziellen" Angabe im Wetterbericht. Woran liegt das?

Luftdruck messen – aber richtig! weiterlesen

Zweites Update: Wetterbericht im JSON Format auslesen und verarbeiten

Da Darksky von Apple übernommen wurde, kann man keine neuen kostenlosen Accounts mehr anlegen. Deshalb hier das zweite Update, diesmal mit dem kostenfreien Service Openweathermap.

Update vom 2. Update:

April 2024: Die API Version 2.5 läuft im Juni 2024 aus und wird mit Version 3.0 ersetzt. Der Service ist bis zu 1000 Abrufen/Tag immer noch kostenlos, aber man muss den Service trotzdem mit einer Kreditkarte abonnieren (subscribe). Wenn man unter den 1000 Abrufen/Tag bleibt, wird die Karte nicht belastet. Funktionell bleibt alles beim Alten. d.h. im Aufruf muss lediglich die API  Version von 2.5 auf 3.0 geändert werden. Der API Key bleibt unverändert. Dieser Beitrag wurde daher insgesamt auf den neuesten Stand gebracht.

Also zum Beispiel: https://api.openweathermap.org/data/<strong>3.0</strong>/onecall?lat={lat}&lon={lon}&exclude={part}&appid={API key}

Nach der Subscription dauert es u.U. ein paar Stunden, bis der API Key umgestellt ist und die Abrufe mit 3.0 klappen.

Code wurde auf auf Python 3.x portiert.

Zweites Update: Wetterbericht im JSON Format auslesen und verarbeiten weiterlesen