diff --git a/README.md b/README.md
index 7f29e2b..c2d0c92 100644
--- a/README.md
+++ b/README.md
@@ -1,33 +1,30 @@
-# Busch-Radio Spotify Bridge
+
+
+
-Spotify-Musik auf dem Busch-Jäger Unterputz-Internetradio – ohne Bluetooth.
+Busch-Radio Spotify Bridge
+
+
+ Spotify-Musik auf dem Busch-Jäger Unterputz-Internetradio – ohne Bluetooth.
+
+
+---
## Problem
-Das **Busch-Jäger Unterputz-Internetradio** (z.B. 8217 U) kann nur vordefinierte oder eigene Internetradio-Streams abspielen. Es hat kein Bluetooth und keine Spotify-Integration. Spotify-Musik lässt sich damit direkt nicht wiedergeben.
+Das **Busch-Jäger Unterputz-Internetradio** kann nur Internetradio-Streams abspielen. Es hat kein Bluetooth und keine Spotify-Integration. Spotify-Musik lässt sich damit direkt nicht wiedergeben.
## Lösung
-Dieses Projekt enthält:
+Dieses Projekt besteht aus zwei Teilen:
-1. **Home Assistant Add-on** – erzeugt ein virtuelles **Spotify Connect-Gerät** im Netzwerk und stellt das Audio als HTTP-MP3-Stream bereit
+1. **Home Assistant Add-on** – startet ein virtuelles Spotify Connect-Gerät ([librespot](https://github.com/librespot-org/librespot)) und stellt das Audio als MP3-Stream über Icecast bereit
2. **Custom Component** (optional) – zeigt den Stream-Status als Media-Player-Entity in HA an
+### Funktionsweise
+
```
-Spotify-App
- │
- │ Spotify Connect (WiFi)
- ▼
-┌─────────────────────────────────────────────┐
-│ Home Assistant Add-on │
-│ │
-│ librespot ──(PCM)──▶ ffmpeg ──(MP3)──▶ Icecast │
-│ (Spotify Connect) (Kodierung) (HTTP-Server) │
-└─────────────────────────────────────────────┘
- │
- │ HTTP-Stream: http://ha-ip:8000/stream.mp3
- ▼
-Busch-Jäger Radio
+Spotify-App → [Spotify Connect] → librespot → PCM → ffmpeg → Icecast2 → HTTP-Stream → Busch-Jäger Radio
```
---
@@ -36,176 +33,96 @@ Busch-Jäger Radio
| Anforderung | Details |
|---|---|
-| Home Assistant | OS, Supervised oder Container (Add-on benötigt Supervisor) |
+| Home Assistant | OS, Supervised oder Container |
| Spotify Premium | Pflicht für Spotify Connect |
| Busch-Jäger Radio | Muss benutzerdefinierte Stream-URLs unterstützen |
-| Netzwerk | HA und Smartphone im gleichen WLAN/LAN |
-
-> **Wichtig:** Die kostenlose Version von Spotify unterstützt **kein** Spotify Connect. Ein Premium-Abo ist erforderlich.
---
## Installation
-### 1. Add-on installieren
+### 1. Repository in HA hinzufügen
-#### Option A: Repository in HA hinzufügen
-
-1. Navigiere zu **Einstellungen → Add-ons → Add-on Store**
-2. Klicke oben rechts auf **⋮ → Repositories**
-3. Trage die URL dieses Repositories ein
-4. Das Add-on **Busch-Radio Spotify Bridge** erscheint im Store
-5. Installiere es (Kompilierung von librespot dauert ~10-15 Minuten)
-
-#### Option B: Manuell (für Entwickler)
-
-```bash
-# Repository klonen
-git clone https://gitea.bitfire.work/retr0/Busch-Radio-Spotify.git
-
-# ha-addon-Verzeichnis in HA Add-on-Pfad kopieren
-# (unter Home Assistant OS: /addons/busch_radio_spotify)
-cp -r busch-radio-spotify/ha-addon /addons/busch_radio_spotify
-
-# In HA: Einstellungen → Add-ons → Add-on Store → ⋮ → Lokale Add-ons prüfen
-```
+1. **Einstellungen → Add-ons → Add-on Store**
+2. Drei Punkte oben rechts → **Repositories**
+3. URL eintragen: `https://gitea.bitfire.work/retr0/Busch-Radio-Spotify`
+4. **Busch-Radio Spotify Bridge** erscheint im Store
+5. Installieren (der erste Build dauert ~10–15 Minuten wegen Rust-Kompilierung)
### 2. Add-on konfigurieren
-Navigiere zu **Einstellungen → Add-ons → Busch-Radio Spotify Bridge → Konfiguration**:
-
```yaml
-device_name: "Busch-Radio" # Name in der Spotify-App
-bitrate: 320 # 96 / 160 / 320 kbps
-stream_port: 8000 # HTTP-Port des Streams
-stream_mount: "/stream.mp3" # URL-Pfad
-icecast_password: "geheim" # Sicherheitspasswort (bitte ändern!)
-username: "" # Spotify-Konto (optional, s.u.)
-password: "" # Spotify-Passwort (optional, s.u.)
+device_name: "Busch-Radio" # Name in der Spotify-App
+bitrate: 320 # 96 / 160 / 320 kbps
+stream_port: 8000 # HTTP-Port des Streams
+stream_mount: "/stream.mp3" # URL-Pfad
+icecast_password: "geheim" # Icecast-Passwort (bitte ändern)
```
-> **Hinweis zu `username`/`password`:** Diese Felder sind optional. Ohne Zugangsdaten
-> wird das Gerät über **Zeroconf/mDNS** automatisch im Netzwerk gefunden – das ist
-> die empfohlene Methode. Zugangsdaten werden nur benötigt, wenn mDNS im Netzwerk
-> blockiert ist.
+### 3. Add-on starten & Spotify autorisieren
-### 3. Netzwerk-Port freigeben
+Beim **ersten Start** erscheint im Log eine Anleitung. Folge diesen Schritten:
-Im Tab **Netzwerk** des Add-ons den Port `8000` auf `8000` mappen (oder einen anderen freien Port wählen).
+1. Im Log erscheint eine Zeile wie:
+ ```
+ Browse to: https://accounts.spotify.com/authorize?...
+ ```
+ Kopiere diese URL vollständig und öffne sie im Browser.
-### 4. Add-on starten
+2. Melde dich mit deinem Spotify-Konto an und erteile die Berechtigung.
-Im Tab **Info** auf **Starten** klicken. Die Logs zeigen:
+3. Dein Browser wird danach weitergeleitet auf eine URL wie:
+ ```
+ http://127.0.0.1:5588/login?code=...
+ ```
+ Diese Seite schlägt fehl – **das ist normal**.
+
+4. **Ersetze** in der Adressleiste `127.0.0.1` durch die IP deines Home-Assistant-Servers und drücke Enter:
+ ```
+ http://:5588/login?code=...
+ ```
+
+5. Bei Erfolg zeigt der Browser: `Autorisierung erfolgreich!`
+ Das Add-on startet danach automatisch durch.
+
+Die Credentials werden dauerhaft unter `/data/librespot-cache/` gespeichert — **dieser Schritt ist nur einmalig nötig**.
+
+### 4. Stream im Radio eintragen
+
+Trage folgende URL im Busch-Jäger Radio ein:
```
-[INFO] Busch-Radio Spotify Bridge v1.0.0
-[INFO] Stream-URL für das Busch-Jäger Radio:
-[INFO] http://:8000/stream.mp3
-[INFO] Wähle 'Busch-Radio' in der Spotify-App als Abspielgerät.
+http://:8000/stream.mp3
```
-### 5. Stream im Busch-Jäger Radio eintragen
+### 5. Musik abspielen
-Im Radio-Menü (je nach Modell verschieden) eine neue Internetradio-Station anlegen:
+1. **Spotify-App** öffnen
+2. Abspielgerät wechseln → **„Busch-Radio"** auswählen
+3. Das Radio spielt den Stream automatisch ab
-```
-URL: http://:8000/stream.mp3
-```
+---
-Ersetze `` durch die tatsächliche IP-Adresse deines Home Assistant, z.B. `192.168.1.100`.
+## Custom Component (optional)
-> **Tipp:** Die IP-Adresse findest du in HA unter **Einstellungen → System → Netzwerk**.
+Die Custom Component zeigt den Stream-Status als Media-Player-Entity in HA.
-### 6. Optional: Custom Component installieren
-
-Für die Status-Anzeige in HA:
+**Installation:**
```bash
-# custom_components-Verzeichnis in HA config kopieren
-cp -r custom_components/busch_radio_spotify \
- /config/custom_components/busch_radio_spotify
-
+cp -r custom_components/busch_radio_spotify /config/custom_components/
# HA neu starten
```
-Dann unter **Einstellungen → Integrationen → Integration hinzufügen → Busch-Radio Spotify Bridge** einrichten.
+Dann unter **Einstellungen → Integrationen → Busch-Radio Spotify Bridge** einrichten. Das Passwort muss mit `icecast_password` aus der Add-on-Konfiguration übereinstimmen.
----
-
-## Bedienung
-
-1. Öffne die **Spotify-App** auf Smartphone oder Computer
-2. Spiele ein Lied ab
-3. Tippe auf das **Gerät-Symbol** (unten in der App)
-4. Wähle **"Busch-Radio"** (oder deinen konfigurierten Gerätenamen)
-5. Die Musik wird automatisch über den Stream an das Radio übertragen
-
-> Das Radio muss die Stream-URL bereits abgespielt haben oder neu eingestellt werden,
-> sobald Spotify mit dem Abspielen beginnt.
-
----
-
-## Einrichtung der Stream-URL im Radio (Modellabhängig)
-
-### Busch-Jäger 8217 U / ähnliche Modelle
-
-1. Ins Radio-Menü navigieren (meist über die Benutzeroberfläche oder App)
-2. **Meine Sender → Sender hinzufügen** oder **Internetradio → Eigene URL**
-3. URL eingeben: `http://192.168.1.100:8000/stream.mp3`
-4. Namen vergeben: z.B. "Spotify"
-5. Speichern und Stream starten
-
-### Alternativ: Über vTuner/Frontier Silicon Portal
-
-Einige Busch-Jäger Modelle nutzen vTuner als Radio-Backend:
-1. Auf `http://www.wifiradio-frontier.com` registrieren
-2. Unter "Meine Sender" → "Sender hinzufügen" die Stream-URL eintragen
-3. Im Radio synchronisieren
-
----
-
-## Custom Component – Media Player Entity
-
-Nach der Installation der Custom Component erscheint ein neuer Entity in HA:
-
-**Entity-ID:** `media_player.busch_radio_192_168_1_100`
-
-| State | Bedeutung |
-|---|---|
-| `playing` | Mindestens ein Hörer verbunden |
-| `idle` | Quelle aktiv, aber kein Hörer |
-| `off` | Icecast nicht erreichbar |
-
-**Attribute:**
+**Entity-Attribute:**
| Attribut | Beschreibung |
|---|---|
| `stream_url` | Die URL für das Radio |
| `listeners` | Anzahl aktiver Hörer |
-| `source_connected` | Ob librespot an Icecast sendet |
-| `bitrate_kbps` | Aktuelle Bitrate |
-
-**Dashboard-Karte (Beispiel):**
-
-```yaml
-type: media-control
-entity: media_player.busch_radio_192_168_1_100
-```
-
-**Automatisierung – Radio starten wenn Spotify beginnt:**
-
-```yaml
-automation:
- alias: "Busch-Radio wenn Spotify spielt"
- trigger:
- platform: state
- entity_id: media_player.busch_radio_192_168_1_100
- to: "playing"
- action:
- service: notify.mobile_app
- data:
- message: "Spotify spielt auf dem Busch-Radio"
-```
+| `source_connected` | Ob Audio gestreamt wird |
---
@@ -213,100 +130,47 @@ automation:
### Komponenten
-| Komponente | Funktion | Version |
-|---|---|---|
-| [librespot](https://github.com/librespot-org/librespot) | Spotify Connect Client | Aktuell via cargo |
-| [ffmpeg](https://ffmpeg.org) | PCM → MP3 Transkodierung | Via Alpine apk |
-| [Icecast](https://icecast.org) | HTTP-Stream-Server | Via Alpine apk |
+| Komponente | Funktion |
+|---|---|
+| [librespot](https://github.com/librespot-org/librespot) v0.7.0 | Spotify Connect Client (PCM-Ausgabe via Pipe) |
+| [ffmpeg](https://ffmpeg.org) | PCM → MP3 Transkodierung |
+| [Icecast](https://icecast.org) | HTTP-Stream-Server |
-### Signalfluss im Detail
+### Signalfluss
```
-Spotify CDN → (verschlüsselt, OGG Vorbis)
- → librespot (dekodiert, gibt PCM aus)
- → stdout (44100 Hz, S16LE, Stereo = 176.4 KB/s)
- → ffmpeg stdin
- → MP3-Kodierung (libmp3lame, 320 kbps ≈ 40 KB/s)
- → Icecast (HTTP-Streaming-Server)
- → Busch-Jäger Radio (HTTP-Client)
+Spotify CDN → librespot (dekodiert, PCM auf stdout)
+ → ffmpeg (44100 Hz / S16LE / Stereo → MP3 320k)
+ → Icecast (HTTP-Stream)
+ → Busch-Jäger Radio
```
-### PCM-Format von librespot
-- Sample Rate: 44100 Hz
-- Bit-Tiefe: 16-bit signed, Little-Endian
-- Kanäle: 2 (Stereo)
-- Rohe Datenrate: ~172 KB/s
+### Hinweise zum Build
-### Restart-Verhalten
-
-Die Pipeline `librespot | ffmpeg` wird bei Absturz automatisch nach 5 Sekunden neu gestartet. Icecast bleibt davon unberührt.
+- librespot wird aus dem Quellcode kompiliert (Rust, ~10–15 Min.)
+- Der OAuth-Server wird beim Build gepatcht: bindet an `0.0.0.0` statt `127.0.0.1`, damit der Browser-Login aus dem Heimnetz funktioniert
+- Credentials werden in `/data/librespot-cache/` persistent gespeichert
---
## Fehlerbehebung
-### Das Gerät erscheint nicht in der Spotify-App
-
-**Ursachen & Lösungen:**
-
-- **Add-on läuft nicht** → Add-on-Status in HA prüfen
-- **Anderes WLAN/Subnetz** → Smartphone und HA müssen im selben Netzwerk sein
-- **mDNS blockiert** → Spotify-Zugangsdaten in der Add-on-Konfig eintragen
-- **Gerätename bereits vergeben** → `device_name` in der Konfig ändern
-- **Firewall** → Port 5353 (mDNS/UDP) und Port 8000 (TCP) freigeben
-
-### Kein Audio / Stream leer
-
-```bash
-# Im Browser öffnen – sollte die Icecast-Statusseite zeigen:
-http://homeassistant-ip:8000
-
-# Wenn das funktioniert, aber kein Audio:
-# → In Spotify das Gerät "Busch-Radio" auswählen und abspielen
-```
-
-### Stream bricht ab beim Pausieren
-
-Das ist das erwartete Verhalten: Wenn Spotify pausiert, sendet librespot nichts mehr an Icecast. Das Radio verliert die Verbindung.
-
-**Lösung:** Nach dem Fortsetzen der Wiedergabe in Spotify den Stream im Radio kurz stoppen und wieder starten.
-
-*Zukünftige Verbesserung: Stille-Generierung bei Pause geplant.*
-
-### ffmpeg startet nicht / Kodierungsfehler
-
-```bash
-# Add-on Logs prüfen auf Zeilen wie:
-[WARNING] [ffmpeg] ...
-
-# Häufige Ursachen:
-# - libmp3lame nicht installiert (ffmpeg ohne MP3-Support)
-# - Icecast-Passwort stimmt nicht überein
-# - Port 8000 bereits belegt
-```
-
-### Icecast antwortet mit 401 (in der Custom Component)
-
-Das Passwort in der Custom Component-Konfiguration stimmt nicht mit `icecast_password` im Add-on überein. Integration neu einrichten.
+| Problem | Lösung |
+|---|---|
+| „Busch-Radio" erscheint nicht in Spotify | OAuth-Autorisierung abschließen (Logs prüfen) |
+| Stream-Seite nicht erreichbar | Icecast-Status: `http://ha-ip:8000` |
+| OAuth-Weiterleitung schlägt fehl | Normal – `127.0.0.1` in Adressleiste durch HA-IP ersetzen |
+| Stream bricht bei Pause ab | Normal – Radio nach Fortsetzen neu verbinden |
+| Build schlägt fehl | Logs im Add-on Store prüfen |
---
## Rechtliche Hinweise
-### librespot und Spotify ToS
-
-- Dieses Projekt nutzt **librespot**, eine quelloffene Reimplementierung des Spotify-Clients
-- Librespot ist ein **Spotify Connect-Client** und kein Downloader/Recorder
-- Audio wird **nicht gespeichert** – nur live gestreamt
-- Die Nutzung im privaten Heimbereich ist technisch weitgehend akzeptiert, kann aber gegen **Abschnitt 2.5** von Spotifys Nutzungsbedingungen verstoßen
-- **Spotify Premium ist erforderlich** – kostenlose Konten funktionieren nicht
-- Dieses Projekt ist ausschließlich für den **persönlichen Privatgebrauch** gedacht
-
-### Verwendete Open-Source-Lizenzen
-
-- **librespot** – MIT License
-- **ffmpeg** – LGPL 2.1+ / GPL 2+
-- **Icecast** – GPL 2
+- Dieses Projekt nutzt **librespot**, eine Open-Source-Reimplementierung des Spotify-Clients
+- Audio wird **nicht gespeichert** – ausschließlich live gestreamt
+- Ausschließlich für den **privaten Heimgebrauch** gedacht
+- **Spotify Premium** ist für Spotify Connect erforderlich
---
@@ -314,46 +178,27 @@ Das Passwort in der Custom Component-Konfiguration stimmt nicht mit `icecast_pas
```
busch-radio-spotify/
-├── ha-addon/ # Home Assistant Add-on
+├── busch_radio_spotify/ # Home Assistant Add-on
│ ├── Dockerfile # Multi-Stage Build (Rust + Alpine)
│ ├── config.yaml # Add-on Manifest & Optionen
-│ ├── build.yaml # Multi-Arch Build-Konfiguration
-│ └── run.sh # Startup-Script (Icecast + librespot + ffmpeg)
-│
+│ ├── build.yaml # Multi-Arch Konfiguration
+│ ├── run.sh # Startup-Script
+│ ├── icon.png # Add-on Icon (Store)
+│ └── logo.png # Add-on Logo (Detailseite)
├── custom_components/ # Optionale HA Integration
│ └── busch_radio_spotify/
-│ ├── __init__.py # Integration Setup
-│ ├── manifest.json # Integration Manifest
-│ ├── media_player.py # Media Player Entity (Icecast-Polling)
-│ ├── config_flow.py # Grafische Einrichtung
-│ ├── strings.json # UI-Texte
+│ ├── __init__.py
+│ ├── manifest.json
+│ ├── media_player.py
+│ ├── config_flow.py
│ └── translations/
-│ ├── de.json # Deutsch
-│ └── en.json # Englisch
-│
-├── example-config.yaml # Kommentierte Beispielkonfiguration
-└── README.md # Diese Datei
+├── example-config.yaml # Beispielkonfiguration
+├── repository.yaml # HA Repository-Manifest
+└── README.md
```
---
-## Geplante Verbesserungen
-
-- [ ] Stille-Generierung bei Spotify-Pause (verhindert Stream-Abbruch im Radio)
-- [ ] Lautstärke-Steuerung über HA (librespot unterstützt DBUS)
-- [ ] Track-Metadaten (Titel, Künstler) via librespot-Event-System
-- [ ] OGG-Stream Option für bessere Qualität bei gleicher Bitrate
-- [ ] Automatischer Start des Radios beim Verbinden (via HA-Automation)
-
----
-
-## Beitragen
-
-Issues und Pull Requests sind willkommen auf:
-`https://gitea.bitfire.work/retr0/Busch-Radio-Spotify`
-
----
-
## Lizenz
-MIT License – siehe [LICENSE](LICENSE)
+MIT License
diff --git a/busch_radio_spotify/Dockerfile b/busch_radio_spotify/Dockerfile
index 24bf0ea..8237515 100644
--- a/busch_radio_spotify/Dockerfile
+++ b/busch_radio_spotify/Dockerfile
@@ -23,15 +23,17 @@ RUN apk add --no-cache \
RUN git clone --depth 1 --branch v0.7.0 \
https://github.com/librespot-org/librespot.git /build && \
cd /build && \
- # OAuth-Server auf allen Interfaces binden (statt nur localhost).
- # Rust-Code kann die Adresse auf verschiedene Weisen schreiben:
+ # OAuth-Server auf allen Interfaces binden (statt nur 127.0.0.1).
+ # get_authcode_listener() bestimmt die Bind-Adresse aus dem redirect_uri-Parameter.
+ # Wir patchen den TcpListener::bind-Aufruf direkt, sodass er immer an 0.0.0.0
+ # bindet (mit dem gleichen Port wie im redirect_uri angegeben).
+ # Außerdem ersetzen wir die englische Browser-Meldung durch eine deutsche.
sed -i \
- -e 's/127\.0\.0\.1/0.0.0.0/g' \
- -e 's/\[127, 0, 0, 1\]/[0, 0, 0, 0]/g' \
- -e 's/Ipv4Addr::LOCALHOST/Ipv4Addr::UNSPECIFIED/g' \
+ -e 's/TcpListener::bind(socket_address)/TcpListener::bind(std::net::SocketAddrV4::new(std::net::Ipv4Addr::UNSPECIFIED, socket_address.port()))/' \
+ -e 's/Go back to your terminal :)/Autorisierung erfolgreich! Du kannst diesen Tab schliessen./' \
oauth/src/lib.rs && \
- echo "--- oauth/src/lib.rs (Addr-Zeilen nach Patch) ---" && \
- grep -n "0\.0\.0\|UNSPECIFIED\|127\|LOCALHOST" oauth/src/lib.rs || true && \
+ echo "--- oauth/src/lib.rs (Patch-Zeilen) ---" && \
+ grep -n "UNSPECIFIED\|Autorisierung\|SocketAddrV4" oauth/src/lib.rs || true && \
cargo build \
--release \
--locked \
diff --git a/busch_radio_spotify/config.yaml b/busch_radio_spotify/config.yaml
index 5a650d0..37a02b9 100644
--- a/busch_radio_spotify/config.yaml
+++ b/busch_radio_spotify/config.yaml
@@ -1,6 +1,6 @@
---
name: "Busch-Radio Spotify Bridge"
-version: "1.0.6"
+version: "1.0.7"
slug: busch_radio_spotify
description: >
Streamt Spotify-Musik als Internet-Radio-Stream für das Busch-Jäger Unterputz-Internetradio.
diff --git a/busch_radio_spotify/run.sh b/busch_radio_spotify/run.sh
index 6955b07..edb85cc 100644
--- a/busch_radio_spotify/run.sh
+++ b/busch_radio_spotify/run.sh
@@ -139,6 +139,15 @@ bashio::log.info "Icecast läuft (PID: ${ICECAST_PID})"
CREDENTIAL_CACHE="/data/librespot-cache"
mkdir -p "${CREDENTIAL_CACHE}"
+# ── IP-Adresse des Hosts ermitteln (für OAuth-Anleitung) ─────────────────────
+HA_IP=$(ip route get 1 2>/dev/null | awk '{for(i=1;i<=NF;i++) if($i=="src") print $(i+1)}' | head -1)
+if [ -z "${HA_IP}" ]; then
+ HA_IP=$(hostname -I 2>/dev/null | awk '{print $1}')
+fi
+if [ -z "${HA_IP}" ]; then
+ HA_IP=""
+fi
+
# ── Librespot-Argumente zusammenstellen ───────────────────────────────────────
# Zeroconf/mDNS funktioniert nicht zuverlässig in Containern, da Port 5353
# vom Host (systemd-resolved/avahi) bereits belegt ist.
@@ -162,9 +171,23 @@ else
bashio::log.info "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
bashio::log.info "ERSTER START – Spotify-Autorisierung erforderlich!"
bashio::log.info ""
- bashio::log.info "librespot gibt gleich eine URL aus. Öffne diese"
- bashio::log.info "im Browser und melde dich mit deinem Spotify-Konto an."
- bashio::log.info "Danach startet das Add-on automatisch durch."
+ bashio::log.info "1) librespot gibt gleich eine 'Browse to:'-URL aus."
+ bashio::log.info " Kopiere diese URL und öffne sie im Browser."
+ bashio::log.info ""
+ bashio::log.info "2) Melde dich mit deinem Spotify-Konto an"
+ bashio::log.info " und erteile die Berechtigung."
+ bashio::log.info ""
+ bashio::log.info "3) Dein Browser wird danach weitergeleitet auf:"
+ bashio::log.info " http://127.0.0.1:5588/login?code=..."
+ bashio::log.info " Diese Seite schlägt fehl – das ist normal."
+ bashio::log.info ""
+ bashio::log.info "4) WICHTIG: Ersetze in der Adressleiste"
+ bashio::log.info " '127.0.0.1' durch '${HA_IP}'"
+ bashio::log.info " → http://${HA_IP}:5588/login?code=..."
+ bashio::log.info " und drücke Enter."
+ bashio::log.info ""
+ bashio::log.info "5) Bei Erfolg siehst du: 'Autorisierung erfolgreich!'"
+ bashio::log.info " Das Add-on startet danach automatisch."
bashio::log.info "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
fi