openHAB XV: Alles kaputt – eine Geschichte vom Scheitern

Geschätzte Lesezeit: 4 Minuten.

Ich habe meine gesamte Heimautomatisierung kaputtgemacht. Aus Versehen natürlich. In diesem Artikel dokumentiere ich meine Bemühungen, es zu reparieren.

Tag 1: Kaputt.

Wie macht man alles kaputt? Man schaltet einen Computer aus, während er ein Update durchführt.

Ja, das habe ich wirklich gemacht.

Ja, ich weiß, dass das extrem dumm ist.

Nein, ich weiß nicht, wieso ich das gemacht habe.

Aber von vorne. Ich wollte eigentlich nur mal eben schnell das System aktualisieren. Dazu habe ich ja mal eine Anleitung geschrieben: openHAB XIV: System-Update für Idioten. Diese Anleitung habe ich befolgt, inklusive Backup (das wird später noch wichtig). Dann habe ich versucht, das Update durchzuführen, und irgendwann während apt-get update abgebrochen. Danach konnte ich mich nicht mehr per ssh einwählen. Oh-oh.

Tag 2: Reparieren.

Schließe ich den Raspberry Pi an einen Bildschirm an, zeigt er beim Starten eine fröhliche Fehlermeldung: Firmware not found. Ich habe es offensichtlich völlig zerstört. Das ist nicht gut.

Jetzt könnte ich einen kleinen Exkurs starten. Ich habe versucht, openHAB in einem Docker-Container auf meinem NAS zu installieren. Das hatte ich sowieso schon lange überlegt, das System umzuziehen. Die Installation hat auch geklappt, nur an der Konfiguration bin ich gescheitert. So ein System von Null aufzusetzen, ist wirklich nervig. Letztlich habe ich mich entschieden, doch den Raspberry Pi wieder in Betrieb zu nehmen. Nur wie?

Erstmal hole ich das Backup von der SD-Karte. Zum Glück habe ich in diesem Artikel gefunden, wo das Backup standardmäßig gespeichert wird: /var/lib/openhab/backups/openhab-backup-*datum*.zip. Also erstmal kopieren.

Dann muss ich die SD-Karte neu flashen, und openHAB neu installieren. Dazu habe ich zuerst ein Backup der gesamten SD-Karten gemacht. Da ich neuerdings Linux benutze, habe ich mir auch da erst eine Anleitung gesucht und gefunden.

Und dann folge ich dem normalen Installationsprogramm. Das führt gleichzeitig dazu, dass ich jetzt die aktuellste Version von openHAB installiert habe, nämlich 5.2.0. Ich erstelle den Admin-Account, wähle ein paar Bindings aus, und dann wird es Zeit, das Backup wieder einzuspielen. Jetzt werde ich nervös.

sudo systemctl stop openhab
 
sudo $OPENHAB_RUNTIME/bin/restore $OPENHAB_BACKUPS/openhab-backup-*datum*.zip

Das Ganze liefert mir folgenden Output:

##########################################
          openHAB restore script          
##########################################
                                          
Using '/etc/openhab' as conf folder...
Using '/var/lib/openhab' as userdata folder...
Making Temporary Directory
Extracting zip file to temporary folder.

 Backup Information:
 -------------------
 Backup Version         | 3.3.0 (You are on 5.2.0)
 Backup Timestamp       | 26_06_24-13_26_55
 Config belongs to user | openhab
             from group | openhab

Your current configuration will become owned by openhab:openhab.

Any existing files with the same name will be replaced.
Any file without a replacement will be deleted.

Okay to Continue? [y/N]: y
Moving system files in userdata to temporary folder
Deleting old userdata folder...
rm: cannot remove '/var/lib/openhab/persistence': Device or resource busy
Restoring system files in userdata...
Deleting old conf folder...
Restoring openHAB with backup configuration...
Deleting temporary files...
Backup successfully restored!

Nachdem das tatsächlich fehlerfrei durchgelaufen ist, wird es Zeit, openHAB wieder zu starten:

sudo systemctl start openhab

Aber das funktioniert irgendwie nicht. Seltsam, und beunruhigend. Vielleicht hilft ein Neustart.

2026-07-13_kaputt

Fantastisch, oder? Ich würde sagen, darum kümmere ich mich morgen.

Etwa eine Stunde später merke ich, dass ich einfach nur zu ungeduldig war. Ich weiß nicht, warum mein System etwas Zeit brauchte zum Starten (vielleicht hat es Bindings nach-installiert?), aber jetzt funktioniert alles. Und ich kann kaum fassen, wie einfach das war.

TBD37 Botond, wie kann Softwarebetrieb kollaborativ und verlässlich mit GitOps gestaltet werden?

Nachdem eine Software entwickelt wurde, soll diese auch schnell ausgeliefert und hochverfügbar betrieben werden. In dieser Folge beschreibt Botond Gal, wie der Softwarebetrieb mit Hilfe von GitOps kollaborativ, verlässlich, stabil, und schnell gestaltet werden kann.


Botond Gal erreicht ihr am besten über LinkedIn: https://www.linkedin.com/in/botond-gal/

Außerdem verweisen wir in der Folge auf diese Themen:


TBD36 Markus, wie können Teams echte Verantwortung übernehmen?

Verantwortung ist der Schlüssel zu erfolgreicher Teamarbeit – doch wie schaffen es Teams, wirklich Verantwortung zu übernehmen und gleichzeitig Stressmuster durchbrechen? In dieser Folge beleuchten wir den Responsibility Process und die Überlebensstrategien aus dem Satir-Modell. Erfahre, wie typische Stressreaktionen wie Beschuldigen, Beschwichtigen oder Ablenken die Zusammenarbeit behindern – und wie Teams den Zustand der echten Verantwortung erreichen können, um Herausforderungen gemeinsam zu meistern.


