🇬🇧 English version: README.en.md · 🇩🇪 Deutsch (diese Datei)
Smartspacer-Plugin, das einen Home-Assistant-Sensorwert per REST-API abruft und als Smartspacer-Target (z. B. auf dem Homescreen / Sperrbildschirm) anzeigt.
Du brauchst drei Angaben:
| Feld | Woher? | Beispiel |
|---|---|---|
| Home Assistant Base-URL | Die Adresse, unter der du Home Assistant im Browser öffnest — ohne Pfad, ohne abschließenden / |
http://homeassistant.local:8123 oder https://ha.example.de |
| Long-Lived Access Token | In Home Assistant: unten links auf deinen Benutzernamen klicken → Tab Sicherheit → ganz unten Langlebige Zugangstoken → Token erstellen. Der Token wird nur einmal angezeigt — direkt kopieren! | eyJhbGciOiJIUzI1... (sehr lange Zeichenkette) |
| Entity-ID | In Home Assistant: Entwicklerwerkzeuge → Zustände, dort den Sensor suchen. Die Entity-ID steht in der ersten Spalte. | sensor.aussentemperatur |
Tipp: Ob URL, Token und Entity-ID stimmen, kannst du vorab im Browser/Terminal testen:
curl -H "Authorization: Bearer DEIN_TOKEN" http://homeassistant.local:8123/api/states/sensor.aussentemperaturKommt JSON mit
"state": "..."zurück, passt alles. Alternativ in der Einrichtung den Button „Verbindung testen" nutzen.
- Smartspacer-App öffnen
- Zu Targets wechseln → + (Target hinzufügen)
- In der Liste „Home Assistant Sensor" auswählen
- Es öffnet sich automatisch die Einrichtungsseite dieses Plugins — hier die drei Werte eintragen:
- Home Assistant Base-URL
- Long-Lived Access Token
- Entity-ID
- Optional „Verbindung testen" tippen (zeigt sofort den Sensorwert oder den Fehler), dann Speichern
Direkt nach dem Speichern wird der erste Wert im Hintergrund abgerufen; bis dahin zeigt das
Target kurz „Lädt …". Danach aktualisiert sich der Wert automatisch etwa alle 15 Minuten.
Als Symbol wird das Icon des Sensors aus Home Assistant übernommen (aus icon bzw.
device_class), sonst ein Haus-Symbol.
- Auf das Target tippen (Homescreen/Sperrbildschirm) öffnet den Verlauf dieses Sensors in der Home-Assistant-App (ist die App nicht installiert, wird die Weboberfläche im Browser geöffnet).
- Zum Ändern der Werte in der Smartspacer-App unter Targets das „Home Assistant Sensor"- Target öffnen und dessen Einstellungen aufrufen — die Felder sind mit den gespeicherten Werten vorausgefüllt.
Das Target kann mehrfach hinzugefügt werden — jede Instanz hat ihre eigene URL, ihren eigenen Token und ihre eigene Entity-ID. Einfach in Smartspacer ein weiteres „Home Assistant Sensor"-Target anlegen.
Zusätzlich zum Sensor-Target bringt das Plugin eine Bedingung („Requirement") mit. Damit kannst du in Smartspacer beliebige Targets/Complications davon abhängig machen, ob du zuhause bist.
- In Smartspacer beim gewünschten Target/Complication die Bedingungen („Requirements") öffnen und eine hinzufügen.
- In der Liste „Home Assistant: Zuhause" auswählen.
- Base-URL, Token und die Anwesenheits-Entity eintragen. Das ist die Entität, die in Home
Assistant deine Anwesenheit abbildet — meist
person.…oderdevice_tracker.…, mit Zustandhome/not_home. - Optional „Verbindung testen" tippen, dann Speichern.
Die Bedingung ist erfüllt, wenn der Zustand home ist. In Smartspacer lässt sie sich
invertieren, um „nur wenn ich unterwegs bin" abzubilden.
Hinweis zur Aktualität: Bedingungen werden von Smartspacer nur ausgewertet, wenn die Smartspace sichtbar wird oder ein zugehöriges Target aktualisiert — nicht in festem Takt. Die Anwesenheit wird dabei höchstens etwa alle 2 Minuten neu aus Home Assistant geholt. Für „zuhause/unterwegs" ist das ausreichend, es ist aber kein sekundengenaues Live-Tracking.
- Das Target lässt sich nicht wegwischen; entfernen geht nur über die Smartspacer-Einstellungen (dabei werden die gespeicherten Werte inkl. Token gelöscht).
- Bei Netzwerkfehlern bleibt der letzte bekannte Wert stehen — es wird nichts geleert.
Ein
unavailable/unknown-Zustand wird als „Nicht verfügbar" angezeigt. - Der Access Token wird in EncryptedSharedPreferences (androidx.security) verschlüsselt im Android-Keystore abgelegt.
- Lokale Adressen (
http://…) werden unterstützt; für externen Zugriff (z. B. Nabu Casa) immerhttpsverwenden. - Der Token sollte in Home Assistant einem Benutzer mit möglichst wenig Rechten gehören, wenn du auf Nummer sicher gehen willst.
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
Voraussetzung: Smartspacer ist auf dem Gerät installiert.