Sonos · KNX · Home Assistant · 8 min de lectura

Sonos Audio Multisala + Integración KNX a través de 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.

Selección de productos Sonos para proyectos KNX

Elegir el dispositivo Sonos adecuado para cada zona determina la calidad de audio, la complejidad de instalación y el método de integración. La siguiente tabla cubre todos los productos Sonos actuales relevantes para instalaciones KNX residenciales y hoteleras.

ModeloMejor zonaCaracterística claveNotas
Era 300Sala de estar / espacio abiertoAudio espacial (Dolby Atmos)Mejor altavoz independiente para habitaciones grandes
Era 100Dormitorio / cocinaCompacto, doble tweeterReemplaza a One – zona secundaria ideal
ArcSala de TV / cineBarra de sonido Dolby AtmosHDMI eARC – se empareja con el TV mediante relé KNX
Beam G2Zona TV compactaBarra de sonido, HDMI ARCHabitaciones pequeñas; buen escenario sonoro
Move 2Terraza / portátilBatería 24h, IP56, Wi-Fi + BTNo se necesitan altavoces pasivos en exteriores
RoamZona jardín / piscinaIP67, batería 10h, base de cargaRealmente impermeable – para piscina o jardín
AmpZonas de altavoces pasivos2× 125W, Ethernet, entrada de líneaImpulsa altavoces empotrados de techo 8Ω existentes

Cómo funciona la API local de Sonos

Sonos ejecuta una pila UPnP local en cada dispositivo. No se requiere suscripción en la nube para el control por LAN: la API HTTP de Sonos responde en el puerto 1400 y es detectable mediante mDNS (Bonjour). Home Assistant encuentra automáticamente todos los dispositivos Sonos en la LAN durante la configuración; no es necesario ingresar direcciones IP manualmente.

Puntos finales de la API local

  • • HTTP en el puerto 1400 (SOAP/UPnP)
  • • Tipo de servicio mDNS: _sonos._tcp
  • • Funciona en LAN aislada (sin necesidad de Internet)
  • • Suscripción a eventos a través del puerto 3400
  • • La integración HA Sonos usa la API local por defecto
  • • Response time: <100ms typical on same LAN

Configuración de la integración HA Sonos

  1. Habilitar el descubrimiento en HA (Configuración → Integraciones)
  2. Sonos devices appear automatically under "Discovered"
  3. Click "Add" — no credentials needed
  4. Cada altavoz Sonos se convierte en una entidad media_player
  5. Configure los nombres de las zonas para que coincidan con las etiquetas de las habitaciones
  6. La integración KNX se instala por separado (misma instancia de HA)

KNX → Sonos: ejemplos de automatización

Las siguientes automatizaciones cubren los casos de uso más comunes de Sonos activados por KNX en proyectos residenciales. Todas utilizan el formato de automatización YAML de Home Assistant y requieren que las integraciones KNX y Sonos estén activas en HA.

1. KNX binario ON → Sonos Sala de estar reproducir lista de reproducción de 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. Disparo de alarma Ajax → todas las zonas reproducen alarma al 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. Timbre de invitado → sonido en cocina y sala de estar

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: enviar la reproducción actual a la pantalla Gira

Las pantallas táctiles Gira X1 y G1 muestran valores de cadena KNX DPT 16.001. La automatización siguiente envía el nombre del artista y el título actual a una dirección de grupo KNX cada vez que cambia el medio en reproducción – así el panel de la habitación siempre muestra lo que se está reproduciendo.

Reproducción actual → dirección de grupo 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 admite un máximo de 14 caracteres (codificación ISO 8859-1). Trunque el artista y el título para que quepan. Para cadenas más largas, use DPT 16.000 (ASCII) u objetos de visualización propietarios de Gira si están disponibles en el firmware de la pantalla táctil.

Agrupación Sonos desde KNX

When a 'Party' KNX scene fires, all speakers should play the same source in sync. Thesonos.joinHA agrupa los altavoces bajo un coordinador (la primera entidad) en milisegundos.

Escena KNX Party → grupo salón + cocina

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

Control de volumen multizona desde KNX

KNX envía el volumen como un flotante de 2 bytes (DPT 9.001, rango 0–100) o un paso relativo de 1 byte (DPT 5.001, rango 0–255 → 0–100%). Ambos son compatibles:

Volumen KNX → Sonos (absoluto + relativo)

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

Biblioteca musical local: NAS, Plex, música de ascensor

Sonos reproduce desde cualquier recurso compartido SMB o servidor Plex/Jellyfin en la LAN sin acceso a Internet. Esto es particularmente útil para música de fondo en el vestíbulo de un hotel, anuncios en salas de conferencias o música de ascensor donde una lista de reproducción fija debe reproducirse 24/7 independientemente de la conectividad con Spotify.

Biblioteca musical NAS

  • Sonos → Configuración → Agregar biblioteca de música
  • Explorar recurso compartido SMB en NAS
  • Indexación: automática, ~1h por cada 10.000 pistas
  • Reproducción: LAN directa, sin nube

Plex Media Server

  • Instalar Plex en NAS o servidor
  • Agregar Plex como servicio de música de Sonos
  • HA: media_player.play_media con URI plex://
  • Funciona sin conexión si el servidor Plex está en la LAN

Hotel / uso comercial

  • Música sin licencia: Epidemic Sound, Artlist
  • Descargar pistas al NAS — sin costo de streaming
  • El horario KNX activa la lista de reproducción por zona
  • Diferentes zonas: lobby, bar, restaurante, spa

Integración de audio en su panel KNX

Diseñamos paneles con circuitos de alimentación Sonos Amp, salidas de relé KNX para conmutación de amplificadores y salidas analógicas 0-10V para control de volumen, todo probado antes de la entrega.

Solicitar presupuesto →
Cargando...
Volver arriba