Markus Köhne erreicht ihr am besten per LinkedIn: https://www.linkedin.com/in/markus-koehne-195334160/ oder Xing: http://www.xing.com/profile/Markus_Koehne/. Er ist außerdem regelmäßig in Düsseldorf beim Meetup Agile DUS.

Wir verweisen in dieser Folge auf folgende Literatur:


TBD35 Andreas, wie arbeite ich am System, anstatt im System?

Die Worte „im“ und „am“ unterscheiden sich nur durch einen Buchstaben. Aber das dahinterliegende Konzept, das in diesem zweiten Teil der Einführung in Systemisches Denken (englisch systems thinking) vorgestellt wird, führt dazu, dass du verstehst, wie du bestimmte Ergebnisse erzielst, und somit herausfinden kannst, wie du bessere Ergebnisse erzielst.

Ich freue mich über Feedback zu dieser Folge, entweder per Mail an tbd@kolmer.one, oder über LinkedIn: https://www.linkedin.com/in/andreas-kolmer/


Außerdem wird in der Folge auf diese Artikel verwiesen:


TBD34 Andreas, warum ist Systems Thinking wichtig?

Systems Thinking beschäftigt sich mit der dynamischen Komplexität von Systemen. Aber was genau ist ein System? Wie würden wir eines kennen, wenn wir eines gesehen hätten, und warum ist es wichtig, Systeme zu verstehen? Und wie können wir unsere Organisationen effektiver verwalten, indem wir Systeme verstehen?

Ich freue mich über Feedback zu dieser Folge, entweder per Mail an tbd@kolmer.one, oder über LinkedIn: https://www.linkedin.com/in/andreas-kolmer/


Außerdem wird in der Folge auf diese Artikel verwiesen:


TBD33 Bernd, warum sollte Barrierefreiheit Teil der Produktstrategie sein?

Etwa 10% der Bevölkerung sind auf barrierefreie Webseiten angewiesen. Damit Unternehmen diese potentiellen Kund:innen begeistern können, müssen die Webseiten ihrer Produkte und Services für alle nutzbar gestaltet werden. Wie dies umgesetzt werden kann, und welche Potentiale durch eine Integration der Barrierefreiheit als selbstverständlichen Teil der Produktstrategie gehoben werden können, erläutert Bernd Mündel in dieser Folge.


Bernd Mündel erreicht ihr am besten über LinkedIn: https://www.linkedin.com/in/bernd-mündel-839718140/

Außerdem verweisen wir in der Folge auf die folgenden Seiten und Artikel:


TBD32 Michael, wie komme ich von Wardley Maps zum Product Backlog?

Wardley Maps sind ein beliebtes Werkzeug der Produktstrategie, und Product Backlogs sind ein beliebtes Werkzeug der agilen Produktentwicklung. Da wäre es doch naheliegend, diese beiden Werkzeuge zu kombinieren. Wie das geht, erklärt Michael Mai in dieser Folge.


Michael Mai erreicht ihr über LinkedIn: https://www.linkedin.com/in/michael-mai-coach/.

Außerdem verweisen wir in der Folge auf:

TBD31 Markus, wie baut man eine agile Organisation auf?

Technologie, Menschen und Marktdynamik verändern sich ständig und immer schneller. Um die Chancen zu nutzen, die sich aus diesen Veränderungen ergeben, wird eine agile Organisation benötigt, die sich mit minimalen Kosten schnell anpassen kann. Aber wie kann ein agiles Organisationsdesign entwickelt werden, das Teams befähigt, Verantwortung zu übernehmen und sich schnell anzupassen? Dazu stellt Markus Tecza in dieser Folge den Ansatz „Creating Agile Organizations“ vor.


Markus Tecza erreicht ihr entweder persönlich über LinkedIn: https://www.linkedin.com/in/markus-tecza/
Alternativ könnt ihr ihn über das Kontaktformular der Valtech GmbH erreichen: https://www.valtech.com/de-de/about/kontakt/.

Außerdem verweisen wir in der Folge auf:


TBD30 Gina, wie finde ich meine innere Balance?

Veränderungen können Unruhe und Stress auslösen. Dies gilt insbesondere für agile Transformationsprozesse, hier können Teams schnell aus der Balance gebracht werden. Wie können Teams und Individuen diese innere Balance erlangen, und trotz stressigem Umfeld erhalten? Darüber spreche ich mit Gina Röge.


Gina Röge erreicht ihr entweder über ihre Webseite: http://voninnenstark.de, über LinkedIn: https://de.linkedin.com/in/gina-roege-4841853, oder ihr erreicht sie über Xing: https://www.xing.com/profile/Gina_Roege.

Außerdem verweisen wir in der Folge auf:


TBD29 Erwin, welche Erfahrungen hast du mit Domain-driven Design gemacht?

In dieser Folge erklärt Erwin Yükselgil, warum Domain-driven Design (DDD) nicht nur eine Herangehensweise an die Modellierung komplexer Software ist, sondern auch ein Kommunikationswerkzeug, die Entwickler:innen und Unternehmen hilft, im Problemraum zu bleiben. Außerdem erläutert er die Vorteile dieser Herangehensweise und berichtet über seine Erfahrungen mit Event Storming und Domain Storytelling.


Erwin Yükselgil erreicht ihr am besten per E-Mail (erwin.yuekselgil „at“ valtech.com) oder über LinkedIn: https://www.linkedin.com/in/erwin-yükselgil-89b786156/.

Außerdem verweisen wir in der Folge auf: