Raspberry Pi Imager 1.8.1 unterstützt RasPi 5
Raspberry Pi Imager 1.8.1 unterstützt den demnächst verfügbaren Raspberry Pi 5. Zudem wurde die Auswahl von Gerät und Abbild vereinfacht. Telemetriedaten sind leider als Opt-out umgesetzt.
Raspberry Pi Imager 1.8.1 unterstützt den demnächst verfügbaren Raspberry Pi 5. Zudem wurde die Auswahl von Gerät und Abbild vereinfacht. Telemetriedaten sind leider als Opt-out umgesetzt.
pip ist das Paketverwaltungs-Tool von Python. Wenn Sie in einem Script ein Zusatzmodul benötigen, führen Sie einfach pip install xxx bzw. unter macOS und bei manchen Linux-Distributionen pip3 install xxx aus. pip lädt das erforderliche Modul sowie eventuelle Abhängigkeiten herunter und installiert die Pakete lokal (d.h., sie brauchen meine root-Rechte).
Meistens funktioniert pip gut — aber nicht immer. Die häufigste Fehlerquelle unter Windows ist die Parallelinstallation mehrerer Python-Versionen. Dann ist nicht immer klar, auf welche Python-Version sich pip bezieht. Nach meiner Erfahrung scheint pip zumeist die falsche Version zu nehmen. Daher mein Tipp: Vermeiden Sie unter Windows unbedingt die Mehrfachinstallation von Python!
Aber auch unter Linux kann es Probleme geben. Die Ursache hier besteht darin, dass viele Distributionen selbst eine riesige Sammlung von Paketen mit Python-Erweiterungen anbieten. Die Parallelinstallation eines Moduls, einmal mit apt oder dnf und ein zweites Mal mit pip, kann dann zu Konflikten führen — insbesondere dann, wenn nicht exakt dieselben Versionen zum Einsatz kommen. Die Python-Entwickler haben deswegen im Python Enhancement Proposals (PEP) 668 festgeschrieben, dass in solchen Fällen Pakete aus Linux-Repositories vorzuziehen sind. PEP 668 gilt grundsätzlich seit Python 3.11. Tatsächlich implementiert ist es momentan nur in aktuellen Linux-Distributionen:
Noch nicht implementiert ist PEP 668 dagegen unter RHEL und Fedora (auch nicht in Version 39 Beta).
Der Versuch, mit pip ein Modul zu installieren, führt bei aktuellen Debian-, Ubuntu- und Raspberry-Pi-OS-Versionen zur folgenden Fehlermeldung:
$ pip install matplotlib
error: externally-managed-environment
This environment is externally managed
To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python
installation or OS distribution provider. You can override this,
at the risk of breaking your Python installation or OS, by
passing --break-system-packages. Hint: See PEP 668 for the
detailed specification.
Die obige Fehlermeldung weist direkt auf die beste Lösung hin — nämlich die Installation des entsprechenden Linux-Pakets mit apt python3-xxx, wobei xxx der Paketname ist. Für die matplotlib führen Sie unter Debian, Ubuntu und Raspberry Pi OS das folgende Kommando aus:
sudo apt install python3-matplotlib
Diese Empfehlung ist mit zwei Einschränkungen verbunden: Sie erfordert, dass Sie root– oder sudo-Rechte haben, und sie setzt voraus, dass das gewünschte Modul tatsächlich im Repository Ihrer Linux-Distribution zur Verfügung steht. Letzteres ist oft der Fall, aber nicht immer. Auf pypi.org gibt es fast 500.000 Projekte, die Debian-Standard-Repositories enthalten dagegen »nur« gut 4000 (apt list | grep python3- | wc -l).
Ein Virtual Environment im Kontext von Python ist ganz einfach ein Projektverzeichnis, in das die für das Projekt erforderlichen Module lokal und projektspezifisch installiert werden. Das hat mehrere Vorteile:
Virtuelle Umgebungen werden von Python durch das Modul venv unterstützt. Dieses Modul muss vorweg installiert werden, entweder mit apt install python3-venv oder durch apt install python3-full. Anschließen richten Sie Ihr Projekt ein:
$ python3 -m venv my-project
Python erzeugt das Verzeichnis my-project, falls dieses noch nicht existiert, und richtet dort eine minimale Python-Umgebung ein. (»Minimal« bedeutet: ca. 1500 Dateien, Platzbedarf ca. 25 MByte. Nun ja.) Nun führen Sie in Ihrem Terminal-Fenster mit source das Shell-Script activate aus, um die Umgebung zu aktivieren:
$ cd my-project
$ source bin/activate
(my-project)$
In dieser Umgebung funktioniert pip wie gewohnt. In der Folge können Sie Ihr Script ausführen, das die lokal installierte Module nutzt:
(my-project)$ pip install requests beautifulsoup4
(my-project)$ ./my-webscraping-script.py
Anstelle venv direkt zu nutzen, gibt es diverse Tools, um die Verwaltung Ihrer virtuellen Umgebungen zu vereinfachen. Am bekanntesten sind pipenv und virtualenv. Persönlich ist mir pipenv am liebsten. Das Tool muss vorweg installiert werden (apt install pipenv).
pipx ist eine Variante zum klassischen pip-Kommando, das sich gleichzeitig um die Einrichtung einer virtuellen Umgebung kümmert (siehe auch die Dokumentation). pipx ist allerdings nicht zur Installation von Bibliotheken gedacht, sondern zur Installation fertiger Python-Programme. Diese werden in .local/bin gespeichert.
pipx ist nur dann eine attraktive Option, wenn Sie ein als Python-Modul verfügbares Programm unkompliziert installieren und ausführen wollen. Wenn Sie dagegen selbst Scripts entwickeln, die von anderen Modulen abhängig sind, ist pipx nicht das richtige Werkzeug.
pip --break-system-packagesEin vierter Lösungsweg besteht darin, an pip die Option --break-system-packages zu übergeben. Die Option ist weniger schlimm, als ihr Name vermuten lässt. Im Prinzip funktioniert pip jetzt so wie bisher und installiert das gewünschte Modul, ganz egal, ob es ein äquivalentes Paket Ihrer Distribution gibt oder nicht, und unabhängig davon, ob dieses Paket womöglich schon installiert ist.
Empfehlenswert ist der Einsatz dieser Option in CI-Scripts (Continuous Integration), z.B. in Test- oder Deploy-Scripts für git (siehe auch diesen Blog-Beitrag von Louis-Philippe Véronneau). Die Option --break-system-packages ist oft der schnellste und bequemste Weg, nicht mehr funktionierende Scripts wieder zum Laufen zu bringen.
(Aktualisiert am 15.10.2023, Geekbench-Ergebnisse mit/ohne Lüfter)
Nach Raspberry Pi OS Bookworm habe ich mir heute auch Ubuntu 23.10 auf dem Raspberry Pi angesehen. In aller Kürze: Der Raspberry Pi 5 ist ein großartiger Desktop-Rechner, Ubuntu mit Gnome unter Wayland läuft absolut flüssig.

