Mit Ansible lässt sich das Einrichten und Verwalten der Geräte (Raspis) im Smart Home teilweise automatisieren. Der Aufwand kann zu Beginn vielleicht etwas größer sein, um Ansible einzurichten, dafür ist es später dann schneller und einfacher. Voraussetzung hierfür ist, dass die Raspis (oder andere Geräte) ein frisch installiertes Raspbian (aktuell: Bullseye) haben. Die Installation ist in Einrichtung der Raspis beschrieben.

Erste Schritte

Die folgenden Schritte sind alle für eine Linux-artige Kommandozeile (BASH) geschrieben. Unter Windows kann man dazu das Windows Subsystem for Linux verwenden, siehe: Installation unter Windows mit WSL. Unter Mac OS sollte das eingebaute Terminal auch funktionieren.

1. SSH Keys einrichten

Ansible lässt sich mit SSH Keys am einfachsten verwenden. Falls man noch keine hat, kann man sich SSH Keys erstellen mit:

ssh-keygen -t ed25519 -b 4096
und dann den Schritten folgen. Die Standardwerte sind in der Regel passend. Hat man das abgeschlossen, kann man den öffentlichen Teil des Keys auslesen:
cat ~/.ssh/id_ed25519.pub
Den Inhalt der Datei muss man jetzt auf dem Smart Home Server in die Datei /home/pi/.ssh/authorized_keys einfügen. Falls der Ordner oder die Datei noch nicht existiert, muss man sie noch erstellen (mkdir ~/.ssh und nano ~/.ssh/authorized_keys). Danach kann man wie gewohnt sich per SSH verbinden, muss aber kein Passwort mehr eintippen:
ssh pi@192.168.xx.yy

2. Installation

Die offzielle Dokumentation findet sich hier: Installing Ansible

Voraussetzung für die Installation ist Python, über das man Ansible einfach mit pip installieren kann:

python3 -m pip install --user ansible
(Die Installation erfolgt nur auf dem lokalen Computer. Auf den Raspis muss man nichts installieren.)

3. Ausführen von Ansible Befehlen

Zur Verwendung von Ansible muss man im Ordner ansible im Smart Home Repo sein:

cd ansible

Dort lassen sich mit folgendem Bezehl zum Beispiel alle Kühlschrank Raspi Zeros neustarten:

ansible-playbook zeros.yml --tags "reboot"