Sonos · KNX · Home Assistant · 8 min czytania

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.

ModelNajlepsza strefaKluczowa cechaUwagi
Era 300Salon / otwarta przestrzeńDźwięk przestrzenny (Dolby Atmos)Najlepszy samodzielny głośnik do dużych pomieszczeń
Era 100Sypialnia / kuchniaKompaktowy, podwójne głośniki wysokotonoweZastępuje One – idealna strefa dodatkowa
ArcPokój TV/kinoSoundbar Dolby AtmosHDMI eARC – łączy się z telewizorem przez przekaźnik KNX
Beam G2Kompaktowa strefa TVSoundbar, HDMI ARCMniejsze pomieszczenia; dobra scena dźwiękowa
Move 2Taras / przenośnyBateria 24h, IP56, Wi-Fi + BTBrak potrzeby stosowania pasywnych głośników na zewnątrz
RoamStrefa ogrodu / basenuIP67, bateria 10h, stacja ładującaPrawdziwie wodoodporny – do basenu lub ogrodu
AmpStrefy głośników pasywnych2× 125W, Ethernet, wejście linioweNapę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

  1. Włącz wykrywanie w HA (Ustawienia → Integracje)
  2. Sonos devices appear automatically under "Discovered"
  3. Click "Add" — no credentials needed
  4. Każdy głośnik Sonos staje się encją media_player
  5. Skonfiguruj nazwy stref, aby pasowały do etykiet pomieszczeń
  6. 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.35

2. '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: music

3. '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: false

4. 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: music

5. 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: music

Sonos → 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.50

Sterowanie 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_room

Lokalna 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

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ę →
Ładowanie...
Powrót do góry