Audiobookshelf Smart-Home-Integration, kostenlos und Open Source

Verfolge, wer was auf deinem Audiobookshelf-Server hört, und reagiere in Szenen darauf.
Bringe deinen Audiobookshelf-Server (Hörbücher und Podcasts) über dein lokales Netzwerk in Gladys: wer was hört, der Fortschritt und die Restzeit jedes Buchs, die heute gehörten Minuten, die letzten Neuzugänge mit ihren Covern auf dem Dashboard, und Szenen, die reagieren, wenn jemand eine Wiedergabe startet oder beendet, ein Buch zu Ende hört oder eine neue Podcast-Episode heruntergeladen wird.
Die Integration wurde mit einem echten Audiobookshelf-2.37-Server (dem offiziellen Docker-Image) getestet, aber noch nicht in einer echten Gladys-Installation: Rückmeldungen sind im Gladys-Forum oder in den Issues willkommen.
Was du brauchst
- Gladys Assistant 5.1.0 oder neuer.
- Einen Audiobookshelf-Server, der von Gladys aus erreichbar ist (gleiches Netzwerk).
- Einen API-Schlüssel eines Administrators: in Audiobookshelf unter Einstellungen → API-Schlüssel → Hinzufügen, für einen Admin (Audiobookshelf 2.26 oder neuer). Bei einem älteren Server nimm das API-Token eines Admins (Einstellungen → Benutzer → der Benutzer). Nur ein Administrator kann die Wiedergabesitzungen und den Fortschritt aller Benutzer lesen.
Einrichtung
- Installiere die Integration aus dem Gladys-Katalog.
- Gib unter Konfiguration die Server-URL mit Port ein (zum Beispiel
http://192.168.1.20:13378; hinter einem Reverse Proxyhttps://example.org/audiobookshelf) und den API-Schlüssel. - Wähle bei Bedarf, wie oft die Wiedergabesitzungen gelesen werden (standardmäßig alle 30 Sekunden), und die Sprache der Namen.
- Speichere und klicke auf Verbindung testen: Es zeigt die Version, die Bibliotheken und die gefundenen Benutzer.
- Füge im Tab Erkennung den Server und die Benutzer hinzu, denen du folgen willst.
Geräte
Audiobookshelf (der Server):
| Funktion | Bedeutung |
|---|---|
| Online | 1, solange die Integration den Server liest |
| Laufende Wiedergaben | Anzahl der Player, die gerade spielen |
| Hörbücher | Bücher in den Buchbibliotheken |
| Podcasts | Podcasts in den Podcast-Bibliotheken |
| Podcast-Episoden | heruntergeladene Episoden in den Podcast-Bibliotheken |
| Version | Version von Audiobookshelf |
Audiobookshelf <Benutzer> (ein Gerät pro Benutzer des Servers):
| Funktion | Bedeutung |
|---|---|
| Hört gerade | 1, solange ein Player des Benutzers spielt |
| Aktueller Titel | das laufende Buch (mit Autor) oder die Episode (mit Podcast), sonst das letzte |
| Fortschritt | Position in diesem Buch oder dieser Episode, in % |
| Restzeit | verbleibende Minuten dieses Buchs oder dieser Episode |
| Heute gehört | heute gehörte Minuten (Tag des Servers) |
Ein pausierter Player hält seine Sitzung offen: Der Benutzer gilt als hörend, bis der Player seine Position 90 Sekunden lang nicht gemeldet hat.
Dashboard
- Wird gerade gehört: wer was hört, mit Covern, Fortschritt und einem Abzeichen Läuft oder Pausiert (eine pausierte Sitzung bleibt 30 Minuten sichtbar), die Anzahl der spielenden Player und die heute gehörten Minuten. Alle Benutzer oder der in den Widget-Einstellungen gewählte.
- Zuletzt hinzugefügt: ein Raster der zuletzt hinzugefügten Hörbücher und Podcast-Episoden mit ihren Covern, die Anzahl der Hörbücher und Podcasts und eine Schaltfläche Episoden suchen (wie die Szenenaktion unten).
Szenen
Auslöser
- Wiedergabe gestartet: Ein Benutzer startet ein Hörbuch oder eine Episode oder setzt sie fort. Filter: der Benutzer, der Typ (Hörbuch oder Podcast-Episode). Informationen: Benutzer, Titel, Autor, Podcast, Typ, Fortschritt.
- Wiedergabe gestoppt: Ein Benutzer pausiert oder hört auf (90 Sekunden ohne Fortschritt). Gleiche Filter und Informationen, dazu die in der Sitzung gehörten Minuten.
- Buch oder Episode beendet: Ein Benutzer erreicht das Ende eines Buchs oder einer Episode oder markiert es als beendet. Gleiche Filter.
- Neue Podcast-Episode heruntergeladen: Audiobookshelf hat eine neue Episode heruntergeladen (automatischer Download oder die Aktion unten). Filter: der Titel des Podcasts, genau wie in Audiobookshelf angezeigt. Informationen: Podcast, Titel der Episode, Bibliothek, Dauer in Minuten.
Aktionen
- Nach neuen Podcast-Episoden suchen: Audiobookshelf liest den Feed jedes Podcasts und lädt die neuen Episoden herunter. Ergebnisse: geprüfte Podcasts, gefundene neue Episoden.
- Vorlesen, wo ich im Hörbuch bin: ein Satz für eine Benachrichtigung oder einen Lautsprecher, zum Beispiel „alice ist bei 33 % von Quiet Morning von Jane Doe, noch 7 min.“ Wähle den Benutzer; leer: alle, die gerade hören oder ein Buch in Arbeit haben. Ergebnisse: der Satz, der Titel, der Fortschritt.
Szenenideen
- Gutenachtgeschichte: Bei Wiedergabe gestartet für den Benutzer der Kinder nach 20 Uhr das Licht im Kinderzimmer dimmen; bei Wiedergabe gestoppt ausschalten.
- Morgenpodcast: Jeden Tag um 6 Uhr Nach neuen Podcast-Episoden suchen; bei Neue Podcast-Episode heruntergeladen für deine tägliche Sendung eine Benachrichtigung mit ihrem Titel senden.
- Glückwunsch: Bei Buch oder Episode beendet mit dem Typ Hörbuch eine Glückwunschnachricht mit dem Titel des Buchs senden.
Fehlerbehebung
- „der Server antwortet nicht“: Prüfe Adresse und Port vom Gladys-Rechner
aus. Gladys führt die Integration in einem Container aus:
localhostist der Container selbst, verwende die IP-Adresse des Rechners. - „API-Schlüssel abgelehnt“: Der Schlüssel wurde gelöscht, deaktiviert oder ist abgelaufen; erstelle einen neuen.
- „dieser API-Schlüssel gehört keinem Administrator“: Erstelle den Schlüssel für einen Benutzer vom Typ admin oder root.
- „kein Audiobookshelf-Server unter dieser Adresse“ oder „die Adresse
leitet um“: Ein Server hinter einem Reverse Proxy braucht seinen Pfad
(
https://example.org/audiobookshelf); eine Anmeldeseite des Proxys blockiert die API: Verwende die lokale Adresse. - „Zertifikat abgelehnt“: HTTPS mit einem selbstsignierten Zertifikat wird
nicht unterstützt; verwende die
http://-Adresse in deinem Netzwerk. - Kein Cover: Audiobookshelf hat keines für dieses Buch oder diesen Podcast.
- Die Integration protokolliert nur ihren Lebenszyklus; mit
LOG_LEVEL=debugprotokolliert sie auch jedes Wiedergabeereignis mit den Titeln.
Grenzen
- Die Sitzungen werden alle 15 bis 60 Sekunden gelesen, nicht gepusht: Ein Start oder ein Ende erreicht Gladys innerhalb dieses Intervalls (90 Sekunden bei einer Pause).
- Bibliotheken, Benutzer, Fortschritt und die heute gehörte Zeit werden alle 5 Minuten gelesen, und sofort für einen Benutzer, der eine Wiedergabe startet oder beendet.
- Bücher, die vor mehr als 24 Stunden beendet, und Episoden, die vor mehr als 24 Stunden heruntergeladen wurden, werden nicht gemeldet (ein zwei Tage gestopptes Gladys spielt sie nicht nach).
- E-Books und ihr Lesefortschritt werden nicht unterstützt.
- Keine Wiedergabesteuerung: Audiobookshelf erlaubt keine Fernsteuerung seiner Player.
- Nicht mit dem Audiobookshelf-Projekt verbunden.
Konfigurationseinstellungen
Diese Einstellungen fragt Audiobookshelf in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Verbindung zu deinem Audiobookshelf-Server | section | Nein | Gib die Adresse des Servers (zum Beispiel http://192.168.1.20:13378) und einen API-Schlüssel eines Administrators ein: in Audiobookshelf unter Einstellungen > API-Schlüssel > Hinzufügen, für einen Admin. Vor Version 2.26 nimm das API-Token eines Admins (Einstellungen > Benutzer). |
| Server-URL | string | Ja | Adresse des Servers mit Port (13378 beim Docker-Image, oft 80). Eine https-Adresse hinter einem Reverse Proxy funktioniert ebenfalls. |
| API-Schlüssel (Administrator) | secret | Ja | |
| Aktualisierung der Wiedergaben | select | Nein | Wie oft die offenen Wiedergabesitzungen gelesen werden. Bibliotheken, Benutzer und Fortschritt werden alle 5 Minuten gelesen. |
| Sprache der Namen | select | Nein | Sprache der Funktionsnamen und der Texte der Szenenaktionen. Die Namen werden beim Erstellen eines Geräts festgelegt: Um sie nach einer Änderung umzubenennen, lösche das Gerät und füge es erneut hinzu. |
So installierst du Audiobookshelf in Gladys
- Öffne in Gladys Integrationen: Audiobookshelf erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-audiobookshelf:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-audiobookshelf.
Audiobookshelf benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Audiobookshelf ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation