Einleitung
Wer viele Shelly-Geräte im Smart Home verbaut hat, kennt den Aufwand: Jedes Gerät einzeln über die Weboberfläche zu aktualisieren, kostet Zeit und Nerven. Mit dem Python-Skript flash-shelly.py lässt sich dieser Prozess zentralisieren und automatisieren.
Dieses Tutorial zeigt, wie Sie alle Shellys im Netzwerk finden und ein Firmware-Upgrade in einem Rutsch durchführen, ohne dabei die individuellen Einstellungen zu verlieren.
Voraussetzungen:
- Installierte Python-Umgebung
- Das Skript
flash-shelly.pyliegt lokal vor - Der Computer befindet sich im selben Netzwerk-Subnetz wie die Shellys
[BILD 1: Symbolbild eines Netzwerks mit vielen Shelly-Geräten]
Überblick
Wir werden folgende Schritte durchführen:
- Skript ausführbar machen
- Netzwerk nach Geräten scannen
- Bulk-Update aller Geräte durchführen
Schritt-für-Schritt Anleitung
- Berechtigungen setzen
Bevor das Skript genutzt werden kann, muss sichergestellt werden, dass es ausführbar ist. Prüfen Sie den Pfad zu Ihrem Skript.Aktion:
Terminal öffnen und Berechtigung erteilen.chmod +x /Users/richard/Shelly/flash-shelly.py - Shellys im Netzwerk identifizieren
Um sicherzugehen, dass alle Geräte erkannt werden, führen Sie einen List-Befehl aus. Dies zeigt alle erreichbaren Shelly-Geräte an.Befehl:
/Users/richard/Shelly/flash-shelly.py -la[BILD 2: Screenshot der Terminal-Ausgabe mit der Liste der gefundenen Geräte]
- Firmware-Upgrade durchführen
Nun starten wir das eigentliche Update. Der Parameter-am keepist hierbei entscheidend, da er sicherstellt, dass Ihre WLAN- und MQTT-Einstellungen erhalten bleiben.Optionen:
--password: Ihr Shelly-Gerätepasswort-y: Automatische Bestätigung/Users/richard/Shelly/flash-shelly.py --password idnos-Shelly -am keep -y
Wichtige Hinweise & Stolperfallen
Sicherheitstipp: Das Passwort im Klartext im Befehl zu haben, ist ein Sicherheitsrisiko (History-Log). Nutzen Sie Umgebungsvariablen:
export SHELLY_PASSWORD=idnos-Shelly
Und rufen Sie das Skript dann so auf:... --password $SHELLY_PASSWORD ...
Testlauf: Bevor Sie Dutzende Geräte gleichzeitig patchen, nutzen Sie den Parameter
-testbei einem einzelnen Gerät, um die Verbindung und Authentifizierung zu verifizieren.
Ergebnis & Fazit
Mit wenigen Befehlen lassen sich auch große Shelly-Installationen konsistent auf dem neuesten Firmware-Stand halten. Die Automatisierung spart nicht nur Zeit, sondern reduziert auch die Fehleranfälligkeit gegenüber manuellen Eingriffen.