Sonos Audio Multiroom + Integracja z KNX przez Home Assistant
Sonos is the de-facto standard for multi-room audio in European KNX smart homes — not because it speaks KNX, but because it doesn't need to. Home Assistant acts as the bridge, translating KNX group address telegrams into Sonos local API calls without any cloud dependency.
Wybór produktu Sonos do projektów KNX
Wybór odpowiedniego urządzenia Sonos dla każdej strefy decyduje o jakości dźwięku, złożoności instalacji i metodzie integracji. Poniższa tabela obejmuje wszystkie obecne produkty Sonos istotne dla instalacji KNX w budynkach mieszkalnych i hotelowych.
| Model | Najlepsza strefa | Kluczowa cecha | Uwagi |
|---|---|---|---|
| Era 300 | Salon / otwarta przestrzeń | Dźwięk przestrzenny (Dolby Atmos) | Najlepszy samodzielny głośnik do dużych pomieszczeń |
| Era 100 | Sypialnia / kuchnia | Kompaktowy, podwójne głośniki wysokotonowe | Zastępuje One – idealna strefa dodatkowa |
| Arc | Pokój TV/kino | Soundbar Dolby Atmos | HDMI eARC – łączy się z telewizorem przez przekaźnik KNX |
| Beam G2 | Kompaktowa strefa TV | Soundbar, HDMI ARC | Mniejsze pomieszczenia; dobra scena dźwiękowa |
| Move 2 | Taras / przenośny | Bateria 24h, IP56, Wi-Fi + BT | Brak potrzeby stosowania pasywnych głośników na zewnątrz |
| Roam | Strefa ogrodu / basenu | IP67, bateria 10h, stacja ładująca | Prawdziwie wodoodporny – do basenu lub ogrodu |
| Amp | Strefy głośników pasywnych | 2× 125W, Ethernet, wejście liniowe | Napędza istniejące głośniki sufitowe 8Ω |
Jak działa lokalne API Sonos
Sonos uruchamia lokalny stos UPnP na każdym urządzeniu. Do sterowania przez LAN nie jest wymagana subskrypcja chmurowa – API HTTP Sonos odpowiada na porcie 1400 i jest wykrywalne przez mDNS (Bonjour). Home Assistant automatycznie znajduje wszystkie urządzenia Sonos w sieci LAN podczas konfiguracji; nie trzeba ręcznie wprowadzać adresów IP.
Lokalne punkty końcowe API
- • HTTP na porcie 1400 (SOAP/UPnP)
- • Typ usługi mDNS: _sonos._tcp
- • Działa w izolowanej sieci LAN (nie wymaga internetu)
- • Subskrypcja zdarzeń przez port 3400
- • Integracja HA Sonos domyślnie korzysta z lokalnego API
- • Response time: <100ms typical on same LAN
Konfiguracja integracji HA Sonos
- Włącz wykrywanie w HA (Ustawienia → Integracje)
- Sonos devices appear automatically under "Discovered"
- Click "Add" — no credentials needed
- Każdy głośnik Sonos staje się encją media_player
- Skonfiguruj nazwy stref, aby pasowały do etykiet pomieszczeń
- Integracja KNX instaluje się osobno (ta sama instancja HA)
KNX → Sonos: przykłady automatyzacji
Poniższe automatyzacje obejmują najczęstsze przypadki użycia Sonos sterowanego przez KNX w projektach mieszkaniowych. Wszystkie korzystają z formatu automatyzacji YAML Home Assistant i wymagają aktywnej integracji KNX i Sonos w HA.
1. KNX binarny WŁ. → Sonos Salon odtwarzaj playlistę Spotify
automation:
- alias: "KNX Living Room audio ON"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "1/0/0" # KNX binary DPT 1.001
value: true
action:
- service: media_player.play_media
target:
entity_id: media_player.living_room
data:
media_content_id: "spotify:playlist:37i9dQZF1DX4sWSpwq3LiO"
media_content_type: music
- service: media_player.volume_set
target:
entity_id: media_player.living_room
data:
volume_level: 0.352. 'Dinner' KNX scene → Sonos volume 30%, play Jazz radio
automation:
- alias: "KNX Dinner scene → Jazz radio"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "4/0/2" # KNX scene DPT 18.001, scene value 4
action:
- service: media_player.volume_set
target:
entity_id: media_player.dining_room
data:
volume_level: 0.30
- service: media_player.play_media
target:
entity_id: media_player.dining_room
data:
media_content_id: "https://jazz24.org/jazz24-256k.mp3"
media_content_type: music3. 'Departure' KNX binary → pause all Sonos + cut TV power
automation:
- alias: "KNX Departure → pause audio + TV off"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "4/0/9" # Departure binary DPT 1.001
value: true
action:
- service: media_player.media_pause
target:
entity_id: all # pause every Sonos speaker
- service: knx.send
data:
address: "2/0/5" # KNX relay: TV power off
payload: false4. Wyzwolenie alarmu Ajax → wszystkie strefy odtwarzają alarm na 100%
automation:
- alias: "Ajax alarm → Sonos full-volume alarm"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "3/0/0" # Ajax alarm zone, DPT 1.001
value: true
action:
- service: media_player.volume_set
target:
entity_id: all
data:
volume_level: 1.0
- service: media_player.play_media
target:
entity_id: all
data:
media_content_id: "http://192.168.1.10/media/alarm.mp3"
media_content_type: music5. Dzwonek gościa → dźwięk w kuchni i salonie
automation:
- alias: "Doorbell → Sonos chime"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "0/0/10" # Doorbell binary DPT 1.001
value: true
action:
- service: media_player.play_media
target:
entity_id:
- media_player.kitchen
- media_player.living_room
data:
media_content_id: "http://192.168.1.10/media/chime.mp3"
media_content_type: musicSonos → KNX: wysyłanie aktualnie odtwarzanego utworu na wyświetlacz Gira
Ekrany dotykowe Gira X1 i G1 wyświetlają wartości łańcuchów KNX DPT 16.001. Poniższa automatyzacja wysyła aktualną nazwę artysty i tytułu na adres grupowy KNX przy każdej zmianie odtwarzanego medium – dzięki czemu panel pokoju zawsze pokazuje, co jest odtwarzane.
Aktualnie odtwarzane → adres grupowy KNX DPT 16.001
automation:
- alias: "Sonos now-playing → KNX string"
trigger:
- platform: state
entity_id: media_player.living_room
attribute: media_title
action:
- service: knx.send
data:
address: "1/0/50" # DPT 16.001 — 14-char string max
payload: >
{{ state_attr('media_player.living_room', 'media_artist')
| truncate(6, True, '') }} -
{{ state_attr('media_player.living_room', 'media_title')
| truncate(6, True, '') }}KNX DPT 16.001 obsługuje maksymalnie 14 znaków (kodowanie ISO 8859-1). Skróć artystę i tytuł, aby się zmieściły. W przypadku dłuższych łańcuchów użyj DPT 16.000 (ASCII) lub własnych obiektów wyświetlacza Gira, jeśli są dostępne w oprogramowaniu ekranu dotykowego.
Grupowanie Sonos przez KNX
When a 'Party' KNX scene fires, all speakers should play the same source in sync. Thesonos.joinHA grupuje głośniki pod koordynatorem (pierwszym urządzeniem) w ciągu milisekund.
Scena imprezowa KNX → grupa salon + kuchnia
automation:
- alias: "KNX Party scene → Sonos group"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "4/0/5" # Party scene DPT 18.001
action:
- service: sonos.join
data:
master: media_player.living_room
entity_id:
- media_player.kitchen
- media_player.dining_room
- media_player.terrace
- service: media_player.volume_set
target:
entity_id: media_player.living_room
data:
volume_level: 0.50Sterowanie głośnością Multiroom z KNX
KNX wysyła głośność jako 2-bajtową liczbę zmiennoprzecinkową (DPT 9.001, zakres 0–100) lub 1-bajtowy krok względny (DPT 5.001, zakres 0–255 → 0–100%). Obie są obsługiwane:
Głośność KNX → Sonos (bezwzględna + względna)
automation:
- alias: "KNX absolute volume → Sonos"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "1/0/20" # DPT 9.001 float, 0–100
action:
- service: media_player.volume_set
target:
entity_id: media_player.living_room
data:
volume_level: "{{ trigger.event.data.value | float / 100 }}"
- alias: "KNX relative volume step → Sonos"
trigger:
- platform: event
event_type: knx_event
event_data:
destination: "1/0/21" # DPT 5.001 relative, up/down
action:
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.event.data.value > 128 }}"
sequence:
- service: media_player.volume_up
target:
entity_id: media_player.living_room
- conditions:
- condition: template
value_template: "{{ trigger.event.data.value <= 128 }}"
sequence:
- service: media_player.volume_down
target:
entity_id: media_player.living_roomLokalna biblioteka muzyczna: NAS, Plex, muzyka w windzie
Sonos odtwarza z dowolnego udziału SMB lub serwera Plex/Jellyfin w sieci LAN bez dostępu do Internetu. Jest to szczególnie przydatne w przypadku muzyki w tle w hotelowym lobby, ogłoszeń w salach konferencyjnych lub muzyki w windzie, gdzie stała playlista musi grać 24/7 niezależnie od łączności ze Spotify.
Biblioteka muzyczna NAS
- • Sonos → Ustawienia → Dodaj bibliotekę muzyczną
- • Przeglądaj udział SMB na NAS
- • Indeksowanie: automatyczne, ~1h na 10 000 utworów
- • Odtwarzanie: bezpośrednie LAN, brak chmury
Plex Media Server
- • Zainstaluj Plex na NAS lub serwerze
- • Dodaj Plex jako usługę muzyczną Sonos
- • HA: media_player.play_media z URI plex://
- • Działa offline, jeśli serwer Plex w sieci LAN
Hotel / zastosowanie komercyjne
- • Muzyka bez licencji: Epidemic Sound, Artlist
- • Pobieranie utworów na NAS – brak kosztów streamingu
- • Harmonogram KNX uruchamia playlistę według strefy
- • Różne strefy: lobby, bar, restauracja, spa
Powiązane przewodniki
Integracja audio w panelu KNX
Projektujemy panele z obwodami zasilania Sonos Amp, wyjściami przekaźnikowymi KNX do przełączania wzmacniaczy oraz wyjściami analogowymi 0-10V do regulacji głośności – wszystko wstępnie przetestowane przed dostawą.
Poproś o wycenę →