
Sonos je vrhunski bežični audio sustav namijenjen reprodukciji u više prostorija (multiroom). TapHome sa zvučnicima Sonos komunicira u lokalnoj mreži preko UPnP/SOAP na portu 1400, bez veze s oblakom i bez autentifikacije. Predložak je univerzalan i radi sa svim modelima zvučnika Sonos (Era 100, Era 300, One, Five, Beam, Arc, Ray, Move, Roam, Sub i drugima).
Predložak nudi potpuno upravljanje reprodukcijom (reprodukcija, pauza, zaustavljanje, preskakanje), glasnoćom i isključivanjem zvuka, odabir načina reprodukcije, odgođeno isključivanje i do 10 tipkala za unaprijed postavljene popise za reprodukciju i radijske postaje. Skup od 14 servisnih atributa prikazuje podatke o uređaju i pjesmu koja se trenutačno reproducira.
Konfiguracija
Zvučnik Sonos spaja se preko Wi-Fi mreže. Pri uvozu predloška u TapHome unesite IP adresu zvučnika (u predlošku je unaprijed upisan primjer 192.168.0.1). Zvučnik mora biti u istoj mreži kao centralna jedinica TapHome (CCU).
Zvučnici Sonos podržavaju otkrivanje mDNS s nazivom hosta u obliku
Sonos-{MAC}.local(MAC adresa bez dvotočki). Naziv hosta sprječava probleme s vezom kada se IP adresa zvučnika promijeni nakon obnove DHCP zakupa.
Otvorite aplikaciju TapHome i koristite IP skener (Postavke → Mreža → Skeniranje). Skener pronalazi uređaje u vašoj mreži i prikazuje IP adresu i mDNS naziv hosta (npr. Sonos-B8E9375A1C02.local). Za pouzdaniju vezu koristite naziv hosta umjesto IP adrese.
Mogućnosti uređaja
Upravljanje glasnoćom
Predložak glasnoću prikazuje kao dimer. Glasnoća se očitava SOAP radnjom RenderingControl GetVolume (raspon 0–100) i dijeli sa 100 kako bi se dobila vrijednost dimera 0,0–1,0. Upis nove glasnoće šalje SetVolume sa željenom razinom. Glasnoća se očitava svakih 2,5 sekunde.
Dva dodatna tipkala (PushButton), Pojačaj glasnoću i Smanji glasnoću, omogućuju relativnu promjenu glasnoće. Njih obrađuje logika na strani centralne jedinice (CCU), a ne izravne SOAP radnje, pa se mogu povezati s fizičkim zidnim prekidačima ili smart rules.
Isključivanje zvuka
Isključivanje zvuka prikazuje se kao sklopka. Stanje se očitava pomoću GetMute, a upisuje pomoću SetMute na kanalu Master. Kada je zvuk isključen, audio izlaz je utišan bez promjene razine glasnoće.
Upravljanje reprodukcijom
Šest tipkala upravlja reprodukcijom:
- Reproduciraj — šalje AVTransport
Play(Speed=1) - Pauza — šalje AVTransport
Pause - Zaustavi — šalje AVTransport
Stop - Sljedeća pjesma — šalje AVTransport
Nextza prelazak na sljedeću pjesmu - Prethodna pjesma — šalje AVTransport
Previousza povratak na prethodnu pjesmu - Reproduciraj/Pauza — prebacuje između reprodukcije i pauze prema trenutačnom stanju reprodukcije (obrađuje logika na strani centralne jedinice)
Stanje reprodukcije
Binarni senzor samo za čitanje javlja reproducira li zvučnik trenutačno. Predložak očitava GetTransportInfo i preslikava stanja: PLAYING i TRANSITIONING daju 1 (reprodukcija), a STOPPED, NO_MEDIA_PRESENT i PAUSED_PLAYBACK daju 0 (nema reprodukcije). Očitava se svakih 2,5 sekunde.
Način reprodukcije
Način reprodukcije je prekidač s više vrijednosti sa šest načina:
| Vrijednost | Način | Opis |
|---|---|---|
| 0 | Normalno | Reprodukcija redom |
| 1 | Ponovi sve | Ponavljanje cijelog reda za reprodukciju |
| 2 | Ponovi jednu | Ponavljanje trenutačne pjesme |
| 3 | Nasumično bez ponavljanja | Nasumična reprodukcija bez ponavljanja |
| 4 | Nasumično | Nasumična reprodukcija s ponavljanjem |
| 5 | Nasumično, ponovi jednu | Nasumična reprodukcija, ponavljanje trenutačne pjesme |
Vrijednosti 6–9 neiskorištena su rezervna mjesta u konfiguraciji prekidača s više vrijednosti i nemaju funkciju.
Odgođeno isključivanje
Dva tipkala postavljaju odgođeno isključivanje radnjom AVTransport ConfigureSleepTimer:
- Odgođeno isključivanje (1 sat) — postavlja odbrojavanje na
01:00:00 - Odgođeno isključivanje (15 min) — postavlja odbrojavanje na
00:15:00
Nakon isteka vremena zvučnik automatski zaustavlja reprodukciju.
Unaprijed postavljeni popisi za reprodukciju i radijske postaje
Predložak nudi 10 tipkala za unaprijed postavljene sadržaje: 5 za popise za reprodukciju i 5 za radijske postaje. Svako tipkalo ima varijablu uređaja u koju korisnik mora upisati naziv željenog popisa za reprodukciju ili postaje. Skripta automatski obavlja pretraživanje, upravljanje redom za reprodukciju i reprodukciju.
Popisi za reprodukciju (tipkala 1–5): svako tipkalo za popis za reprodukciju koristi varijablu uređaja playlist_name. Skripta pretražuje popise za reprodukciju Sonos (Saved Queues) zvučnika preko spremnika ContentDirectory SQ: i traži točno podudaranje s dc:title (razlikuju se velika i mala slova). Kada pronađe podudaranje, skripta prazni trenutačni red za reprodukciju, dodaje u njega popis za reprodukciju i pokreće reprodukciju.
Postavljanje tipkala za popis za reprodukciju:
- Otvorite aplikaciju TapHome → otvorite uređaj popisa za reprodukciju → Varijable uređaja
- Postavite
playlist_namena točan naziv popisa za reprodukciju Sonos - Izrada popisa za reprodukciju Sonos: aplikacija Sonos → dodajte pjesme u red → Save Queue as Playlist
Podržani su samo popisi za reprodukciju Sonos (Saved Queues). Popis za reprodukciju Sonos može sadržavati pjesme iz većine servisa za streaming: Apple Music, Tidal, Amazon Music, YouTube Music, Deezer i drugih. Iznimka je Spotify: Spotify koristi vlastiti način integracije i njegove se pjesme ne mogu dodati u Sonos Saved Queues. Izrada popisa za reprodukciju Sonos: otvorite aplikaciju Sonos, dodajte željene pjesme u red i spremite red kao popis za reprodukciju.
Radijske postaje (tipkala 1–5): svako tipkalo za radio koristi varijablu uređaja radio_name. Skripta pretražuje Sonos Favorites preko spremnika ContentDirectory FV:2, traži točno podudaranje s dc:title (razlikuju se velika i mala slova) i filtrira protokol za radio streaming (x-sonosapi-stream).
Postavljanje tipkala za radio:
- Otvorite aplikaciju TapHome → otvorite uređaj radija → Varijable uređaja
- Postavite
radio_namena točan naziv postaje kako je prikazan u Sonos Favorites - Dodavanje postaje u Favorites: aplikacija Sonos → pregledajte TuneIn ili iHeartRadio → dodirnite ikonu srca/zvjezdice
Naziv se mora točno podudarati (razlikuju se velika i mala slova). Otvorite aplikaciju Sonos, idite na My Sonos → Favorites i prepišite naziv postaje znak po znak. Podržane su samo radijske postaje koje se streamaju; sadržaj na zahtjev iz Favorites neće raditi.
Servisna dijagnostika
Predložak nudi 14 servisnih atributa iz XML opisa uređaja (/xml/device_description.xml):
- Podaci o uređaju — naziv modela, URL modela, serijski broj, MAC adresa, naziv hosta, UDN (Unique Device Name)
- Softver — verzija softvera, generacija softvera, revizija hardvera, verzija API-ja, najniža verzija API-ja
- Konfiguracija Sonos — naziv prostorije, prikazni naziv
- Trenutačna reprodukcija — trenutačna pjesma (naslov, izvođač, album izdvojeni iz metapodataka DIDL-Lite pomoću
GetPositionInfo)
Atribut trenutačne pjesme dekodira metapodatke TrackMetaData kodirane u XML-u i vraća višeredni tekst s naslovom, izvođačem i albumom. Ako metapodaci nisu dostupni (npr. kod ulaza line-in), vraća „Not supported”.
Ograničenja
Predložak istodobno upravlja jednim zvučnikom. Grupiranje i razgrupiranje zona u više prostorija nije podržano: grupama upravljajte u aplikaciji Sonos. Ako je zvučnik dio grupe, predložak mora biti usmjeren na koordinatora grupe (vidi Rješavanje problema niže).
Dodatne mogućnosti
Sonos UPnP API nudi 16 servisa s mogućnostima izvan onoga što predložak trenutačno primjenjuje. Servis RenderingControl podržava podešavanje basa i visokih tonova te funkciju Loudness, kao i noćni način na modelima soundbara. Servis AVTransport omogućuje upravljanje prijelazom između pjesama (crossfade), premotavanje na zadano vrijeme ili skok na pjesmu po broju te potpuno upravljanje redom za reprodukciju (dodavanje, uklanjanje, promjena redoslijeda pjesama). Dostupni su i raspored alarma, postavke ekvilizatora za konfiguracije surround/subwoofer i stanje baterije na prijenosnim modelima (Move, Roam). Ove se mogućnosti mogu dodati u nekom budućem ažuriranju predloška.
Sonos postupno prelazi s API-ja UPnP/SOAP (port 1400) na noviji lokalni REST API. Početkom 2026. UPnP i dalje potpuno radi na svim modelima, uključujući Era 100, Era 300 i Arc Ultra. Ako Sonos u nekom budućem ažuriranju firmvera ograniči UPnP, predložak će možda trebati prilagoditi novom API-ju.
Rješavanje problema
Zvučnik ne odgovara
- Provjerite je li zvučnik Sonos uključen i spojen na Wi-Fi
- Pokušajte koristiti mDNS naziv hosta (
Sonos-{MAC}.local) umjesto IP adrese: IP adresa se možda promijenila nakon obnove DHCP zakupa - U pregledniku otvorite
http://{speaker-ip}:1400/xml/device_description.xml: ako odgovori XML-om, zvučnik je dostupan - Provjerite jesu li centralna jedinica TapHome (CCU) i zvučnik Sonos u istoj mreži / VLAN-u
Naredbe za reprodukciju ne uspijevaju s pogreškom 800
Grupe Sonos u više prostorija usmjeravaju sve naredbe za reprodukciju preko koordinatora grupe. Ako je predložak usmjeren na zvučnik koji nije koordinator, naredbe za reprodukciju (Play, Pause, Next, Previous) neće uspjeti. Provjerite pokazuje li IP adresa u sustavu TapHome na koordinatora grupe ili razgrupirajte zvučnik kako bi postao samostalni uređaj.
Promjene glasnoće se ne prikazuju
- Provjerite očitava li predložak glasnoću: očitava se svakih 2,5 sekunde pomoću
GetVolume - Ako je glasnoću promijenio drugi upravljač (aplikacija Sonos, Apple AirPlay), TapHome će novu vrijednost preuzeti u sljedećem ciklusu očitavanja
- Provjerite da zvučnik nije u grupi u kojoj glasnoćom upravlja koordinator grupe
Zvučnici Sonos prihvaćaju naredbe UPnP samo od uređaja u istoj podmreži. Ako je centralna jedinica TapHome (CCU) u drugom VLAN-u, osigurajte usmjeravanje prometa multicast/UPnP između VLAN-ova ili oba uređaja smjestite u isti mrežni segment.
