Denon discovery je malá pomocná šablona pro produkty Denon HEOS. Zařízení v síti nevyhledává: připojí se k jednomu přehrávači HEOS na IP adrese zadané při importu, vyžádá si od HEOS CLI (Command Line Interface) seznam přehrávačů v systému HEOS a uloží ID přehrávače (pid) prvního přehrávače v tomto seznamu. Příkazy HEOS CLI pro přehrávače (heos://player/...) adresují přehrávač právě tímto pid.
Šablona obsahuje jeden modul s jedinou proměnnou Denon player id. Nemá ovládání hlasitosti, ztlumení ani přehrávání.
Šablona vždy čte první položku seznamu přehrávačů (
payload[0].pid). V systému HEOS s více přehrávači zobrazí pouze tento jedenpid— specifikace HEOS CLI pořadí seznamu nedefinuje, takže první položka nemusí být reproduktor, jehož IP adresa byla zadána.
Plné ovládání přehrávače HEOS i výběr přehrávače ze seznamu podle indexu (servisní akce Get Players a Set Player Id) poskytuje hlavní šablona Denon HEOS. Denon discovery pouze čte pid.
Příprava zařízení HEOS
HEOS CLI je součástí firmwaru HEOS; na zařízení není třeba nic zapínat a není potřeba žádný další hardware. Šablona je postavena na HEOS CLI v1.17, což odpovídá verzi HEOS 2.41.140.
- Nainstalujte HEOS App (Android / iOS) na telefon nebo tablet ve stejné síti a dokončete úvodní nastavení zařízení HEOS, aby bylo připojené přes Wi-Fi nebo Ethernet. Dokud toto nastavení není dokončené, CLI není dostupné.
- Zjistěte IP adresu zařízení HEOS — v aplikaci HEOS v Settings → My Devices → About nebo v seznamu DHCP klientů routeru. Produkty HEOS se v LAN ohlašují také přes UPnP SSDP (search target
urn:schemas-denon-com:device:ACT-Denon:1). - Tuto adresu si v routeru rezervujte (DHCP rezervace) nebo nastavte statickou IP, aby se po obnovení DHCP nezměnila.
- Ověřte, že se TapHome Core dostane k zařízení HEOS na TCP portu 1255 — stejná LAN nebo směrovaná podsíť a žádný firewall, který by port blokoval.
Stačí jedno zařízení HEOS: připojení k jednomu reproduktoru HEOS zpřístupní všechny přehrávače HEOS v síti, takže get_players vrátí všechny.
HEOS CLI nemá vlastní přihlašování — jakékoli zařízení, které se dostane na TCP port 1255, může systému HEOS posílat příkazy. Produkty HEOS držte v důvěryhodném segmentu sítě.
Konfigurace
Při importu do rozhraní Packet Parser v aplikaci TapHome zadejte IP adresu zařízení HEOS do parametru IP adresa; port a rámcování zpráv jsou v šabloně již nastavené.
| Nastavení | Hodnota |
|---|---|
| Transport | TCP, port 1255 |
| Oddělovač zpráv | \r\n pro příkazy i odpovědi |
| Spojení | otevírá se při každém čtení, nedrží se otevřené (StayConnected vypnuto) |
| Interval čtení | 15 s |
| Odesílaný příkaz | heos://player/get_players |
| Ukládaná hodnota | payload[0].pid z odpovědi JSON |
Odpověď na get_players je objekt JSON s hlavičkou heos (command, result, message) a polem payload s jednou položkou pro každý přehrávač. Každá položka obsahuje name, pid, model, version a network (wired nebo wifi), dále lineout a podle zařízení také gid (jen pokud je přehrávač součástí skupiny), control a serial. Šablona si ponechá pouze pid první položky.
Funkce zařízení
Denon player id
Denon player id je proměnná, která uchovává ID přehrávače HEOS přečtené z první položky odpovědi get_players. Obnovuje se každých 15 sekund, takže při změně seznamu sleduje stav systému HEOS. Šablona pro tuto proměnnou nemá skript zápisu — je určená pouze ke čtení.
Hodnotu lze použít všude, kde je potřeba HEOS pid, například když se příkaz heos://player/* posílá z jiného modulu Packet Parser. Při použití plné šablony Denon HEOS tato pomocná šablona není potřeba — její servisní akce Get Players a Set Player Id už přehrávače vypíšou a modul navážou na zvolený přehrávač.
Řešení problémů
Proměnná Denon player id zůstává po importu prázdná
Reproduktor HEOS drží CLI v režimu spánku a spustí ho až při prvním příchozím TCP spojení. Hned poté CLI ještě nemusí umět odpovídat na příkazy pro přehrávače, protože nejprve musí objevit všechny přehrávače v síti. Počkejte několik cyklů čtení (každý 15 s). Protože tato šablona po každém čtení spojení zavře, CLI se mezi čteními může vrátit do režimu spánku; první čtení po delší přestávce proto také mohou zůstat prázdná.
Pokud se hodnota neobjeví vůbec, zkontrolujte, zda:
- IP adresa v modulu stále patří zařízení HEOS (DHCP rezervace nebo statická IP).
- TCP port 1255 je dostupný z TapHome Core — stejná LAN, žádný firewall mezi nimi.
- Zařízení HEOS je v aplikaci HEOS plně online.
Hodnota patří jinému reproduktoru
Šablona ukládá pid prvního přehrávače v seznamu, což nemusí být reproduktor na zadané IP adrese. Při více přehrávačích HEOS použijte hlavní šablonu Denon HEOS, jejíž servisní akce Get Players zobrazí celý seznam (jméno, pid, model) a servisní akce Set Player Id vybere přehrávač podle indexu počítaného od 0.
Pid se změnil
HEOS přiděluje hodnoty pid přehrávačům v síti. Pokud byl reproduktor obnoven do továrního nastavení nebo vyměněn, může dostat nový pid; Denon player id zobrazí novou hodnotu při dalším čtení, ale hodnotu zkopírovanou jinam je třeba aktualizovat ručně.
Denon