
Denon HEOS bežična je multiroom audio platforma izgrađena oko sučelja HEOS Command Line Interface (CLI), tekstnog protokola koji preko TCP porta 1255 nudi pristup svakom zvučniku, soundbaru, pojačalu i komponenti s podrškom za HEOS u lokalnoj mreži. TapHome tim protokolom upravlja reprodukcijom, glasnoćom, isključivanjem zvuka i načinom reprodukcije na zvučnicima HEOS, bez ovisnosti o oblaku.
Predložak pokriva cijelu liniju bežičnih zvučnika HEOS (HEOS 1, 3, 5, 7), soundbare HEOS Bar i HomeCinema, komponente HEOS Amp / Link / Drive, HEOS Sub te novije zvučnike Denon Home 150 / 250 / 350 i Sound Bar 550. Dovoljan je jedan uređaj HEOS u lokalnoj mreži, jer CLI preko krajnje točke player/get_players daje pristup svim ostalim reproduktorima HEOS u mreži.
Ovaj predložak namijenjen je samo zvučnicima, soundbarima i pojačalima s podrškom za HEOS. AV prijamnici Denon i Marantz (serija AVR-X, serija SR i drugi) koriste zaseban protokol za upravljanje Denon/Marantz Telnet na portu 23 i s ovim predloškom nisu kompatibilni, čak ni modeli koji imaju i HEOS Built-in.
Mrežno povezivanje
HEOS komunicira preko TCP-a na portu 1255 običnim tekstnim ASCII naredbama koje završavaju s \r\n, a odgovara u formatu JSON. Autentifikacija nije potrebna: na CLI port može se spojiti bilo koji uređaj u istoj lokalnoj mreži.
Prije nego što TapHome može upravljati uređajem, zvučnik HEOS treba postaviti mobilnom aplikacijom HEOS:
- Instalirajte aplikaciju HEOS (Android / iOS) na telefon ili tablet u istoj Wi-Fi mreži.
- U čarobnjaku za početno postavljanje u aplikaciji spojite uređaj HEOS na Wi-Fi ili Ethernet.
- Provjerite je li firmver ažuran (predložak je izrađen za HEOS CLI v1.17, što odgovara firmveru 2.41.140 ili novijem).
- Zapišite IP adresu zvučnika. Nalazi se u aplikaciji HEOS pod Settings → My Devices → About ili na popisu DHCP klijenata u usmjerivaču.
Uređaju HEOS na koji se TapHome spaja dodijelite statičku IP adresu ili DHCP rezervaciju. Zvučnik služi kao pristupnik prema svim ostalim reproduktorima HEOS, pa stabilna adresa održava dostupnim cijeli sustav.
HEOS CLI nema autentifikaciju. Zvučnik držite u pouzdanom segmentu lokalne mreže, jer reprodukcijom može upravljati svaki uređaj s mrežnim pristupom portu 1255.
Konfiguracija
Podaci za povezivanje u sustavu TapHome
Pri uvozu predloška u aplikaciji TapHome u parametar IP Address upišite IP adresu zvučnika HEOS. TCP port 1255 i okviri protokola već su postavljeni u predlošku. TapHome otvara jednu trajnu TCP vezu i preko nje šalje naredbe HEOS CLI jednu za drugom.
Postavljanje PlayerId
Svaka naredba heos://player/* zahtijeva player id (pid), veliki cijeli broj s predznakom koji HEOS dodjeljuje svakom zvučniku u mreži. Predložak ga sprema u prilagođenu varijablu PlayerId. Budući da HEOS dinamički generira pid za svaku mrežu, predložak se isporučuje s privremenom vrijednošću (-1857880384) koju pri prvom postavljanju treba zamijeniti.
Modul nudi dvije servisne radnje za pronalaženje i dodjelu pid-a. Nakon uvoza predloška pokrenite ih jednom:
- Dohvati reproduktore — šalje
heos://player/get_playersi sprema JSON odgovor u varijablu modulaPlayersResponse. Servisni atribut Reproduktori na modulu zatim prikazuje popis reproduktora HEOS vidljivih u mreži, s nazivom, pid-om, modelom i IP adresom. - Postavi Player Id — uzima parametar
Index(položaj u polju Players, brojeći od 0) i upisuje odgovarajući pid u prilagođenu varijabluPlayerId. Odaberite indeks zvučnika kojim TapHome treba upravljati, jer je isti modul TapHome istodobno povezan samo s jednim reproduktorom HEOS.
Nakon ova dva koraka svi podređeni uređaji (Glasnoća, Isključi zvuk zvučnika, Reproduciraj, Pauza i drugi) rade s odabranim zvučnikom. Za upravljanje drugim reproduktorom HEOS uvezite drugu instancu predloška s istom (ili drugom) IP adresom HEOS i ponovite korak Postavi Player Id s drugim indeksom.
Ako je atribut Reproduktori pri prvom pokretanju prazan, CLI modul HEOS-a možda je u stanju mirovanja. Nakon nekoliko sekundi ponovno pokrenite Dohvati reproduktore. HEOS pokreće jezgru CLI-ja pri prvom spajanju i može mu trebati trenutak da pronađe sve reproduktore.
U repozitoriju predložaka TapHome postoji zaseban predložak
Denon discovery.xmlkoji kao samostalan modul samo pronalazi player id. Uz ovaj glavni predložak HEOS nije potreban, jer su Dohvati reproduktore i Postavi Player Id već ugrađeni. Predložak za pronalaženje koristite samo ako želite jednostavan, namjenski modul koji prikazuje samopidi tu vrijednost planirate ručno upisati u drugi predložak HEOS.
Varijable uređaja
Tri podređena uređaja imaju vlastite prilagođene varijable koje se mogu postaviti nakon uvoza predloška:
| Uređaj | Varijabla | Zadano | Napomena |
|---|---|---|---|
| Reproduciraj URL | URL | MP3 sa zvukom zvona na vratima (Pixabay) | Bilo koji izravni HTTP(S) URL audio streama ili datoteke |
| Pojačaj glasnoću / Smanji glasnoću | Step | 5 | Promjena glasnoće po pritisku; specifikacija HEOS ograničava raspon na 1–10 |
U aplikaciji TapHome otvorite detalje svakog uređaja i postavite varijable na potrebne vrijednosti. Posebne znakove kodirane u URL-u streama (&, =, %) obrađuje skripta predloška.
Mogućnosti uređaja
Predložak nudi 12 podređenih uređaja za reprodukciju, glasnoću, isključivanje zvuka i reprodukciju URL streamova za jedan reproduktor HEOS.
Upravljanje glasnoćom
Uređaj Glasnoća je dimer koji čita heos://player/get_volume (razina 0–100) i preračunava je u raspon dimera 0,0–1,0 (Le := level / 100). Pri upisu šalje heos://player/set_volume s vrijednošću ROUND(Le * 100). Glasnoća se očitava svakih 2,5 sekunde, pa se promjene glasnoće iz aplikacije HEOS ili drugog upravljača u sustavu TapHome prikažu u sljedećem ciklusu.
Uređaji Pojačaj glasnoću i Smanji glasnoću tipke su (push button) koje šalju heos://player/volume_up i heos://player/volume_down s podesivom veličinom koraka Step. Korisni su za povezivanje sa zidnim prekidačima ili sa smart rules.
Isključivanje zvuka
Isključi zvuk zvučnika je sklopka koja čita heos://player/get_mute i upisuje heos://player/set_mute sa state=on|off. Kad je zvuk isključen, zvučnik je utišan, a postavljena razina glasnoće se ne mijenja.
Upravljanje reprodukcijom
Osnovno upravljanje reprodukcijom pokriva pet uređaja tipke:
- Reproduciraj — upisuje
heos://player/set_play_state?state=play - Pauza — upisuje
heos://player/set_play_state?state=pause - Zaustavi — upisuje
heos://player/set_play_state?state=stop - Sljedeća pjesma — upisuje
heos://player/play_next - Prethodna pjesma — upisuje
heos://player/play_previous
To su tipke samo za upis. Predložak ne očitava trenutačno stanje reprodukcije, pa tipke ne pokazuju reproducira li zvučnik upravo nešto.
Način reprodukcije
Način reprodukcije je prekidač s više vrijednosti koji zastavice HEOS repeat i shuffle objedinjuje u jedan enum sa 6 stanja, koji se čita i upisuje preko heos://player/get_play_mode i heos://player/set_play_mode:
| Vrijednost | Način |
|---|---|
| 0 | Bez ponavljanja, bez nasumične reprodukcije |
| 1 | Ponovi sve |
| 2 | Ponovi jednu |
| 3 | Nasumično, bez ponavljanja |
| 4 | Nasumično, ponovi sve |
| 5 | Nasumično, ponovi jednu |
XML predložak u konfiguraciji s više vrijednosti rezervira i mjesta 6–9, ali se ona ne koriste. Dostupna su samo stanja 0–5.
Preseti Quick Select
Quick Select je prekidač s više vrijednosti samo za upis (1–9) koji pokreće preset HEOS QuickSelect preko heos://player/play_quickselect?id={1-9}. Quick Select preseti spremaju se na samom reproduktoru (obično preko povezanog prijamnika Denon AVR ili HEOS Bar) i mogu sadržavati unaprijed postavljen ulaz, izvor ili radijsku postaju.
Quick Select je u specifikaciji HEOS §4.2.24 definiran kao naredba samo za AVR. Radi na uređajima HEOS Amp, HEOS Link, HEOS Bar i AV prijamnicima s podrškom za HEOS, ali na samostalnim bežičnim zvučnicima HEOS, kao što su HEOS 1, 3, 5 i 7, vraća pogrešku.
Reproduciraj URL (vlastiti stream)
Reproduciraj URL je tipka koja na odabranom reproduktoru HEOS reproducira bilo koji audio URL preko HTTP(S) naredbom heos://browse/play_stream?pid={PlayerId}&url={URL}. Varijabla uređaja URL sadrži adresu streama. Kao primjer isporučuje se MP3 sa zvukom zvona na vratima (Pixabay), koji se obično zamijeni streamom internetskog radija, zvukom obavijesti ili bilo kojim izravnim audio URL-om.
Primjeri dobre upotrebe: obavijesti zvona na vratima, glasovne obavijesti s lokalnog HTTP poslužitelja, reprodukcija stalnog URL-a internetskog radija bez HEOS Favorites.
Dodatne mogućnosti
Protokol HEOS CLI nudi mnogo više funkcija nego što predložak trenutačno koristi. One se mogu dodati u nekom budućem ažuriranju predloška:
- Podaci o trenutačnoj reprodukciji (
player/get_now_playing_media) — naslov pjesme, izvođač, album i URL omota kao tekstni atributi. - Povratna informacija o stanju reprodukcije (
player/get_play_state) — očitavanje stanja reprodukcija / pauza / zaustavljeno, kako bi tipke pokazivale stvarno stanje. - Prebacivanje između uključenog i isključenog zvuka (
player/toggle_mute) — isključivanje i uključivanje zvuka jednom naredbom, bez prethodnog čitanja stanja. - Upravljanje redom za reprodukciju (
player/get_queue,play_queue,clear_queue) — pregled i uređivanje trenutačnog reda za reprodukciju. - Favoriti i preseti (
browse/play_preset) — pokretanje spremljenih HEOS Favorites prema broju preseta, jednostavnije od izravnog URL-a za spremljene postaje. - Odabir fizičkog ulaza (
browse/play_input) — prebacivanje na AUX / Line-In na modelima HEOS Amp, Link i AVR. - Multiroom grupiranje (
group/*) — stvaranje i brisanje grupa HEOS i upravljanje njihovom glasnoćom za sinkroniziranu reprodukciju u cijeloj kući. - Održavanje firmvera (
system/check_update,system/reboot) — provjera ažuriranja firmvera i daljinsko ponovno pokretanje. - Događaji promjene (
system/register_for_change_events) — push obavijesti (uz prethodnu prijavu) o promjenama glasnoće, stanja i trenutačne reprodukcije umjesto periodičnog očitavanja. - Prijava u račun HEOS (
system/sign_in) — potrebna za pristup plaćenim streaming uslugama (Tidal, Amazon Music, Deezer, prilagođene postaje TuneIn) iz sustava TapHome.
Rješavanje problema
Atribut Reproduktori prazan je nakon radnje Dohvati reproduktore
HEOS drži svoj CLI modul u stanju mirovanja i pokreće jezgru pri prvom spajanju, što može potrajati nekoliko sekundi. Pričekajte 5–10 sekundi i ponovno pokrenite Dohvati reproduktore. Ako je atribut i dalje prazan, provjerite:
- Može li centralna jedinica TapHome doći do IP adrese zvučnika na TCP portu 1255 (ista lokalna mreža / podmreža, bez vatrozida između njih).
- Je li uređaj HEOS potpuno na mreži u mobilnoj aplikaciji HEOS. CLI nije dostupan dok se ne završi početno postavljanje Wi-Fi mreže.
- Odgovara li IP adresa u modulu i dalje zvučniku, jer je obnova DHCP-a može promijeniti. Koristite DHCP rezervaciju ili statičku IP adresu.
Sve naredbe uređaja vraćaju „ID Not Valid”
Prilagođena varijabla PlayerId još sadrži zadanu vrijednost predloška (-1857880384) ili pokazuje na pid koji više ne postoji (npr. zvučnik je vraćen na tvorničke postavke). Ponovno pokrenite Dohvati reproduktore, a zatim Postavi Player Id s ispravnim indeksom.
Radnja Reproduciraj URL ne radi ništa ili vraća pogrešku
Skripta Reproduciraj URL u trenutačnom predlošku ima poznatu nepravilnost: poziva se na playerId (malim slovima) umjesto na prilagođenu varijablu PlayerId. Ako radnja nema učinka, u aplikaciji TapHome otvorite skriptu uređaja Reproduciraj URL i ispravite naziv varijable u PlayerId. Nakon te ispravke radnja ispravno šalje heos://browse/play_stream. Provjerite i je li URL streama dostupan sa zvučnika HEOS i koristi li podržani audio format (MP3, AAC, WAV; HLS streamovi nisu pouzdano prihvaćeni).
Quick Select vraća pogrešku
Quick Select radi samo na AV prijamnicima, pojačalima i soundbarima s podrškom za HEOS. Na bežičnim zvučnicima HEOS (HEOS 1, 3, 5, 7 i zvučnici Denon Home bez funkcija soundbara) umjesto toga koristite Reproduciraj URL ili omiljene streamove.
Promjene iz aplikacije HEOS ne vide se u sustavu TapHome
Predložak svakih 2,5 sekunde očitava stanje uređaja Glasnoća, Isključi zvuk zvučnika i Način reprodukcije. Stanje reprodukcije (Reproduciraj / Pauza / Zaustavi) se ne očitava, to su samo tipke. Ako je drugi upravljač promijenio način reprodukcije ili povezao novi račun streaming usluge, odspajanje i ponovno spajanje modula TapHome na zvučnik pokreće novu CLI sesiju.
Više reproduktora HEOS — kako upravljati većim brojem reproduktora
Jedan modul TapHome upravlja točno jednim reproduktorom HEOS (jednim pid-om). Za upravljanje drugim zvučnikom uvezite drugu instancu predloška Denon HEOS. IP adresa može pokazivati na isti uređaj HEOS, jer CLI na jednom zvučniku može doći do svih ostalih reproduktora HEOS u mreži, a radnja Postavi Player Id s drugim indeksom povezuje drugi modul s drugim zvučnikom.
