Sonos Audio Multiroom + Intégration KNX via 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.
Sélection de produits Sonos pour projets KNX
Le choix du bon appareil Sonos pour chaque zone détermine la qualité audio, la complexité d'installation et la méthode d'intégration. Le tableau ci-dessous couvre tous les produits Sonos actuels pertinents pour les installations KNX résidentielles et hôtelières.
| Modèle | Meilleure zone | Caractéristique clé | Remarques |
|---|---|---|---|
| Era 300 | Salon / espace ouvert | Audio spatial (Dolby Atmos) | Meilleur enceinte autonome pour grandes pièces |
| Era 100 | Chambre / cuisine | Compact, double tweeter | Remplace One – zone secondaire idéale |
| Arc | Salle TV / cinéma | Barre de son Dolby Atmos | HDMI eARC – s'associe au téléviseur via un relais KNX |
| Beam G2 | Zone TV compacte | Barre de son, HDMI ARC | Petites pièces ; bonne scène sonore |
| Move 2 | Terrasse / portable | Batterie 24h, IP56, Wi-Fi + BT | Aucun haut-parleur passif nécessaire à l'extérieur |
| Roam | Zone jardin / piscine | IP67, batterie 10h, socle de charge | Véritablement étanche – pour piscine ou jardin |
| Amp | Zones de haut-parleurs passifs | 2× 125W, Ethernet, entrée ligne | Alimente des haut-parleurs 8Ω existants encastrés au plafond |
Fonctionnement de l'API Sonos locale
Sonos exécute une pile UPnP locale sur chaque appareil. Aucun abonnement cloud n'est requis pour le contrôle LAN – l'API HTTP Sonos répond sur le port 1400 et est détectable via mDNS (Bonjour). Home Assistant trouve automatiquement tous les appareils Sonos sur le LAN lors de la configuration ; aucune adresse IP ne doit être saisie manuellement.
Points de terminaison de l'API locale
- • HTTP sur le port 1400 (SOAP/UPnP)
- • Type de service mDNS : _sonos._tcp
- • Fonctionne sur un LAN isolé (pas besoin d'internet)
- • Abonnement aux événements via le port 3400
- • L'intégration HA Sonos utilise l'API locale par défaut
- • Response time: <100ms typical on same LAN
Configuration de l'intégration HA Sonos
- Activer la découverte dans HA (Paramètres → Intégrations)
- Sonos devices appear automatically under "Discovered"
- Click "Add" — no credentials needed
- Chaque enceinte Sonos devient une entité media_player
- Configurez les noms de zones pour qu'ils correspondent aux étiquettes des pièces
- L'intégration KNX s'installe séparément (même instance HA)
KNX → Sonos : exemples d'automatisation
Les automatisations suivantes couvrent les cas d'utilisation les plus courants de Sonos déclenchés par KNX dans les projets résidentiels. Toutes utilisent le format d'automatisation YAML de Home Assistant et nécessitent que les intégrations KNX et Sonos soient actives dans HA.
1. KNX binaire ON → Sonos Salon jouer la 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. Déclenchement alarme Ajax → toutes les zones jouent l'alarme à 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. Sonnette invité → carillon dans la cuisine et le salon
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 : pousser le morceau en cours sur l'écran Gira
Les écrans tactiles Gira X1 et G1 affichent les valeurs de chaîne KNX DPT 16.001. L'automatisation ci-dessous envoie le nom de l'artiste et le titre actuels à une adresse de groupe KNX à chaque changement de média lu – ainsi le panneau de la pièce affiche toujours ce qui est joué.
Morceau en cours → adresse de groupe 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 prend en charge 14 caractères maximum (encodage ISO 8859-1). Tronquez l'artiste et le titre pour les adapter. Pour les chaînes plus longues, utilisez DPT 16.000 (ASCII) ou les objets d'affichage propriétaires Gira si disponibles sur le firmware de l'écran tactile.
Regroupement Sonos depuis KNX
When a 'Party' KNX scene fires, all speakers should play the same source in sync. Thesonos.joinHA regroupe les enceintes sous un coordinateur (la première entité) en quelques millisecondes.
Scène KNX Party → groupe salon + cuisine
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.50Contrôle du volume multiroom depuis KNX
KNX envoie le volume soit sous forme d'un flottant 2 octets (DPT 9.001, plage 0–100) soit d'un pas relatif 1 octet (DPT 5.001, plage 0–255 → 0–100%). Les deux sont pris en charge :
Volume KNX → Sonos (absolu + relatif)
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_roomBibliothèque musicale locale : NAS, Plex, musique d'ascenseur
Sonos lit depuis n'importe quel partage SMB ou serveur Plex/Jellyfin sur le LAN sans accès Internet. Ceci est particulièrement utile pour la musique d'ambiance dans le hall d'un hôtel, les annonces en salle de conférence ou la musique d'ascenseur où une playlist fixe doit être diffusée 24h/24 et 7j/7 indépendamment de la connectivité Spotify.
Bibliothèque musicale NAS
- • Sonos → Paramètres → Ajouter une bibliothèque musicale
- • Parcourir le partage SMB sur le NAS
- • Indexation : automatique, ~1h pour 10 000 pistes
- • Lecture : LAN direct, pas de cloud
Plex Media Server
- • Installer Plex sur le NAS ou le serveur
- • Ajouter Plex comme service musical Sonos
- • HA : media_player.play_media avec URI plex://
- • Fonctionne hors ligne si le serveur Plex est sur le LAN
Hôtel / usage commercial
- • Musique libre de droits : Epidemic Sound, Artlist
- • Télécharger les pistes sur le NAS — aucun coût de streaming
- • Le planning KNX déclenche la playlist par zone
- • Différentes zones : hall, bar, restaurant, spa
Intégration audio dans votre tableau KNX
Nous concevons des tableaux avec des circuits d'alimentation Sonos Amp, des sorties relais KNX pour la commutation des amplificateurs et des sorties analogiques 0-10V pour le contrôle du volume – le tout pré-testé avant livraison.
Demander un devis →