Die Desktop-Version von Ubuntu 23.10 läuft nur auf den Modellen 4B, 400 und 5 und beansprucht zumindest 4 GiB RAM. Bei meinem Test mit offenem Terminal, Firefox (zwei Tabs mit GitHub und orf.at) sowie dem neuen App Center waren erst gut 2 GiB RAM in Verwendung. Mit offenem Gimp, VS Code und App Center steigt der Speicherbedarf dann auf 4 GiB. Insofern sind für’s ernsthafte Arbeiten 8 GiB RAM sicher kein Schaden.
Zur Installation habe ich mit dem Raspberry Pi Imager Ubuntu 23.10 auf eine SD-Karte übertragen. Die Spracheinstellung in der Konfigurationsphase beim ersten Starts bleibt wirkungslos und muss später in den Systemeinstellungen nachgeholt werden. Außerdem müssen mit Installierte Sprachen verwalten alle erforderlichen Sprachdateien heruntergeladen werden.
Ein initiales Ubuntu-Desktop-System beansprucht etwa 6 GByte auf der SD-Karte. Mit Schuld am verhältnismäßig großem Speicherbedarf für ein Ubuntu-»Minimalsystem« ohne Anwendungsprogramme ist der unmäßige Speicherbedarf der vorinstallierten Snap-Paketen (App Center, Firefox plus alle dazu erforderlichen Basisbibliotheken).
Gnome 45 mit Wayland läuft absolut flüssig. Nur der Start von Snap-Apps führt zu kleinen Verzögerungen — das kennt man ja auch von Ubuntu-Installationen auf hochwertiger Hardware. Bei meinem Testrechner (Pi 5 mit 8 GiB RAM) braucht Firefox beim ersten Start ca. 4 Sekunden, bis es am Bildschirm erscheint. Damit kann man wirklich leben ;-)
Screenshots funktionieren auf Anhieb.
Bei der Erkennung der Systemdaten (also Info/Systemdetails in den Einstellungen) versagt Gnome aber und kann weder die CPU noch die Größe der SD-Karte erkennen (siehe die Abbildung oben). Aber das sind Kleinigkeiten.
Ubuntu verwendet mit Version 6.5 einen neueren Kernel als Raspberry Pi OS. Im Gegensatz zu Raspberry Pi OS kommt die »normale« Pagesize von 4 kByte zum Einsatz:
pi5u$ uname -a
Linux pi5u 6.5.0-1005-raspi #7-Ubuntu SMP PREEMPT_DYNAMIC
Sun Oct 8 08:06:18 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
pi5u$ getconf PAGESIZE
4096
Erstaunlicherweise fehlt in der Snap-Bibliothek Visual Studio Code. Ein Debian-Paket für ARM64 kann von https://code.visualstudio.com heruntergeladen werden. Es muss dann mit sudo apt install ./code_xxx.deb installiert werden. Die nachfolgende Fehlermeldung pkgAcquire::Run / Keine Berechtigung können Sie ignorieren. Vergessen Sie aber nicht, ./ bzw. einen gültigen Pfad voranzustellen, sonst glaubt apt, code_xxx.deb wäre der Paketname und verweigert die Installation der lokalen Datei.
Unter https://www.geekbench.com/preview/ gibt es eine AArch64-Version von Geekbench, die ich heruntergeladen, ausgepackt und ausgeführt habe. Die Temperatur des SoC steigt während der Tests auf über 85 °C. Die CPU-Frequenz wird in der Folge auf 1,5 GHz gedrosselt. Ich habe keine Kühlung verwendet (weder aktiv noch passiv). Ergebnisse unter diesen Voraussetzungen: 657
Single-Core Score, 1233 Multi-Core Score. Mehr Details finden Sie hier: https://browser.geekbench.com/v6/cpu/3060411

