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 (2)

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

Identifikation des Geräts

Bei meinen sonstigen Artikeln in diesem Blog versuche ich möglicht präzise Hinweise zu geben. Leider muß  ich bei 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

Mondphase und -beleuchtung ausrechnen

Mondphase berechnen

Eigentlich ganz einfach, wenn man ein genaues und nicht zu lange in der Vergangenheit liegendes  Vollmonddatum kennt. Man rechnet dann die Zeit seitdem bis heute aus und teilt das Ergebnis durch die Zeit, die zwischen zwei Neumondereignissen vergeht. Von diese Ergebnis verwenden wir nur den Teil hinter dem Komma und haben so die aktuelle Phase ermittelt.
Der Phasenwert liegt zwischen null und eins, und sagt folgendes aus:

Mondphase und -beleuchtung ausrechnen weiterlesen