
Bluesound je linija multiroom audio uređaja izgrađena na platformi BluOS, platformi tvrtke Lenbrook za streaming zvuka bez gubitaka do 24 bita/192 kHz. Svaki reproduktor BluOS u lokalnoj mreži nudi BluOS Custom Integration API: obične HTTP GET zahtjeve na TCP portu 11000, odgovore u formatu UTF-8 XML, bez autentifikacije i bez računa u oblaku. TapHome s reproduktorom komunicira izravno preko lokalne mreže (LAN).
Predložak nije vezan uz određeni model: ne ovisi o modelu ni proizvođaču i koristi samo HTTP API, pa vrijedi za cijelu aktualnu ponudu (NODE, NODE X, NODE NANO, NODE ICON, POWERNODE, POWERNODE EDGE, PULSE, PULSE M, PULSE MINI, PULSE FLEX, PULSE CINEMA, PULSE CINEMA MINI, PULSE SOUNDBAR, VAULT i HUB) i za starije generacije. Budući da BluOS koriste i NAD Electronics, DALI, PSB Speakers, Monitor Audio, Roksan, Cyrus i Peachtree, reproduktori tih marki nude isti API i odgovaraju na iste zahtjeve.
Mrežno povezivanje
Ožičenje nije potrebno. Reproduktor BluOS spaja se na kućnu mrežu preko Etherneta ili Wi-Fi mreže pomoću čarobnjaka za postavljanje u aplikaciji BluOS Controller, a TapHome mu zatim pristupa preko HTTP-a. Jedini je uvjet da centralna jedinica TapHome i reproduktor budu u istom segmentu lokalne mreže i da je port 11000 između njih otvoren.
Port 11000 vrijedi za svaki reproduktor BluOS uz jednu dokumentiranu iznimku: NAD CI580 u jednom kućištu ima četiri streamera na portovima 11000 / 11010 / 11020 / 11030. Predložak koristi samo port 11000, pa na uređaju CI580 upravlja prvim streamerom.
Konfiguracija
Pronalaženje IP adrese reproduktora
Adresa je prikazana na zaslonu Diagnostics u aplikaciji BluOS Controller:
- Android / iOS: kartica Players → odaberite reproduktor → kartica Home → Settings → u odjeljku Help & Support dodirnite Diagnostics.
- Windows / macOS: Player Drawer → odaberite reproduktor → lijevi Navigation Drawer → Help → Diagnostics.
Na istom zaslonu u odjeljku Other Players navedene su adrese ostalih reproduktora u mreži. Bez aplikacije, otvaranjem http://<player_ip>:11000/SyncStatus u pregledniku dobit ćete id reproduktora (adresu i port) zajedno s atributom mac.
Stalna adresa
Predložak reproduktoru pristupa preko IP adrese, pa promijenjena DHCP dodjela adrese neprimjetno prekida integraciju. Lenbrook izričito preporučuje DHCP rezervaciju na usmjerivaču umjesto statične adrese postavljene na reproduktoru:
- Otvorite administracijsko sučelje usmjerivača i pronađite postavke DHCP / LAN rezervacije.
- Unesite MAC adresu reproduktora: nalazi se u odgovoru
/SyncStatus, pa se može očitati preko HTTP-a i bez aplikacije. - Dodijelite adresu koju reproduktor treba zadržati i spremite.
- Ponovno pokrenite reproduktor kako bi obnovio dodjelu adrese, a zatim provjerite je li dobio rezerviranu adresu.
Uvoz predloška
Predložak ima jedan parametar uvoza, IpAddress (rezervirano mjesto 192.168.0.1). Unesite adresu reproduktora; port 11000 i format zahtjeva već su dio predloška.
Obavezno postavljanje nakon uvoza: Grupiraj s reproduktorom
Sklopka Grupiraj s reproduktorom isporučuje se s varijablom IP postavljenom na doslovno rezervirano mjesto 192.168.x.x. To nije upotrebljiva zadana vrijednost: dok se ne zamijeni, skripta za čitanje traži 192.168.x.x među podređenim reproduktorima, nikad ga ne pronađe i sklopka stalno pokazuje isključeno.
Nakon uvoza predloška otvorite uređaj Grupiraj s reproduktorom u aplikaciji TapHome i postavite IP na adresu reproduktora koji treba priključiti kao podređeni član grupe. Koristite gore opisani zaslon Diagnostics (Other Players navodi upravo te adrese) ili očitajte /SyncStatus na bilo kojem reproduktoru u mreži.
Svi ostali uređaji u predlošku rade čim se ispuni IpAddress. Grupiraj s reproduktorom jedini je uređaj kojemu nakon uvoza treba unijeti dodatnu vrijednost. Ako ostavite
192.168.x.x, sklopka će izgledati neispravno umjesto da javi pogrešku.
Mogućnosti uređaja
Upravljanje reprodukcijom
Pet gumba upravlja reprodukcijom:
- Reproduciraj: pokreće trenutačni izvor zvuka. Nastavlja reprodukciju pauziranog reproduktora, ali zaustavljeni reproduktor njime se ne pokreće ponovno.
- Pauza: šalje naredbu toggle, pa isti gumb pauzira reproduktor koji svira i nastavlja reprodukciju pauziranog. Ako svira alarm s vremenskim ograničenjem, pauza poništava i to ograničenje.
- Zaustavi: zaustavlja reprodukciju. Za razliku od pauze, reprodukcija na zaustavljenom reproduktoru ne može se nastaviti gumbom Reproduciraj. Zaustavljanje poništava i vremensko ograničenje alarma koji je u tijeku.
- Sljedeća pjesma: prelazi naprijed u redu za reprodukciju, a na kraju reda vraća se na prvu pjesmu, bez obzira na postavku ponavljanja.
- Prethodna pjesma: ponovno pokreće trenutačnu pjesmu ako svira dulje od četiri sekunde, a inače se vraća na prethodnu pjesmu.
Ti gumbi djeluju na red za reprodukciju. Kad reproduktor reproducira radijsku postaju ili fizički ulaz, red nije izvor zvuka i preskakanje naprijed / natrag nije dostupno; API taj slučaj rješava posebnom krajnjom točkom koju predložak ne koristi.
Glasnoća
Glasnoća je dimer. Čita razinu reproduktora (0–100) i pretvara je u raspon dimera 0,0–1,0; pri upisu razine vrijednost se šalje natrag kao cijeli postotak. Isključivanje dimera šalje naredbu za isključivanje zvuka umjesto glasnoće 0, pa vlastita razina reproduktora ostaje sačuvana i ponovno uključivanje zvuka je vraća.
Oba upisa sadrže tell_slaves=1, što odgovara klizaču glasnoće grupe u aplikaciji BluOS Controller: kada je reproduktor glavni član grupe, svi reproduktori u grupi mijenjaju glasnoću zajedno, a ne samo onaj kojemu je naredba upućena.
Upotrebljivi raspon glasnoće reproduktora postavlja se u aplikaciji BluOS Controller u Settings → Player → Audio i obično iznosi od −80 do 0 dB. Sve se razine ograničavaju na taj raspon, pa dimer TapHome na 100 % ne znači nužno 0 dB. Reproduktori s fiksnim linijskim izlazom ne javljaju nikakvu upotrebljivu glasnoću, a dimer tada umjesto pogreške prikazuje besmislenu razinu.
Dimer glasnoće očitava reproduktor svakih 2,5 sekunde, dok BluOS API od integracija koje ne koriste long polling traži najviše jedan zahtjev svakih 30 sekundi. Na jednom reproduktoru to je nekoliko malih zahtjeva u minuti, ali u kući punoj reproduktora to se zbraja. Imajte to na umu kod opterećene Wi-Fi mreže i ondje gdje je mreža zauzeta radije koristite reproduktore spojene kabelom.
Nasumična reprodukcija i ponavljanje
Nasumična reprodukcija uključuje i isključuje nasumični redoslijed u redu za reprodukciju. Nasumična reprodukcija ponovno slaže red; izvorni redoslijed vraća se kad se ponovno isključi.
Ponavljanje je prekidač s više vrijednosti s tri stanja: Bez ponavljanja, Ponovi jednu i Ponovi sve. TapHome te vrijednosti slaže obrnutim redoslijedom od API-ja, a predložak isto preslikavanje primjenjuje pri čitanju i pri upisu, pa oba smjera ostaju usklađena.
Oba uređaja čitaju stanje iz vrijednosti koju modul pohranjuje pri vlastitom očitavanju stanja svakih 30 sekundi, umjesto da šalju vlastite zahtjeve. Tako je mrežni promet manji, ali promjena napravljena u aplikaciji BluOS može se u sustavu TapHome pojaviti tek nakon do 30 sekundi.
Preseti
Preset poziva preset spremljen na reproduktoru: radijsku postaju, popis za reprodukciju ili ulaz. Presete je moguće izraditi i izbrisati samo u aplikaciji BluOS Controller; API ih može samo učitati.
Uređaj služi samo za upis: šalje naredbu za preset, ali nikad ne očitava koji preset svira, pa sklopka ne prikazuje stvarno stanje reproduktora.
Koristite mjesta za preset 1–9. Mjesto 0 šalje preset id 64 umjesto 0, što izgleda kao zaostalo rezervirano mjesto, a ne pravi preset. Id-ovi preseta ne moraju biti ni uzastopni (reproduktor može imati presete 1, 2, 3, 5, 7 i 8), pa prije nego što mjesto povežete sa scenom u aplikaciji BluOS Controller provjerite koji id-ovi stvarno postoje.
Multiroom grupiranje
Grupiraj s reproduktorom ovom reproduktoru priključuje drugi reproduktor BluOS. Reproduktor kojem TapHome pristupa postaje glavni: odabire izvor glazbe i prosljeđuje svoj zvuk ostalim reproduktorima, a reproduktor naveden u varijabli IP pridružuje se kao podređeni. Isključivanjem uređaja taj se reproduktor ponovno uklanja iz grupe. Stanje se očitava iz popisa priključenih podređenih reproduktora, pa se i grupiranje napravljeno u aplikaciji BluOS prikazuje u sustavu TapHome.
Iz načina na koji radi grupiranje BluOS proizlaze dvije posljedice:
- Samo vanjski ulazi spojeni na glavni reproduktor dolaze do ostatka grupe. Ako zvuk televizora s optičkog ili HDMI ulaza treba svirati posvuda, TapHome mora pristupati reproduktoru na koji je taj ulaz spojen.
- Aplikacija BluOS Controller podržava najviše osam grupa od po osam reproduktora ili četiri grupe od po šesnaest. Jedna sklopka TapHome obrađuje jedan par glavni–podređeni, pa grupa od tri reproduktora treba drugu sklopku.
Zahtjevi za grupiranje šalju parametar u jednini
slave=zajedno s parametrom u množiniports=, a tu kombinaciju dokumentacija BluOS API-ja ne navodi. Najvjerojatnije ipak radi jer je 11000 ionako dokumentirani zadani port, ali to je dobro znati ako se naredba za grupu ikad ponaša neočekivano.
Gumbi s primjerima: demonstracije, ne funkcije reproduktora
Predložak se isporučuje s dva gumba nazvana Primjer - Jungle i Primjer - Isključivanje. Oni su demonstracija streaminga s URL-a, a ne mogućnosti reproduktora: svaki zaustavlja reprodukciju, prazni red za reprodukciju i reproducira jednu audiodatoteku s URL-a spremljenog u varijabli uređaja.
Namijenjeni su za uređivanje ili brisanje. Primjer Jungle pokazuje na poslužitelj s primjerima treće strane, izvan kontrole TapHome, i prestat će raditi kad god se ta stranica promijeni. Primjer Isključivanje pokazuje na MP3 datoteku koju poslužuje TapHome i upotrebljiv je obrazac za zvuk zvona na vratima ili obavijesti ako URL zamijenite vlastitim. Adresa mora biti postotno kodirana (percent-encoding), jer se izravno prosljeđuje reproduktoru.
Rješavanje problema
Reproduktor ne odgovara
- U pregledniku otvorite
http://<player_ip>:11000/SyncStatus: odgovor u formatu XML znači da je reproduktor dostupan i da API radi. - Ako ne odgovara, provjerite adresu na zaslonu Diagnostics u aplikaciji BluOS Controller; obnova DHCP dodjele možda ju je promijenila. Postavite gore opisanu DHCP rezervaciju kako se to ne bi ponavljalo.
- Umjesto IP adrese pokušajte mDNS naziv hosta reproduktora.
- Provjerite jesu li centralna jedinica TapHome i reproduktor u istoj mreži / VLAN-u te ne blokira li nešto između njih port 11000.
Sklopka za grupiranje nikad se ne uključi
Varijabla IP na uređaju Grupiraj s reproduktorom još uvijek je rezervirano mjesto 192.168.x.x ili sadrži adresu koja nije reproduktor BluOS. Postavite je na stvarnu adresu podređenog reproduktora, kako je opisano u postavljanju nakon uvoza.
Preset ne radi ništa
Na tom mjestu na ovom reproduktoru nema preseta ili je korišteno mjesto 0. Otvorite aplikaciju BluOS Controller, provjerite koje id-ove preseta reproduktor stvarno ima i mjesta u sustavu TapHome povežite s tim id-ovima. Presete najprije treba izraditi u aplikaciji, predložak ih ne može izraditi.
Sljedeća / Prethodna pjesma ne rade ništa
Reproduktor ne svira iz reda za reprodukciju. Radijski streamovi i fizički ulazi ne temelje se na redu, pa se preskakanje naprijed / natrag na njih ne odnosi. Pokrenite reprodukciju s popisa za reprodukciju, albuma ili iz reda i gumbi će ponovno raditi.
Promjene napravljene u aplikaciji BluOS prikazuju se kasno
Nasumična reprodukcija i ponavljanje čitaju se iz pohranjenog stanja modula, koje se osvježava svakih 30 sekundi. Glasnoća se očitava češće. Gumbi za reprodukciju i Preset služe samo za upis i nikad ne prikazuju vanjske promjene.
Reproduktor je bez zvuka, a TapHome prikazuje razinu
Isključivanje zvuka upisuje se pri isključivanju dimera glasnoće, ali stanje isključenog zvuka nikad se ne očitava. Reproduktor kojem je zvuk isključen iz aplikacije BluOS Controller ili daljinskim upravljačem u sustavu TapHome i dalje prikazuje prethodnu razinu dimera. Isključite i ponovno uključite dimer kako bi se oba stanja ponovno uskladila.
