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"