
A Denon HEOS vezeték nélküli multiroom audio platform, amely a HEOS Command Line Interface (CLI) köré épül — egy szöveges protokoll, amely a helyi hálózaton minden hangszórót, soundbart, erősítőt és HEOS-kompatibilis komponenst elérhetővé tesz a TCP 1255 porton. A TapHome ezt a protokollt használja a HEOS hangszórók lejátszásának, hangerejének, némításának és lejátszási módjának vezérlésére, felhőszolgáltatástól függetlenül.
A sablon lefedi a teljes vezeték nélküli HEOS kínálatot (HEOS 1, 3, 5, 7), a HEOS Bar és HomeCinema soundbarokat, a HEOS Amp / Link / Drive komponenseket, a HEOS Subot, valamint az újabb Denon Home 150 / 250 / 350 hangszórókat és a Sound Bar 550-et. Elegendő egyetlen HEOS eszköz a LAN-on — a CLI a player/get_players végponton keresztül minden további HEOS lejátszót elérhetővé tesz a hálózaton.
Ez a sablon kizárólag HEOS hangszórókhoz, soundbarokhoz és HEOS-kompatibilis erősítőkhöz készült. A Denon és Marantz AVR receiverek (AVR-X, SR sorozat stb.) külön Denon/Marantz Telnet control protokollt használnak a 23-as porton, és ezzel a sablonnal nem kompatibilisek, még a HEOS Built-in funkciót is tartalmazó modelleken sem.
Hálózati kapcsolat
A HEOS TCP-n kommunikál az 1255-ös porton, szöveges ASCII parancsokkal, amelyeket \r\n zár, és JSON válaszokat ad. Hitelesítésre nincs szükség — minden eszköz, amely ugyanazon LAN-on van, csatlakozhat a CLI porthoz.
Mielőtt a TapHome vezérelni tudná az eszközt, a HEOS hangszórót be kell állítani a HEOS mobilalkalmazáson keresztül:
- Telepítse a HEOS App-ot (Android / iOS) egy telefonra vagy tabletre ugyanazon Wi-Fi hálózaton.
- Csatlakoztassa a HEOS eszközt Wi-Fire vagy Ethernetre az alkalmazás kezdeti beállítási varázslójával.
- Ellenőrizze, hogy a firmware naprakész (a sablon a HEOS CLI v1.17-re épül, ami a 2.41.140 vagy újabb firmware-nek felel meg).
- Jegyezze fel a hangszóró IP-címét — megtalálható a HEOS alkalmazás Settings → My Devices → About menüjében vagy a router DHCP klienslistájában.
Használjon statikus IP-t vagy DHCP foglalást ahhoz a HEOS eszközhöz, amelyhez a TapHome csatlakozik. A hangszóró átjáróként szolgál az összes többi HEOS lejátszóhoz, így stabil cím mellett az egész ökoszisztéma elérhető marad.
A HEOS CLI nem rendelkezik hitelesítéssel. Tartsa a hangszórót megbízható LAN szegmensben — minden hálózati hozzáféréssel rendelkező eszköz az 1255 porton vezérelheti a lejátszást.
Konfiguráció
TapHome kapcsolati paraméterek
A sablon importálásakor a TapHome alkalmazásban adja meg a HEOS hangszóró IP-címét az IP Address paraméterbe. A TCP 1255 port és a protokoll keretezés már be van állítva a sablonban. A TapHome egyetlen tartós TCP kapcsolatot nyit, és ezen keresztül csatornázza a HEOS CLI parancsokat.
PlayerId inicializálása
Minden heos://player/* parancs player id (pid) megadását igényli — ez egy nagy előjeles egész szám, amelyet a HEOS minden hálózati hangszóróhoz dinamikusan rendel. A sablon a PlayerId egyedi változóban tárolja. Mivel a HEOS hálózatonként dinamikusan generálja a pid-et, a sablon egy helyőrző értékkel (-1857880384) érkezik, amelyet első beállításkor le kell cserélni.
A modul két szerviz műveletet kínál a pid felfedezésére és hozzárendelésére. Sablon importálása után futtassa ezeket egyszer:
- Get Players — elküldi a
heos://player/get_playersparancsot, és a JSON választ aPlayersResponsemodulváltozóba gyorsítótárazza. A modul Players szerviz attribútuma ezután megjeleníti a hálózaton látható HEOS lejátszók listáját nevükkel, pid-jükkel, modelljükkel és IP-címükkel. - Set Player Id — egy
Indexparamétert fogad (0-alapú pozíció a Players tömbben), és a megfelelő pid-et írja aPlayerIdegyedi változóba. Válassza ki a vezérelni kívánt hangszóró indexét — egy TapHome modul egyszerre egy HEOS lejátszóhoz van kötve.
E két lépés után minden gyermekeszköz (Volume, Mute, Play, Pause stb.) a kiválasztott hangszóróval dolgozik. Egy második HEOS lejátszó vezérléséhez importálja a sablon második példányát ugyanazon (vagy másik) HEOS IP ellenében, és ismételje meg a Set Player Id lépést másik indexszel.
Ha a Players attribútum az első futtatáskor üres, a HEOS CLI modul alvó módban lehet. Néhány másodperc múlva futtassa újra a Get Playerst — a HEOS az első csatlakozáskor indítja a CLI magot, és egy pillanatig tarthat, amíg minden lejátszót felsorol.
Eszközváltozók
Két gyermekeszköz rendelkezik sablonimport után konfigurálható változókkal:
| Eszköz | Változó | Alapértelmezett | Megjegyzés |
|---|---|---|---|
| Play URL | URL | Pixabay csengő MP3 | Bármely közvetlen HTTP(S) URL audio streamhez vagy fájlhoz |
| Volume Up / Volume Down | Step | 5 | Hangerő változás gombnyomásra; a HEOS specifikáció a tartományt 1–10-re korlátozza |
A TapHome alkalmazásban nyissa meg az egyes eszközök részleteit, és állítsa be ezeket a változókat a kívánt értékekre. A stream URL URL-kódolt speciális karaktereit (&, =, %) a sablon szkriptje kezeli.
Eszközfunkciók
A sablon 12 gyermekeszközt biztosít, amelyek lefedik a lejátszást, hangerőt, némítást és URL streamelést egyetlen HEOS lejátszóhoz.
Hangerő vezérlése
A Volume eszköz egy dimmer, amely olvassa a heos://player/get_volume értéket (0–100 szint), és a 0.0–1.0 dimmer tartományra skálázza (Le := level / 100). Íráskor a heos://player/set_volume parancsot küldi ROUND(Le * 100) értékkel. A hangerőt 2,5 másodpercenként lekérdezi, így a HEOS alkalmazásból vagy másik vezérlőből származó külső hangerőváltozások a következő ciklusban tükröződnek a TapHome-ban.
A Volume Up és Volume Down nyomógomb eszközök, amelyek a konfigurálható Step lépésközzel küldik a heos://player/volume_up és heos://player/volume_down parancsokat. Hasznos fizikai fali kapcsolókhoz vagy smart szabályokhoz kötéskor.
Némítás
A Mute egy kapcsoló, amely olvassa a heos://player/get_mute értéket, és a heos://player/set_mute parancsot írja state=on|off paraméterrel. Némításkor a hangszóró elnémul anélkül, hogy a tényleges hangerőszint megváltozna.
Transport
Négy nyomógomb eszköz fedi le az alapvető transport műveleteket:
- Play — írja:
heos://player/set_play_state?state=play - Pause — írja:
heos://player/set_play_state?state=pause - Stop — írja:
heos://player/set_play_state?state=stop - Next Track — írja:
heos://player/play_next - Previous Track — írja:
heos://player/play_previous
Ezek csak írási gombok — a sablon nem olvassa vissza az aktuális lejátszási állapotot, így a transport gombok nem tükrözik, hogy a hangszóró ténylegesen játszik-e.
Lejátszási mód
A Play Mode egy multi-value kapcsoló, amely a HEOS repeat és shuffle jelzőit egy 6 állapotú enumba kombinálja. Olvasása és írása a heos://player/get_play_mode és heos://player/set_play_mode parancsokkal történik:
| Érték | Mód |
|---|---|
| 0 | Nincs ismétlés, nincs véletlen |
| 1 | Minden ismétlése |
| 2 | Egy szám ismétlése |
| 3 | Véletlen, nincs ismétlés |
| 4 | Véletlen, minden ismétlése |
| 5 | Véletlen, egy szám ismétlése |
Az XML sablon a multi-value konfigurációban 6–9 sloto(ka)t foglal, de ezek használaton kívüliek — csak a 0–5 értékek érhetők el.
QuickSelect előbeállítások
A Quick Select csak írható multi-value kapcsoló (1–9), amely HEOS QuickSelect előbeállítást indít a heos://player/play_quickselect?id={1-9} parancson keresztül. A Quick selectek magán a lejátszón vannak elmentve (jellemzően párosított Denon AVR-en vagy HEOS Baron), és tartalmazhatnak előre beállított bemenetet, forrást vagy állomást.
A Quick Select a HEOS specifikáció §4.2.24 szerint AVR-only parancs. Működik a HEOS Amp, HEOS Link, HEOS Bar és HEOS-kompatibilis AVR/receiver termékeken, de a különálló vezeték nélküli HEOS hangszórókon, mint a HEOS 1, 3, 5 és 7, hibát ad vissza.
Play URL (egyedi stream)
A Play URL nyomógomb, amely tetszőleges HTTP(S) audio URL-t streamel a kiválasztott HEOS lejátszóra a heos://browse/play_stream?pid={PlayerId}&url={URL} parancson keresztül. Az eszköz URL változója tárolja a stream célt — alapértelmezésben egy Pixabay csengő MP3 mintát tartalmaz, és jellemzően internetes rádióra, értesítő hangra vagy bármilyen közvetlen audio URL-re írható át.
Jó felhasználás: csengő értesítések, hangbemondások helyi HTTP szerverről, fix internetes rádió URL lejátszása HEOS Favorites nélkül.
További képességek
A HEOS CLI protokoll sokkal több funkciót kínál, mint amit a sablon jelenleg megvalósít. Ezeket egy jövőbeli sablonfrissítésben lehet hozzáadni:
- Now Playing metaadatok (
player/get_now_playing_media) — aktuális szám címe, előadó, album és borítókép URL string attribútumként. - Lejátszási állapot visszajelzés (
player/get_play_state) — play / pause / stop visszaolvasása, hogy a transport gombok a valódi állapotot tükrözzék. - Toggle Mute (
player/toggle_mute) — egyetlen parancs a némítás váltásához az állapot előzetes olvasása nélkül. - Sorkezelés (
player/get_queue,play_queue,clear_queue) — aktuális lejátszási sor böngészése és kezelése. - Kedvencek és előbeállítások (
browse/play_preset) — mentett HEOS Favorites indítása előbeállítás-szám alapján, egyszerűbb, mint nyers Play URL a mentett állomásokhoz. - Fizikai bemenet választás (
browse/play_input) — AUX / Line-In-re váltás HEOS Amp, Link és AVR modelleken. - Multiroom csoportosítás (
group/*) — HEOS csoportok létrehozása, feloldása és közös hangerővezérlése szinkronizált, egész házra kiterjedő lejátszáshoz. - Firmware karbantartás (
system/check_update,system/reboot) — firmware frissítés ellenőrzés indítása és távoli újraindítás. - Change events (
system/register_for_change_events) — opcionális push értesítések hangerő-, állapot- és now-playing változásokra a pollozás helyett. - HEOS fiók bejelentkezés (
system/sign_in) — szükséges a fizetős streamelési szolgáltatások eléréséhez (Tidal, Amazon Music, Deezer, egyedi TuneIn állomások) TapHome-ból.
Hibaelhárítás
A Players attribútum Get Players után üres
A HEOS alvó módban futtatja CLI modulját, és a magot az első socket csatlakozásnál indítja, ami néhány másodpercig tarthat. Várjon 5–10 másodpercet, majd futtassa újra a Get Players-t. Ha továbbra is üres, ellenőrizze:
- A TapHome CCU el tudja érni a hangszóró IP-jét TCP 1255 porton (azonos LAN / subnet, nincs tűzfal közöttük).
- A HEOS eszköz teljesen online a HEOS mobilalkalmazásban — a CLI nem érhető el, amíg a kezdeti Wi-Fi beállítás nem fejeződött be.
- A modulban szereplő IP-cím továbbra is megfelel a hangszórónak — a DHCP megújítások megváltoztathatják. Használjon DHCP foglalást vagy statikus IP-t.
Minden eszközparancs “ID Not Valid” hibát ad
A PlayerId egyedi változó vagy még a sablon alapértékét tartja (-1857880384), vagy egy már nem létező pid-re mutat (pl. a hangszórót gyári alaphelyzetre állították). Futtassa újra a Get Players-t, majd a Set Player Id-t a megfelelő indexszel.
A Play URL művelet nem csinál semmit vagy hibát ad
A jelenlegi sablon Play URL szkriptjének ismert sajátossága: a PlayerId egyedi változó helyett a playerId (kisbetűs) nevet hivatkozza. Ha a műveletnek nincs hatása, nyissa meg a TapHome alkalmazásban a Play URL eszköz szkriptjét, és javítsa a változónevet PlayerId-ra. A javítás után a művelet helyesen küldi a heos://browse/play_stream parancsot. Győződjön meg arról is, hogy a stream URL elérhető a HEOS hangszóróról, és támogatott audio formátumot használ (MP3, AAC, WAV — a HLS streameket nem fogadja megbízhatóan).
A Quick Select hibát ad
A Quick Select csak HEOS-kompatibilis AVR, erősítő és soundbar termékeken működik. Vezeték nélküli HEOS hangszórókon (HEOS 1, 3, 5, 7 és a soundbar funkció nélküli Denon Home hangszórókon) inkább használja a Play URL-t vagy a kedvenc streameket.
A HEOS alkalmazásban végzett módosítások nem látszanak a TapHome-ban
A sablon 2,5 másodpercenként kérdezi le a Volume, Mute és Play Mode állapotot. A transport állapotot (Play / Pause / Stop) nem kérdezi le — ezek csak nyomógombok. Ha külső vezérlő módosította a lejátszási módot vagy új streamelési fiókot párosított, a TapHome modul hangszóróról való leválasztása és újracsatlakoztatása új CLI munkamenetet kényszerít ki.
Több HEOS lejátszó — hogyan vezérelhető egynél több
Egy TapHome modul pontosan egy HEOS lejátszót vezérel (egy pid). Egy második hangszóró vezérléséhez importálja a Denon HEOS sablon második példányát. Az IP-cím mutathat ugyanarra a HEOS eszközre — egy hangszóró CLI-je eléri a hálózat minden más HEOS lejátszóját —, és a Set Player Id művelet másik indexszel a második modult egy másik hangszóróhoz köti.
