Sonos multiroom audio + KNX integrācija caur 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.
Sonos izvēle KNX projektiem
Pareizā Sonos ierīces izvēle katrai zonai nosaka skaņas kvalitāti, uzstādīšanas sarežģītību un integrācijas metodi. Zemāk esošā tabula aptver visas pašreizējās Sonos ierīces, kas ir būtiskas KNX dzīvojamām un viesnīcu instalācijām.
| Modelis | Labākā zona | Galvenā īpašība | Piezīmes |
|---|---|---|---|
| Era 300 | Dzīvojamā istaba / atvērtais plāns | Telpiskā skaņa (Dolby Atmos) | Labākais atsevišķais skaļrunis lielām telpām |
| Era 100 | Guļamistaba / virtuve | Kompakts, divi tvīteri | Aizstāj One — ideāli otrai zonai |
| Arc | TV / kino telpa | Dolby Atmos skaņas josla | HDMI eARC — savieno ar TV caur KNX releju |
| Beam G2 | Kompakta TV zona | Skaņas josla, HDMI ARC | Mazākas telpas; laba skaņas skatuve |
| Move 2 | Terase / pārnēsājams | Akumulators 24h, IP56, Wi-Fi + BT | Pasīvie skaļruņi ārā nav nepieciešami |
| Roam | Dārzs / baseina zona | IP67, 10h akumulators, uzlādes statīvs | Pilnīgi ūdensizturīgs — baseinam vai dārzam |
| Amp | Pasīvo skaļruņu zonas | 2× 125W, Ethernet, līnijas ieeja | Vada esošos griestu 8Ω skaļruņus |
Kā darbojas Sonos lokālais API
Katrā Sonos ierīcē darbojas savs UPnP steks. Lai vadītu lokālajā tīklā, nav nepieciešams mākoņa abonements — Sonos HTTP API atbild uz 1400. porta un ir atrodams caur mDNS (Bonjour). Home Assistant instalācijas laikā automātiski atrod visas Sonos ierīces lokālajā tīklā; IP adreses nav jāievada manuāli.
Lokālie API gala punkti
- • HTTP uz 1400. portu (SOAP/UPnP)
- • mDNS pakalpojuma veids: _sonos._tcp
- • Darbojas izolētā LAN (internets nav nepieciešams)
- • Notikumu abonēšana caur 3400. portu
- • HA Sonos integrācija pēc noklusējuma izmanto lokālo API
- • Response time: <100ms typical on same LAN
HA Sonos integrācijas iestatīšana
- Ieslēdziet atklāšanu HA (Iestatījumi → Integrācijas)
- Sonos devices appear automatically under "Discovered"
- Click "Add" — no credentials needed
- Katrs Sonos skaļrunis kļūst par media_player vienību
- Konfigurējiet zonu nosaukumus atbilstoši telpu nosaukumiem
- KNX integrācija tiek instalēta atsevišķi (tajā pašā HA instancē)
KNX → Sonos: automatizācijas piemēri
Šīs automatizācijas aptver visbiežāk sastopamos KNX vadītos Sonos lietošanas gadījumus dzīvojamos projektos. Visas izmanto Home Assistant YAML automatizācijas formātu un prasa, lai HA būtu aktīvas gan KNX, gan Sonos integrācijas.
1. KNX binārais ieslēgts → Sonos viesistabā atskaņo Spotify atskaņošanas sarakstu
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. Ajax trauksme → visās zonās atskaņot trauksmi 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. Viesu durvju zvans → skaņa virtuvē un viesistabā
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: pašreizējās dziesmas nosūtīšana uz Gira displeju
Gira X1 un G1 skārienekrāni attēlo KNX DPT 16.001 virkņu vērtības. Zemāk esošā automatizācija nosūta pašreizējo izpildītāju un dziesmas nosaukumu uz KNX grupas adresi ikreiz, kad mainās atskaņotais medijs — tāpēc telpas panelis vienmēr rāda, kas tiek atskaņots.
Pašreizējā dziesma → KNX grupas adrese 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 atbalsta maksimāli 14 rakstzīmes (ISO 8859-1 kodējums). Saīsiniet izpildītāju un nosaukumu, lai tie ietilptu. Garākām virknēm izmantojiet DPT 16.000 (ASCII) vai Gira patentētos attēlošanas objektus, ja tie ir pieejami skārienekrāna programmatūrā.
Sonos grupēšana no KNX
When a 'Party' KNX scene fires, all speakers should play the same source in sync. Thesonos.joinHA pakalpojums grupē skaļruņus zem koordinatora (pirmā elementa) milisekundēs.
KNX ballītes aina → grupēt viesistabu un virtuvi
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.50Daudztelpu skaļuma kontrole no KNX
KNX nosūta skaļumu kā 2 baitu peldošā komata skaitli (DPT 9.001, diapazons 0–100) vai 1 baitu relatīvu soli (DPT 5.001, diapazons 0–255 → 0–100%). Abi ir atbalstīti:
KNX skaļums → Sonos (absolūtais + relatīvais)
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_roomLokālā mūzikas bibliotēka: NAS, Plex, lifta mūzika
Sonos atskaņo no jebkura SMB koplietojuma vai Plex/Jellyfin servera lokālajā tīklā bez interneta piekļuves. Tas ir īpaši noderīgi viesnīcas foajē fona mūzikai, konferenču telpas paziņojumiem vai lifta mūzikai, kur fiksētam atskaņošanas sarakstam jāskan 24/7 neatkarīgi no Spotify savienojuma.
NAS mūzikas bibliotēka
- • Sonos → Iestatījumi → Pievienot mūzikas bibliotēku
- • Pārlūkot SMB koplietojamo mapi NAS
- • Automātiskā indeksēšana: ~1 stunda uz 10 000 dziesmām
- • Atskaņošana: tieši pa LAN, bez mākoņa
Plex Media Server
- • Instalējiet Plex uz NAS vai servera
- • Pievienojiet Plex kā Sonos mūzikas pakalpojumu
- • HA: media_player.play_media ar plex:// URI
- • Darbojas bezsaistē, ja Plex serveris ir lokālajā tīklā
Viesnīcām un komerciālām telpām
- • Bezlicences mūzika: Epidemic Sound, Artlist
- • Lejupielādējiet dziesmas uz NAS — bez straumēšanas izmaksām
- • KNX laika grafiks iedarbina atskaņošanas sarakstu pa zonām
- • Dažādas zonas: vestibils, bārs, restorāns, spa
Audio integrācija jūsu KNX panelī
Mēs projektējam paneļus ar Sonos Amp barošanas ķēdēm, KNX releju izejām pastiprinātāju pārslēgšanai un 0-10 V analogajām izejām skaļuma regulēšanai — viss iepriekš pārbaudīts pirms piegādes.
Pieprasīt cenu →