Strava Smart-Home-Integration, kostenlos und Open Source

Ihre Strava-Aktivitäten und -Statistiken in Gladys: Sensoren, Szenen und Widgets.
Holen Sie Ihre Strava-Aktivitäten in Gladys: Sensoren mit Ihrer letzten Aktivität und Ihren Wochen-, Monats- und Jahresdistanzen, Szenen-Auslöser, wenn Sie eine Aktivität beenden oder einen persönlichen Rekord brechen, und zwei Dashboard-Widgets.
Erfordert Gladys 5.1 oder neuer und ein Strava-Konto (ein kostenloses Konto genügt).
1. Erstellen Sie Ihre Strava-API-Anwendung
Strava gibt jedem Nutzer eine eigene API-Anwendung: Die Integration verwendet Ihre, sodass Ihre Daten nur zwischen Strava und Ihrem Gladys übertragen werden.
- Melden Sie sich auf strava.com an und öffnen Sie Einstellungen → Meine API-Anwendung.
- Füllen Sie das Formular aus:
- Application Name: zum Beispiel
Gladys; - Category:
Other; - Website: die Adresse Ihres Gladys oder
https://gladysassistant.com; - Authorization Callback Domain: der Hostname, den Sie im Browser
eingeben, um Gladys zu öffnen, ohne
http://, Port oder Pfad — zum Beispiel192.168.1.20odergladys.local. Wenn Sie Gladys über Gladys Plus öffnen, verwenden Sie stattdessen den Hostnamen dieser Adresse.localhostwird von Strava immer akzeptiert.
- Application Name: zum Beispiel
- Laden Sie ein beliebiges Symbol hoch, falls Strava danach fragt, und speichern Sie.
- Lassen Sie die Seite geöffnet: Sie benötigen die Client ID und das Client Secret.
2. Die Integration konfigurieren
- Öffnen Sie in Gladys Integrationen → Strava → Konfiguration.
- Fügen Sie die Client ID und das Client Secret ein und speichern Sie.
- Klicken Sie neben „Strava-Konto“ auf Verbinden: Strava bittet Sie, die Anwendung zu autorisieren. Lassen Sie alle Berechtigungen angehakt (auch die für private Aktivitäten, sonst fehlen Ihre privaten Aktivitäten) und bestätigen Sie.
- Zurück in Gladys wechselt der Status auf „verbunden“ und im Tab Erkennung erscheint ein Gerät Strava: Fügen Sie es hinzu, um seine Sensoren zu erhalten.
Optionen:
- Einheiten: metrisch (km, m, km/h) oder imperial (mi, ft, mph). Eine Änderung aktualisiert die Gerätedefinition: Übernehmen Sie das im Tab Erkennung angebotene Update.
- Aktualisierungsintervall: wie oft Strava gelesen wird, standardmäßig alle 15 Minuten (mindestens 5 Minuten, Strava begrenzt die Anzahl der Anfragen).
- Wöchentliches Distanzziel: alle Sportarten zusammen, in km (oder Meilen). Wird vom Auslöser „Strava-Wochenziel erreicht“ und vom Dashboard-Widget verwendet; 0 deaktiviert es.
3. Sofortige Benachrichtigungen mit Gladys Plus (optional)
Ohne Gladys Plus erscheint eine neue Aktivität bei der nächsten Aktualisierung. Mit Gladys Plus fügen Sie Ihren Gladys-Plus-Open-API-Schlüssel im Block „Gladys Plus Webhooks“ der Konfigurationsseite ein: Die Integration registriert dann einen Strava-Webhook, und Strava meldet jede neue Aktivität innerhalb von Sekunden.
Strava erlaubt einen Webhook pro API-Anwendung: Verwenden Sie für jedes Gladys eine eigene Anwendung.
Das Strava-Gerät
| Sensor | Einheit |
|---|---|
| Letzte Aktivität (Name) / Sportart | Text |
| Distanz der letzten Aktivität | km oder mi |
| Bewegungszeit der letzten Aktivität | Minuten |
| Höhenmeter der letzten Aktivität | m oder ft |
| Durchschnittsgeschwindigkeit der letzten Akt. | km/h oder mph |
| Distanz / Bewegungszeit dieser Woche | km oder mi / Min. |
| Lauf-, Rad-, Schwimmdistanzen, letzte 4 Wochen | km oder mi |
| Lauf-, Rad-, Schwimmdistanzen dieses Jahr | km oder mi |
Die Woche beginnt am Montag, in der Zeitzone Ihrer letzten Aktivität. Die Summen der 4 Wochen und des Jahres stammen von Strava selbst: Sie zählen nur Lauf-, Rad- und Schwimmaktivitäten und nur die für alle sichtbaren Aktivitäten.
Szenen
Die Integration fügt dem Szenen-Editor eigene Karten in der Kategorie Integrationen hinzu.
Auslöser:
- Neue Strava-Aktivität — eine Aktivität wurde aufgezeichnet oder
hochgeladen. Optional nach Sportart filterbar (Laufen, Radfahren, Schwimmen,
Gehen oder Wandern, andere). Die folgenden Aktionen können
{{triggerEvent.data.name}},sport,sport_type,distance,distance_unit,moving_time(Minuten),elevation_gain,average_speed,pr_count,activity_idundurlverwenden. - Persönlicher Strava-Rekord — eine neue Aktivität hat mindestens einen
Ihrer Rekorde gebrochen (
name,sport,pr_count,url...). - Strava-Wochenziel erreicht — die Distanz der Woche hat Ihr Ziel
erreicht, einmal pro Woche (
week_distance,goal,week_activities).
Jede Aktivität wird einmal gemeldet, auch nach einem Neustart; Aktivitäten, die vor der Verknüpfung des Kontos existierten, werden nicht gemeldet.
Aktionen:
- Strava synchronisieren — liest Strava sofort; gibt
new_activitieszurück. - Strava-Statistiken abrufen — Distanz, Bewegungszeit, Höhenmeter und Anzahl eines Zeitraums (diese Woche, letzte 4 Wochen, dieses Jahr, gesamt) für eine Sportart oder alle, zur Verwendung in einer Nachricht: „{{...distance}} {{...distance_unit}} diese Woche!“.
- Letzte Strava-Aktivität abrufen — Name, Sportart, Distanz, Dauer und Link Ihrer letzten Aktivität.
Jede Aktion gibt außerdem linked zurück: false, wenn kein Konto verknüpft
ist, sodass eine Szene dies prüfen kann, statt fehlzuschlagen.
Beispiel: „Wenn ein neuer Lauf aufgezeichnet wird, schicke mir eine Telegram-Nachricht mit seiner Distanz und lass das Wohnzimmerlicht blinken, wenn es ein persönlicher Rekord war“.
Dashboard
- Strava diese Woche: Distanz, Bewegungszeit, Anzahl der Aktivitäten und Höhenmeter der Woche, ein Distanzdiagramm über 7 Tage, Ihr Wochenziel, die letzte Aktivität und Ihre Lauf- und Raddistanzen des Jahres. Synchronisieren aktualisiert sofort, Strava öffnen öffnet Ihr Profil.
- Strava-Aktivitäten: Ihre letzten Aktivitäten (3, 5 oder 8, optional nur eine Sportart); tippen Sie auf eine für die Details und einen Link zu Strava.
Aktionen der Konfigurationsseite
- Verbindung testen — liest Strava und zeigt, wer verbunden ist, und die Aktivitäten der Woche.
- Jetzt synchronisieren — aktualisiert alles sofort.
- Strava-Konto trennen — widerruft den Zugriff bei Strava und vergisst die Tokens. Klicken Sie auf Verbinden, um erneut ein Konto zu verknüpfen.
Fehlerbehebung
- „redirect_uri invalid“ auf der Strava-Seite: Die Authorization Callback Domain Ihrer Strava-Anwendung stimmt nicht mit der Adresse überein, über die Sie Gladys öffnen. Setzen Sie sie auf diesen Hostnamen (Schritt 1).
- Der Status meldet, dass Strava den Zugriff verweigert hat: Der Zugriff wurde auf strava.com widerrufen oder die Anwendung hat sich geändert. Klicken Sie erneut auf Verbinden.
- Das Abzeichen des Geräts zeigt einen orangefarbenen Punkt: Das Strava-Anfragelimit wurde erreicht; die nächste Aktualisierung holt es nach. Erhöhen Sie das Aktualisierungsintervall, wenn das häufig vorkommt.
- Prüfen Sie die Logs der Integration in der Gladys-Oberfläche (oder mit
docker logsauf dem Host); starten Sie den Container mitLOG_LEVEL=debugfür alle Details.
Sie können den Zugriff der Integration jederzeit unter strava.com/settings/apps widerrufen.
Strava ist eine Marke von Strava, Inc. Diese Integration steht in keiner Verbindung zu Strava.
Konfigurationseinstellungen
Diese Einstellungen fragt Strava in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Erstellen Sie Ihre Strava-API-Anwendung | section | Nein | Öffnen Sie auf strava.com Einstellungen > Meine API-Anwendung und erstellen Sie eine Anwendung. Geben Sie als „Authorization Callback Domain“ den Hostnamen ein, über den Sie Gladys erreichen ({{gladys_host}}). Kopieren Sie dann ihre Client ID und ihr Client Secret unten, speichern Sie und klicken Sie auf Verbinden. |
| Client ID | string | Ja | |
| Client Secret | secret | Ja | |
| Strava-Konto | oauth2 | Nein | Speichern Sie zuerst die Client ID und das Client Secret und verknüpfen Sie dann Ihr Strava-Konto. Lassen Sie auf der Strava-Seite alle Berechtigungen angehakt. |
| Einstellungen | section | Nein | Optional: Fügen Sie mit Gladys Plus Ihren Open-API-Schlüssel im Block „Gladys Plus Webhooks“ ein, um neue Aktivitäten innerhalb von Sekunden statt erst bei der nächsten Aktualisierung zu erhalten. |
| Einheiten | select | Nein | |
| Aktualisierungsintervall (min) | number | Nein | Wie oft Strava gelesen wird, in Minuten (5 bis 240). |
| Wöchentliches Distanzziel | number | Nein | In km (oder Meilen bei imperialen Einheiten), alle Sportarten zusammen. 0 deaktiviert das Ziel. |
So installierst du Strava in Gladys
- Öffne in Gladys Integrationen: Strava erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/quentinlegay/gladys-strava:1.0.2) 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/quentinlegay/gladys-strava.
Strava 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
Strava 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 quentinlegay 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