Files
bf-infra/docs/sonos-inventar.md
Christoph Emsenhuber 1e0e92671a TP7 📄 Sonos-Inventar: Migration abgeschlossen (alle 10 auf VLAN40) + HA-Integration
Alle Sonos jetzt auf VLAN40 (10.40.40.0/24), IPs per MAC DHCP-reserviert.
Korrigierte IPs (Arbeitszimmer .199/.200 → .191/.192, Arc hält .199).

Discovery-Merkregel dokumentiert: iOS-App + Home Assistant = mDNS/zeroconf
(_sonos._tcp.local.) → über Repeater lösbar; macOS-Desktop-App = SSDP
(quert VLAN nicht, kein Reflector gebaut); Spotify = Cloud.

Passend zur Router-Änderung (nicht im Repo): mdns-repeat-ifaces=
vlan10,vlan20,vlan40 (vlan20 für HA ergänzt) + forward/input-Regeln
vlan20<->vlan40. HA discovert per zeroconf selbst → self-healing der IPs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 19:29:22 +02:00

4.3 KiB

Sonos-Inventar (live, 2026-07-02)

Update 2026-07-02 (Migration abgeschlossen + HA-Integration):

  • Alle 10 Sonos sind jetzt auf VLAN 40 (MEDIA), 10.40.40.0/24 — die Vor-Migrations-Aufteilung (VLAN 1 / FritzBox-WLAN) ist Geschichte (FB seit 2026-07-01 ausgebaut, Edge-Cutover auf Arris-Bridge).
  • IPs per MAC fest reserviert im DHCP-Server dhcp-v40 auf ap1 (Leases dynamic:false) → stabil, dürfen in HA/Tools hart eingetragen werden. ⚠️ IPs haben sich ggü. dem alten Stand verschoben (Arbeitszimmer-Paar .199/.200 → .191/.192; Arc hält jetzt .199).
  • mDNS-Discovery quert jetzt VLANs: mdns-repeat-ifaces=vlan10,vlan20,vlan40 auf ap1 (2026-07-02 um vlan20 erweitert). Damit finden iOS-Sonos-App (vlan10) und Home Assistant (vlan20) die Boxen per Bonjour/_sonos._tcp.local. automatisch. Firewall: forward-accept vlan10↔vlan40 und vlan20↔vlan40 gesetzt (TP5-safe), plus input-accept udp/5353 für vlan10/vlan20/vlan40.
  • Desktop-Sonos-App (macOS) nutzt SSDP (UDP 1900) statt mDNS → quert die VLAN-Grenze nicht (RouterOS reflektiert kein SSDP). Für die Mac-App bräuchte es einen SSDP-Reflector mit Bein je VLAN — bewusst nicht gebaut (iOS-App + HA decken den Bedarf ab). Spotify Connect geht ohnehin (Cloud).

Erhoben zero-dep über die Sonos-HTTP-API (:1400) mit mcp/sonos/sonos-inv.py --seeds 10.40.40.199. Alle 10 Geräte S2 (SWGen=2). Sonos hat keine API zum WLAN-Umstellen — Migration passiert am Netz.

Bestand (10 Sonos, alle live auf VLAN 40)

aktuelle IP Modell (Nr.) Zone / Rolle MAC SW Status
10.40.40.191 SYMFONISK Bookshelf (S21) Arbeitszimmer (L) 34:7E:5C:32:37:96 86.7 ✅ bound
10.40.40.192 SYMFONISK Bookshelf (S21) Arbeitszimmer (R) 34:7E:5C:32:33:B8 86.7 ✅ bound
10.40.40.193 SYMFONISK Table lamp (S20) Schlafzimmer (L) 78:28:CA:80:2A:F6 86.7 ✅ bound
10.40.40.195 SYMFONISK Table lamp (S20) Schlafzimmer (R) 78:28:CA:82:16:C2 86.7 ✅ bound
10.40.40.194 Sonos One SL (S22) Bad 48:A6:B8:14:FE:D0 95.0 ✅ bound
10.40.40.196 Sonos One SL (S22) Kinderzimmer 48:A6:B8:16:38:AE 95.0 ✅ bound
10.40.40.197 Sonos One SL (S22) Küche 48:A6:B8:14:FE:F2 95.0 ✅ bound
10.40.40.199 Sonos Arc (S19) Wohnzimmer (LF,RF) — HT-Coordinator 48:A6:B8:0B:63:10 95.0 ✅ bound
10.40.40.200 Sonos Amp (S16) Wohnzimmer (LR,RR) — HT-Surrounds 48:A6:B8:69:69:7B 95.0 ✅ bound
10.40.40.201 Sonos Sub Wohnzimmer (SW) — HT-Sub 94:9F:3E:49:59:EE 86.7 ✅ bound

Zusätzlich (nicht Teil der ursprünglichen 10):

aktuelle IP Zone / Rolle MAC Status
10.40.40.198 SonosTerrasse 78:28:CA:D2:0D:AC ⏳ waiting (aktuell offline)

HA-Zuordnung (Beispiel): der Arc meldet sich als RINCON_48A6B80B631001400@Wohnzimmer._sonos._tcp.local. (RINCON = MAC ohne Trenner + 01400).

Home Assistant

  • HA (INFRA/VLAN 20) entdeckt Sonos per zeroconf/mDNS (_sonos._tcp.local.), nicht SSDP → seit der Repeater-vlan20-Erweiterung (2026-07-02) findet HA die Boxen wieder selbst und zieht die aktuellen 10.40.40.x-IPs nach (self-healing, keine manuellen Hosts nötig).
  • Steuern + Gruppieren läuft über die native Sonos-Integration (SOAP auf Port 1400), nicht AirPlay.
  • Falls IPs mal hart hinterlegt werden sollen: obige Tabelle ist die SSoT; IPs sind DHCP-reserviert = stabil.

Home-Theater-Bond „Wohnzimmer"

Arc (.199, Coordinator) + Amp (.200, Surrounds) + Sub (.201) sind aneinander gebunden — beim Umzug/Reset zusammen behandeln.

Household-Partitionierung (Tooling-Gotcha — historisch)

Früher war ZoneGroupState pro VLAN partitioniert (Multicast querte VLANs nicht) → Tool brauchte einen Seed je Partition. Obsolet, seit alle Sonos in VLAN 40 zusammenstehen: ein einziger Seed genügt.

Werkzeug

mcp/sonos/sonos-inv.py (zero-dep, kein Daemon). Inventar:

./mcp/sonos/sonos-inv.py --seeds 10.40.40.199            # Tabelle
./mcp/sonos/sonos-inv.py --seeds 10.40.40.199 --json     # maschinenlesbar
./mcp/sonos/sonos-inv.py --seeds 10.40.40.199 --verify 40 # Exit!=0 wenn ein Gerät nicht in VLAN 40