Die Dienste, die hier zu Hause laufen, haben alle eine Weboberfläche – und genau das ist das Problem: Für einen Blick auf den Ladezustand oder den Pipeline-Status macht man keinen Tab auf. Auf einer Taste neben der Tastatur sieht man es im Vorbeigehen.
Daraus ist nach und nach eine Reihe eigener Plugins geworden, jedes als eigenes Repo, alle nach demselben Muster gebaut.
Was es gibt
Haus und Energie
- evcc – Ladezustand und PV-Situation, inklusive Umschalten des Lademodus
- Home Assistant Graph – ein Sensor auf einer Taste, mit seinem Verlauf als Graph
- Fritzbox – Gäste-WLAN schalten, Internet-Status sehen
- AWTRIX – ein AWTRIX-NG-Panel steuern und den Claude-Code-Status darauf anzeigen
Arbeit und Entwicklung
- CI – Pipeline-Status aus Woodpecker CI und GitHub Actions
- Renovate – offene Renovate-Pull-Requests über alle Repos hinweg, direkt von der Taste aus mergebar
- Arbeitszeit – die Arbeitszeit aus der AWTRIX-App, auf dem Schreibtisch gespiegelt
- Grafana – ein beliebiges Grafana-Panel, gerendert auf Taste oder Touchstreifen
Haushalt und Medien
- Paperless – wie viel im Posteingang von paperless-ngx liegt und was die Aufgaben machen
- Jellyfin – was gerade läuft, mit Pause und Stopp
- Termine – was als Nächstes ansteht
Das umfangreichste Plugin der Reihe hat eine eigene Seite bekommen: Kuma Glance für Uptime Kuma.
Das gemeinsame Muster
Alle Plugins sind Node.js und TypeScript auf dem offiziellen Stream Deck SDK, die Einstellungsseiten mit sdpi-components. Die Tastenbilder entstehen als SVG zur Laufzeit – anders bekommt man Text, Farbe und kleine Graphen nicht sauber auf jede Tastengröße.
Zwei Dinge haben sich dabei als wichtig herausgestellt:
Ereignisse statt Polling, wo es geht. Dienste, die eine offene Verbindung anbieten, werden so angebunden – dann schlägt die Taste sofort um, statt bis zum nächsten Abfrageintervall falsch dazustehen.
Eine Taste, die lügt, ist schlimmer als eine dunkle. Fällt die Verbindung weg, zeigen die Plugins das als eigenen Zustand an, statt den letzten bekannten Wert weiter anzuzeigen. Sonst sieht man grün, während nichts mehr läuft.