Im Leerlauf unter Ubuntu 23.10 beträgt die CPU-Temperatur übrigens gut 70°C, also auch schon mehr als genug.
Ubuntu fehlt eine dynamische Lüftersteuerung. Sobald ein Lüfter angeschlossen wird, läuft dieser mit maximaler Leistung und produziert ein durchaus störendes Ausmaß an Lärm. Die CPU-Temperatur sinkt dann im Leerlauf auf gut 30°C. Selbst während der Ausführung von Geekbench steigt die Temperatur nur kurzzeitig über 45°C. Gleichzeitig fallen die Werte etwas besser aus (siehe auch https://browser.geekbench.com/v6/cpu/3095791).
Geekbench 6 Single-Core Multi-Core
-------------- ------------ ------------
Ohne Lüfter 657 1233
Mit Lüfter 737 1542
Eine letzte Anmerkung zu Geekbench: Die 64-Bit-Version von Raspberry Pi OS und Geekbench 6.2 sind wegen der 4-kByte-Pagesize inkompatibel zueinander.
Während meiner Tests kam es zweimal zu kapitalen Abstürzen (Bildschirm wurde schwarz, kein Netzwerkzugriff mehr etc.). Möglicherweise war das von mir eingesetzte Netzteil zu schwach. (Unter Raspberry Pi OS hatte ich mit demselben Netzteil allerdings keine Probleme.)
Ich bin dann auf das neue Original-Raspberry-Pi-Netzteil umgestiegen (27 W für einen Minirechner erscheinen wirklich mehr als üppig, aber sei’s drum). Die Komplett-Abstürze haben sich nicht wiederholt.
Allerdings ist in der Folge auch Gimp bei der Verwendung des Dateiauswahldialogs zweimal abgestürzt. Das kenne ich von meinem Notebook überhaupt nicht. Ich kann natürlich nicht sagen, ob dieses Problem ARM-, Ubuntu- oder Raspberry-Pi-spezifisch ist. Aber für zwei Stunden Betrieb waren das für meinen Geschmack recht viele Abstürze …
Seit gestern ist die neue Version von Raspberry Pi OS auf der Basis von Debian 12 (»Bookworm«) verfügbar. Diese Version ist Voraussetzung für den Raspberry Pi 5, läuft aber natürlich auch auf älteren Raspberry Pis. Ich habe meine Tests auf einem Pi 5 sowie einem Pi 400 durchgeführt.
Auf den ersten Blick sieht der Desktop auf der Basis von LXDE nahezu unverändert aus. Aber dieser Eindruck täuscht erheblich: Raspberry Pi OS verwendet jetzt Wayland, PipeWire und den NetworkManager.

Auf aktuellen Raspberry-Pi-Modellen (Pi 4, Pi 400, Pi 5) kommt nun standardmäßig Wayland statt xorg als Fundament für das Grafiksystem zum Einsatz.
pi5$ echo $XDG_SESSION_TYPE
wayland
Das ist ein großer Schritt, weil dafür viele Komponenten verändert bzw. hinzugefügt werden mussten:
Zusammen mit dem Panel mussten auch die diversen Plugins für das Menü, die Bluetooth- und WLAN-Konfiguration, Lautstärkeeinstellung usw. neu implementiert werden.

Der Wayland-Umstieg ist mit den von anderen Desktop-Systemen bekannten Einschränkungen bzw. Kinderkrankheiten verbunden: Fernwartung, Screenshots usw. zicken bzw. funktionieren gar nicht. Auf das Thema VNC und Remote Desktop gehe ich hier in einem eigenen Artikel ein. Zum Erstellen von Screenshots verwenden Sie am besten das Kommando grim (siehe Projektseite). Gimp und scrot liefern lediglich schwarze Bilder, shutter stürzt ab.
Ältere Raspberry-Pi-Modelle (Pi 3, Zero etc.) verwenden aufgrund von Performance-Problemen weiterhin xorg. Aber auch bei diesen Modellen ist in Zukunft der Wechsel zu Wayland geplant.
Nach Fedora, Ubuntu & Co. verwendet nun auch Raspberry Pi OS das neue PipeWire-Audiosystem. Es ersetzt PulseAudio. Für die Desktop-Nutzung der Audio-Funktionen sollten sich dadurch nichts ändern. Wenn Sie Audio-Funktionen per Script steuern möchten, müssen Sie sich an die neuen pw-xxx-Kommandos gewöhnen (siehe https://docs.pipewire.org/page_tools.html).
Ähnlich wie beim Audio-System passt sich Raspberry Pi OS auch bei der Netzwerkkonfiguration den anderen Distributionen an und verwendet nun den NetworkManager als Backend. dhcpcd hat ausgedient. Wiederum ist von der Änderung an der Oberfläche nicht viel zu sehen. Die Konfigurationswerkzeuge zur Herstellung einer WLAN-Verbindung sehen ähnlich aus wie bisher. Allerdings gibt es nun diverse neue Funktionen, z.B. zur Herstellung von VPN-Verbindungen. Änderung ergeben sich auch, wenn Sie die Netzwerkkonfiguration per Script verändern möchten. Das wichtigste neue Kommando ist nmcli. Die Konfigurationsdateien werden in /etc/NetworkManager gespeichert. WLAN-Passwörter landen in /etc/NetworkManager/system-connections/*.conf.
Bei meinen Tests traten im Zusammenspiel mit dem Raspberry Pi Imager bei der Vorweg-Konfiguration (z.B. für Headless-Systeme) noch Fehler auf. Es ist aber zu erwarten/hoffen, dass diese bald gelöst sein werden.
In der Vergangenheit galt Chromium als Default-Webbrowser für Raspberry Pi OS. In Kooperation mit Mozilla wurde nun auch Firefox besser an die Hardware- und Software-Eigenheiten angepasst und wird nun als gleichwertige Alternative angeboten. Standardmäßig sind beide Programme installiert. Den Default-Webbrowser können Sie im Programm Raspberry-Pi-Konfiguration festlegen.
Aus nostalgischen Gründen bin ich ein großer Fan von Mathematica und finde es fantastisch, dass das Programm Raspberry-Pi-OS-Anwendern kostenlos zur Verfügung steht. Das gilt auch für die neue Version von Raspberry Pi OS — aber aktuell nicht auf dem Pi 5. Dort erscheint beim Start der Hinweis, dass ein Lizenzcode erforderlich ist. Anscheinend soll dieses Problem Update 9.11.2023: Mit den neuesten Updates funktioniert nun auch Mathematica wieder — und zwar schneller denn je!
noch behoben werden. Die Raspberry Pi Foundation wartet diesbezüglich auf ein Update von Wolfram (Quelle).
Dank des neuen Fundaments auf der Basis von Debian 12 haben sich viele Versionsnummern geändert:
Basis Desktop Programmierung Server
--------------- ------------------ -------------- --------------
Kernel 6.1 Gimp 2.10 bash 5.2 Apache 2.4
glibc 2.36 LibreOffice 7.4 gcc 12.2 CUPS 2.4
Mesa 23.2 LXDE 11 Java 17 MariaDB 10.11
Systemd 247 VLC 3.0 PHP 8.2 OpenSSH 9.2
X-Server 21.1 Python 3.11 Samba 4.17
Wayland 1.21
Bisher war es unter Python gebräuchlich, Zusatzmodule einfach mit pip bzw. pip3 zu installieren. In aktuellen Python-Versionen ist das nicht mehr erwünscht und führt zu einem Fehler:
$ pip install --user matplotlib
error: externally-managed-environment
This environment is externally managed
To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
For more information visit http://rptl.io/venv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Es gibt zwei Auswege:
sudo apt install python3-matplotlib lauten.
Der andere Lösungsweg setzt voraus, dass Sie für ihr Python-Projekt eine virtuelle Umgebung verwenden (siehe auch https://www.raspberrypi.com/documentation/computers/os.html#python-on-raspberry-pi).
Der geänderte Umgang mit Python-Modulen hat übrigens nichts mit Raspberry Pi OS zu tun, sondern ist eine von der Python-Entwicklergemeinde vorgegebene Änderung, die alle modernen Linux-Distributionen betrifft.
Auf https://www.raspberrypi.com/software/operating-systems sowie im Programm Raspberry Pi Imager wird nach wie vor die 32-Bit-Version von Raspberry Pi OS empfohlen. Die 64-Bit-Version ist dort nur die zweite Option.
Ich habe meine Tests dagegen mit der 64-Bit-Version durchgeführt, die für Pi-Modelle mit mehr als 2 GByte zweckmäßiger ist, einzelnen Prozessen mehr RAM zuordnen kann und etwas mehr Geschwindigkeit verspricht.
Interessanterweise kommt je nach Raspberry-Pi-Modell eine unterschiedliche Pagesize zum Einsatz: 16 kByte auf dem Raspberry Pi 5 aber wie bisher 4 kByte auf dem Raspberry Pi 400.
pi5$ getconf PAGESIZE
16384
pi400$ getconf PAGESIZE
4096
Die 16-kByte-Pagesize ist übrigens zu manchen Programmen inkompatibel. Unter anderem kann deswegen Geekbench 6.2 nicht in der 64-Bit-Version von Raspberry Pi OS ausgeführt werden.
Der Raspberry Pi 5 enthält eine Buchse zum Anschluss eines CPU-Lüfters. Raspberry Pi OS kümmert sich darum, den Lüfter nur nach Bedarf einzuschalten, und auch dann dynamisch (also nur in der erforderlichen Drehzahl). Im Leerlaufbetrieb bleibt der Raspberry Pi 5 lautlos.
Ein Upgrade eines bereits installierten Raspberry Pi OS »Bullseye« auf Version »Bookworm« ist theoretisch durch eine Veränderung der Paketquellen möglich (siehe z.B. hier im Raspberry-Pi-Forum). Diese Vorgehensweise wird aber explizit nicht unterstützt und führt nach meinen eigenen Erfahrungen oft zu massiven Problemen. Wenn Sie die aktuelle Version von Raspberry Pi OS nutzen möchten, müssen Sie also eine SD-Karte neu damit einrichten. Das hat natürlich den Nachteil, dass Sie alle Konfigurationsarbeiten wiederholen und ggfs. Ihre eigenen Projekte bzw. Ihren Code manuell übertragen und womöglich auch adaptieren müssen.
Smart Homes sind in aller Munde. Bei Neubauten sowieso, aber auch bestehende Immobilien werden gerne zu so genannten Smart Homes umgerüstet. Den großen Markt teilen sich natürlich kommerzielle Anbieter, aber gerade auf der Softwareseite konkurrieren auch freie und open source Software um die Kunden. Die bekanntesten Teilnehmer im open source Bereich sind FHEM, OpenHAB und Home Assistant (früher bekannt als hass.io).
Diese Software soll verschiedene smarte Geräte vereinen, so dass sie alle unter einer Haube stecken. Anstatt jeweils eine Anwendung für die Heizung, das Licht und die Energieversorgung zu verwenden, soll die Software übergeordnet sein. Sie bildet damit die Schnittstelle zwischen den Geräten und mir.
Ich möchte mein Haus mit dem Home Assistant smart machen, bzw. einige der vorhandenen Komponenten dort einbinden. In diesem Artikel möchte ich zunächst auf die Installation von Home Assistant Container eingehen.
Der mächtige Home Assistant wird gerne auf einem Raspberry Pi installiert. In der Regel verwendet man dafür gleich ein ganzes Image für das Betriebssystem. Das bedeutet, dass man statt des üblichen Raspbian das „Home Assistant Operating System“ installiert.
Der Vorteil liegt darin, dass man den Home Assistant in vollem Umfang nutzen kann. Der Nachteil ist, dass man über ein stark angepasstes OS verfügt. Möchte man noch weitere Software darauf laufen lassen, könnte das zu Konflikten führen.
In meinem Fall laufen noch andere Prozesse auf dem Raspberry. Somit kommt für mich das OS nicht infrage. Stattdessen möchte ich auf Home Assistant Container setzen. Hier läuft die Software über Docker.
Benutzt man den Home Assistant Container, muss man mit Einschränkungen leben. Es ist beispielsweise nicht möglich, Add-ons zu installieren. Der Grund liegt meines Wissens darin, dass Add-ons als (Docker-)Container installiert werden. Und das geht nicht, wenn bereits die Hauptanwendung in einem (Docker-) Container läuft. [Falls das jemand genauer weiß, gerne einen Kommentar hinterlassen!]

Was man als Vorbereitung braucht, ist ein installiertes Linux-System. In meinem Beispiel ist es Raspbian auf einem Raspberry Pi 4. Dort meldet man sich via SSH an.
Schritt 1: Docker installieren. Gegebenenfalls hat man eine alte Version bereits installiert. Diese muss man entfernen und die aktuelle Version installieren. Dazu wird das Docker-Repository hinzugefügt und die Software daraus installiert. Am Ende wird eine Benutzergruppe „docker“ erstellt (ggf. geschieht das automatisch). Der aktuelle Benutzer – hier nennt er sich pi – wird der Gruppe hinzugefügt.
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo groupadd docker
sudo usermod -aG docker pi
Schritt 2: Home Assistant Container installieren. Der folgende Befehl holt sich das entsprechende Image aus dem Dockerhub, lädt es herunter und installiert es. Es ist wichtig, dass der Ordnerpfad für die Konfigurationsdatei korrekt angegeben wird. Wie oben bereits beschrieben, fehlt die Add-on-Funktion. Um die configuration.yaml bearbeiten zu können, muss man an diese Datei herankommen. Mit der Flag -v mountet man einen existierenden Ordner in den Docker-Container und kann damit die Datei weiterhin bearbeiten.
mkdir /home/pi/homeassistant/config
docker run -d \
--name="homeassistant" \
--privileged \
--restart=unless-stopped \
-e "TZ=Europe/Berlin"
-v /home/pi/homeassistant:/config \
--net=host \
homeassistant/home-assistant:stable
Wer lieber Docker Compose verwendet, kann den folgenden Eintrag in die *.yaml eintragen:
name: smart_home_p10
services:
home-assistant:
container_name: homeassistant
privileged: true
restart: unless-stopped
environment:
- TZ=Europe/Berlin
volumes:
- /home/pi/homeassistant:/config
network_mode: host
image: ghcr.io/home-assistant/home-assistant:stable
Schritt 3: Docker-Image verwalten. Die gesamte Home Assistant Installation kann man über den Container starten und stoppen. Ein Update führt man ebenfalls über das Docker-Image aus. Die Befehle hierfür lauten folgendermaßen.
# Update installieren
docker pull homeassistant/home-assistant:stable
# Container stoppen und entfernen
docker stop homeassistant
docker rm homeassistant
Schritt 4: Auf Home Assistant zugreifen. Ab jetzt erfolgt die Verwaltung des Home Assistant über die Weboberfläche. Mit http://<IP-Adresse des Raspberrys>:8123 kann man von einem PC des gleichen Netzwerks auf die Installation zugreifen. Änderungen an der configuration.yaml müssen weiterhin über die Systemoberfläche, also z.B. mit nano oder vim über SSH erfolgen.
nano /home/pi/homeassistant/config/configuration.yamlThe post Home Assistant Container installieren first appeared on bejonet - Linux | Smart Home | Technik.
Der Raspberry Pi 4 kann 4K@60Hz ausgeben. Unter LibreELEC muss dies über die config.txt aktiviert werden. Leider funktioniert die Methode (noch) nicht mit LibreELEC 10. Über den Texteditor: Steckt die SD-Karte in euren PC,...
Im vorherigen Beitrag habe ich euch gezeigt wie ihr den Hauppauge WinTV-soloHD oder Hauppauge WinTV-dualHD unter Linux einrichtet. Hinweis: Für Raspberry Pi OS 10 „Buster“ gibt es derzeit (Stand: Januar 2021) keine eigenen Tvheadend...
Ein NAS zu verwenden ist in vielen Situationen sinnvoll. Wenn man beispielsweise mehrere netzwerkfähige Geräte verwendet, seien es PCs, Tablets oder Fernseher, können alle Geräte auf den gleichen Speicher zugreifen. Dort gespeicherte Dateien, beispielsweise Urlaubsfotos, können dann auf allen diesen Geräten angezeigt werden.
Meine Motivation ist allerdings vor allem der redundante Festplattenspeicher. Ich verwende ein NAS mit zwei Festplatten. Ich werde sie so konfigurieren, dass beide Festplatten sich gegenseitig spiegeln, also exakt die gleichen Daten speichern. Das nennt sich RAID 1 (Redundant Array of independent disks). Fällt eine der beiden Festplatten aus, kann sie ersetzt werden und die Daten sind noch auf der zweiten Festplatte gespeichert.
Das aktuelle Einstiegsmodell von Synology, DS218j, genügt für mich allemal. Ich werde einen relativ geringen Traffic darauf laufen lassen und brauche dort keine übermäßige Rechenleistung (momentan habe ich keinen Bedarf an Videocodierung oder anderen aufwendigen Berechnungen). Ich kann von meinen Geräten im Heimnetzwerk darauf zugreifen und haben die besagte Ausfallsicherheit durch das RAID 1.
Andere Hersteller kommen natürlich auch in Frage. Für meine Bedürfnisse ist es schon beinahe egal, wer das NAS herstellt. Ich habe mich für den Hersteller entschieden, der in meinem Bekanntenkreis bereits verwendet wird.
Prinzipiell gibt es sogar die Möglichkeit, das NAS über ein Raspberry Pi selbst zu bauen. Das Betriebssystem OpenMediaVault kann man das sogar recht komfortabel umsetzen. Ein halbwegs neuer Raspberry Pi und externe Festplatten genügen, schon kann man die Low Budget Variante selber bauen. Die Einrichtung funktioniert anschließend über den Browser, so wie es auch in den kommerziellen Varianten der Fall ist.

Ich entschied mich für die kommerzielle Variante. Das ist – zugegeben – eher untypisch für mich und das Blog. Normalerweise bin ich eher der Bastler, der gerne solche Systeme selber baut. In diesem speziellen Fall war mir die Kaufvariante allerdings lieber.
Die zweite Frage, nachdem die Entscheidung auf die Diskstation DS218j gefallen ist, lautet: welche Festplatten werde ich verwenden?Die sogenannten NAS-Festplatten sind robuster ausgestattet als die typischen Desktop-Festplatten. Die wesentlichen Unterschiede zwischen den Typen sind die folgenden:
Ich habe mal letztendlich für die NAS-Version von Western Digital entschieden (WD Red). Aus meiner Sicht sind alle HDD-Hersteller gleichbedeutend, es hätte genauso gut Seagate oder Sandisk oder etwas anderes werden können. Die NAS-Festplatten kosten nur unwesentlich mehr als die Desktop-Version.
The post Ein NAS verwenden: Grundsatz first appeared on bejonet.