
Denon HEOS je bezdrôtová multiroom audio platforma postavená na HEOS Command Line Interface (CLI) — textovom protokole, ktorý sprístupňuje každý reproduktor, soundbar, zosilňovač a HEOS-enabled komponent v lokálnej sieti cez TCP port 1255. TapHome využíva tento protokol na ovládanie prehrávania, hlasitosti, stlmenia a režimu prehrávania HEOS reproduktorov bez závislosti na cloude.
Šablóna pokrýva celú bezdrôtovú HEOS ponuku (HEOS 1, 3, 5, 7), soundbary HEOS Bar a HomeCinema, komponenty HEOS Amp / Link / Drive, HEOS Sub a novšie reproduktory Denon Home 150 / 250 / 350 a Sound Bar 550. Stačí jedno HEOS zariadenie v LAN — CLI sprístupní všetkých ostatných HEOS hráčov v sieti cez endpoint player/get_players.
Táto šablóna je určená len pre HEOS reproduktory, soundbary a HEOS-enabled zosilňovače. Denon a Marantz AVR receivery (rady AVR-X, SR atď.) používajú samostatný Denon/Marantz Telnet control protokol na porte 23 a s touto šablónou nie sú kompatibilné, ani na modeloch, ktoré zároveň obsahujú HEOS Built-in.
Sieťové pripojenie
HEOS komunikuje cez TCP na porte 1255 pomocou textových ASCII príkazov ukončených \r\n a vracia odpovede v JSON formáte. Autentifikácia nie je potrebná — akékoľvek zariadenie v rovnakej LAN sa môže pripojiť na CLI port.
Pred tým, než HEOS reproduktor dokáže TapHome ovládať, musí byť zariadenie nastavené cez HEOS mobilnú aplikáciu:
- Nainštalujte aplikáciu HEOS App (Android / iOS) na telefón alebo tablet v rovnakej Wi-Fi sieti.
- Pripojte HEOS zariadenie na Wi-Fi alebo Ethernet cez úvodného sprievodcu nastavením v aplikácii.
- Uistite sa, že firmware je aktuálny (šablóna je postavená na HEOS CLI v1.17, čo zodpovedá firmware 2.41.140 alebo novšiemu).
- Poznačte si IP adresu reproduktora — nájdete ju v aplikácii HEOS v Settings → My Devices → About alebo v zozname DHCP klientov routera.
Pre HEOS zariadenie, ku ktorému sa TapHome pripája, použite statickú IP alebo DHCP rezerváciu. Reproduktor funguje ako brána k všetkým ostatným HEOS hráčom, takže stabilná adresa udrží dostupnosť celého ekosystému.
HEOS CLI nemá žiadnu autentifikáciu. Reproduktor držte v dôveryhodnom LAN segmente — každé zariadenie so sieťovým prístupom k portu 1255 môže ovládať prehrávanie.
Konfigurácia
Parametre pripojenia v TapHome
Pri importe šablóny v aplikácii TapHome zadajte IP adresu HEOS reproduktora do parametra IP Address. TCP port 1255 a framing protokolu sú v šablóne už nastavené. TapHome otvorí jedno perzistentné TCP spojenie a cez neho pipeliuje HEOS CLI príkazy.
Inicializácia PlayerId
Každý príkaz heos://player/* vyžaduje player id (pid) — veľké signed integer číslo, ktoré HEOS priraďuje každému reproduktoru v sieti. Šablóna ho ukladá do vlastnej premennej PlayerId. Pretože HEOS generuje pid dynamicky pre každú sieť, šablóna prichádza s placeholder hodnotou (-1857880384), ktorú treba pri prvom nastavení nahradiť.
Modul ponúka dve servisné akcie na objavenie a priradenie pid. Po importe šablóny ich spustite raz:
- Get Players — odošle
heos://player/get_playersa JSON odpoveď uloží do premennej moduluPlayersResponse. Servisný atribút modulu Players následne zobrazí zoznam HEOS hráčov viditeľných v sieti vrátane ich mena, pid, modelu a IP adresy. - Set Player Id — prijíma parameter
Index(0-based pozícia v poli Players) a zapíše zodpovedajúci pid do vlastnej premennejPlayerId. Vyberte index reproduktora, ktorý chce TapHome ovládať — jeden TapHome modul je viazaný na jedného HEOS hráča.
Po týchto dvoch krokoch fungujú všetky podriadené zariadenia (Volume, Mute, Play, Pause atď.) voči vybranému reproduktoru. Na ovládanie druhého HEOS hráča importujte druhú inštanciu šablóny proti rovnakej (alebo inej) HEOS IP a opakujte krok Set Player Id s iným indexom.
Ak je atribút Players pri prvom spustení prázdny, HEOS CLI modul môže byť v spiacom režime. Spustite Get Players po pár sekundách znova — HEOS naštartuje CLI jadro pri prvom pripojení a môže trvať chvíľu, kým enumeruje všetkých hráčov.
Premenné zariadenia
Dve podriadené zariadenia majú po importe šablóny konfigurovateľné premenné:
| Zariadenie | Premenná | Default | Poznámky |
|---|---|---|---|
| Play URL | URL | Pixabay zvonček MP3 | Ľubovoľná priama HTTP(S) URL na audio stream alebo súbor |
| Volume Up / Volume Down | Step | 5 | Zmena hlasitosti na stlačenie; HEOS špecifikácia obmedzuje rozsah na 1–10 |
V aplikácii TapHome otvorte detail každého zariadenia a nastavte tieto premenné na potrebné hodnoty. URL-encoded špeciálne znaky v stream URL (&, =, %) rieši skript šablóny.
Funkcie zariadenia
Šablóna poskytuje 12 podriadených zariadení pokrývajúcich prehrávanie, hlasitosť, stlmenie a URL streaming pre jedného HEOS hráča.
Ovládanie hlasitosti
Zariadenie Volume je dimmer, ktorý číta heos://player/get_volume (úroveň 0–100) a škáluje ju do dimmer rozsahu 0.0–1.0 (Le := level / 100). Zápis posiela heos://player/set_volume s ROUND(Le * 100). Hlasitosť sa pollne každé 2,5 sekundy, takže externé zmeny hlasitosti z aplikácie HEOS alebo iného ovládača sa v TapHome prejavia v ďalšom cykle.
Volume Up a Volume Down sú tlačidlové zariadenia, ktoré posielajú heos://player/volume_up a heos://player/volume_down s konfigurovateľným krokom Step. Užitočné pri naviazaní na fyzické nástenné spínače alebo smart pravidlá.
Mute
Mute je spínač, ktorý číta heos://player/get_mute a zapisuje heos://player/set_mute s state=on|off. Pri stlmení je reproduktor utíšený bez zmeny podkladovej úrovne hlasitosti.
Transport
Štyri tlačidlové zariadenia pokrývajú základný transport:
- Play — zapisuje
heos://player/set_play_state?state=play - Pause — zapisuje
heos://player/set_play_state?state=pause - Stop — zapisuje
heos://player/set_play_state?state=stop - Next Track — zapisuje
heos://player/play_next - Previous Track — zapisuje
heos://player/play_previous
Sú to write-only tlačidlá — šablóna aktuálny stav prehrávania nepollne, takže transportné tlačidlá neodzrkadlujú, či reproduktor reálne prehráva.
Režim prehrávania
Play Mode je multi-value spínač, ktorý kombinuje HEOS flagy repeat a shuffle do jedného 6-stavového enumu. Číta a zapisuje cez heos://player/get_play_mode a heos://player/set_play_mode:
| Hodnota | Režim |
|---|---|
| 0 | Bez opakovania, bez premiešania |
| 1 | Opakovať všetko |
| 2 | Opakovať jednu skladbu |
| 3 | Premiešať, bez opakovania |
| 4 | Premiešať, opakovať všetko |
| 5 | Premiešať, opakovať jednu |
XML šablóna rezervuje v multi-value konfigurácii sloty 6–9, ale tie sú nepoužité — hodnoty 0–5 sú jediné dostupné stavy.
QuickSelect predvoľby
Quick Select je write-only multi-value spínač (1–9), ktorý spúšťa HEOS QuickSelect predvoľbu cez heos://player/play_quickselect?id={1-9}. Quick selecty sú uložené priamo v hráčovi (typicky cez spárovaný Denon AVR alebo HEOS Bar) a môžu obsahovať prednastavený vstup, zdroj alebo stanicu.
Quick Select je v HEOS špecifikácii §4.2.24 definovaný ako AVR-only príkaz. Funguje na HEOS Amp, HEOS Link, HEOS Bar a HEOS-enabled AVR/receiver produktoch, ale na samostatných bezdrôtových HEOS reproduktoroch ako HEOS 1, 3, 5 a 7 vráti chybu.
Play URL (vlastný stream)
Play URL je tlačidlo, ktoré streamuje ľubovoľnú HTTP(S) audio URL do zvoleného HEOS hráča cez heos://browse/play_stream?pid={PlayerId}&url={URL}. Premenná URL zariadenia drží cieľový stream — v defaulte obsahuje ukážkové MP3 zvončeka z Pixabay a typicky sa prepíše na internetové rádio, notifikačný zvuk alebo ľubovoľnú priamu audio URL.
Dobré využitie: zvončekové notifikácie, hlasové oznámenia z lokálneho HTTP servera, prehranie fixnej URL internetového rádia bez HEOS Favorites.
Ďalšie schopnosti
HEOS CLI protokol ponúka oveľa viac funkcií, než šablóna aktuálne implementuje. Tieto je možné pridať v budúcej aktualizácii šablóny:
- Metadáta Now Playing (
player/get_now_playing_media) — aktuálny názov skladby, interpret, album a URL obalu ako string atribúty. - Spätná väzba stavu prehrávania (
player/get_play_state) — načítanie play / pause / stop, aby transportné tlačidlá odzrkadlovali skutočný stav. - Toggle Mute (
player/toggle_mute) — jediný príkaz na prepnutie stlmenia bez predchádzajúceho čítania stavu. - Správa fronty (
player/get_queue,play_queue,clear_queue) — prechádzanie a manipulácia aktuálnej fronty prehrávania. - Obľúbené a predvoľby (
browse/play_preset) — spustenie uložených HEOS Favorites podľa čísla predvoľby, jednoduchšie ako holý Play URL pre uložené stanice. - Výber fyzického vstupu (
browse/play_input) — prepnutie na AUX / Line-In na HEOS Amp, Link a AVR modeloch. - Multiroom zoskupenie (
group/*) — vytváranie, rušenie a hromadné ovládanie hlasitosti HEOS skupín pre synchronizované prehrávanie v celom dome. - Správa firmware (
system/check_update,system/reboot) — spustenie kontroly firmware aktualizácií a vzdialený reštart. - Change events (
system/register_for_change_events) — voliteľné push notifikácie pre zmeny hlasitosti, stavu a metadát namiesto pollovania. - Prihlásenie do HEOS účtu (
system/sign_in) — potrebné pre prístup k plateným streamovacím službám (Tidal, Amazon Music, Deezer, vlastné TuneIn stanice) z TapHome.
Riešenie problémov
Atribút Players je po Get Players prázdny
HEOS beží v CLI module v spiacom režime a jadro naštartuje pri prvom socket pripojení, čo môže trvať pár sekúnd. Počkajte 5–10 sekúnd a spustite Get Players znova. Ak je stále prázdny, overte:
- TapHome CCU vie dosiahnuť IP reproduktora na TCP porte 1255 (rovnaká LAN / subnet, žiadny firewall medzi nimi).
- HEOS zariadenie je v aplikácii HEOS plne online — CLI je nedostupné, kým nie je dokončené prvotné Wi-Fi nastavenie.
- IP adresa v module stále zodpovedá reproduktoru — obnova DHCP ju môže zmeniť. Použite DHCP rezerváciu alebo statickú IP.
Všetky príkazy zariadení vracajú “ID Not Valid”
Vlastná premenná PlayerId buď stále drží default šablóny (-1857880384), alebo ukazuje na pid, ktorý už neexistuje (napr. reproduktor bol factory-reset). Spustite Get Players a následne Set Player Id so správnym indexom.
Akcia Play URL nereaguje alebo vracia chybu
Skript Play URL v aktuálnej šablóne má známu chybu: odkazuje na playerId (malé písmená) namiesto vlastnej premennej PlayerId. Ak akcia nemá efekt, otvorte v aplikácii TapHome skript zariadenia Play URL a opravte názov premennej tak, aby zodpovedal PlayerId. Po oprave posiela akcia heos://browse/play_stream správne. Uistite sa tiež, že stream URL je z HEOS reproduktora dosiahnuteľná a používa podporovaný audio formát (MP3, AAC, WAV — HLS streamy nie sú spoľahlivo akceptované).
Quick Select vracia chybu
Quick Select funguje len na HEOS-enabled AVR, zosilňovačoch a soundbar produktoch. Na bezdrôtových HEOS reproduktoroch (HEOS 1, 3, 5, 7 a Denon Home reproduktory bez soundbar funkcií) použite radšej Play URL alebo obľúbené streamy.
Zmeny v aplikácii HEOS nie sú v TapHome viditeľné
Šablóna pollne stav každé 2,5 sekundy pre Volume, Mute a Play Mode. Transportný stav (Play / Pause / Stop) sa nepolluje — to sú len push tlačidlá. Ak externý ovládač zmenil režim prehrávania alebo spároval nový streamovací účet, odpojenie a znovupripojenie TapHome modulu k reproduktoru si vynúti novú CLI reláciu.
Viac HEOS hráčov — ako ovládať viac než jedného
Jeden TapHome modul ovláda presne jedného HEOS hráča (jeden pid). Na ovládanie druhého reproduktora importujte druhú inštanciu šablóny Denon HEOS. IP adresa môže ukazovať na rovnaké HEOS zariadenie — CLI jedného reproduktora dosiahne každého iného HEOS hráča v sieti — a akcia Set Player Id s iným indexom viaže druhý modul na iný reproduktor.
