Denon discovery je malá pomocná šablóna pre produkty Denon HEOS. Zariadenia v sieti nevyhľadáva: pripojí sa k jednému prehrávaču HEOS na IP adrese zadanej pri importe, vyžiada si od HEOS CLI (Command Line Interface) zoznam prehrávačov v systéme HEOS a uloží ID prehrávača (pid) prvého prehrávača v tomto zozname. Príkazy HEOS CLI pre prehrávače (heos://player/...) adresujú prehrávač práve týmto pid.
Šablóna obsahuje jeden modul s jedinou premennou Denon player id. Nemá ovládanie hlasitosti, stlmenia ani prehrávania.
Šablóna vždy číta prvú položku zoznamu prehrávačov (
payload[0].pid). V systéme HEOS s viacerými prehrávačmi zobrazí iba tento jedenpid— špecifikácia HEOS CLI poradie zoznamu nedefinuje, takže prvá položka nemusí byť reproduktor, ktorého IP adresa bola zadaná.
Plné ovládanie prehrávača HEOS aj výber prehrávača zo zoznamu podľa indexu (servisné akcie Get Players a Set Player Id) poskytuje hlavná šablóna Denon HEOS. Denon discovery iba číta pid.
Príprava zariadenia HEOS
HEOS CLI je súčasťou firmvéru HEOS; na zariadení netreba nič zapínať a nie je potrebný žiadny ďalší hardvér. Šablóna je postavená na HEOS CLI v1.17, čo zodpovedá verzii HEOS 2.41.140.
- Nainštalujte HEOS App (Android / iOS) na telefón alebo tablet v tej istej sieti a dokončite úvodné nastavenie zariadenia HEOS, aby bolo pripojené cez Wi-Fi alebo Ethernet. Kým toto nastavenie nie je dokončené, CLI nie je dostupné.
- Zistite IP adresu zariadenia HEOS — v aplikácii HEOS v Settings → My Devices → About alebo v zozname DHCP klientov routera. Produkty HEOS sa v LAN ohlasujú aj cez UPnP SSDP (search target
urn:schemas-denon-com:device:ACT-Denon:1). - Túto adresu si v routeri rezervujte (DHCP rezervácia) alebo nastavte statickú IP, aby sa po obnovení DHCP nezmenila.
- Overte, že TapHome Core sa dostane k zariadeniu HEOS na TCP porte 1255 — tá istá LAN alebo smerovaná podsieť a žiadny firewall, ktorý by port blokoval.
Stačí jedno zariadenie HEOS: pripojenie k jednému reproduktoru HEOS sprístupní všetky prehrávače HEOS v sieti, takže get_players vráti všetky.
HEOS CLI nemá vlastné prihlasovanie — akékoľvek zariadenie, ktoré sa dostane na TCP port 1255, môže systému HEOS posielať príkazy. Produkty HEOS držte v dôveryhodnom segmente siete.
Konfigurácia
Pri importe do rozhrania Packet Parser v aplikácii TapHome zadajte IP adresu zariadenia HEOS do parametra IP adresa; port a rámcovanie správ sú v šablóne už nastavené.
| Nastavenie | Hodnota |
|---|---|
| Transport | TCP, port 1255 |
| Oddeľovač správ | \r\n pre príkazy aj odpovede |
| Spojenie | otvára sa pri každom čítaní, nedrží sa otvorené (StayConnected vypnuté) |
| Interval čítania | 15 s |
| Odosielaný príkaz | heos://player/get_players |
| Ukladaná hodnota | payload[0].pid z odpovede JSON |
Odpoveď na get_players je objekt JSON s hlavičkou heos (command, result, message) a poľom payload s jednou položkou pre každý prehrávač. Každá položka obsahuje name, pid, model, version a network (wired alebo wifi), ďalej lineout a podľa zariadenia aj gid (len ak je prehrávač súčasťou skupiny), control a serial. Šablóna si ponechá iba pid prvej položky.
Funkcie zariadenia
Denon player id
Denon player id je premenná, ktorá uchováva ID prehrávača HEOS prečítané z prvej položky odpovede get_players. Obnovuje sa každých 15 sekúnd, takže pri zmene zoznamu sleduje stav systému HEOS. Šablóna pre túto premennú nemá skript zápisu — je určená iba na čítanie.
Hodnotu možno použiť všade, kde je potrebný HEOS pid, napríklad keď sa príkaz heos://player/* posiela z iného modulu Packet Parser. Pri použití plnej šablóny Denon HEOS táto pomocná šablóna nie je potrebná — jej servisné akcie Get Players a Set Player Id už prehrávače vypíšu a modul naviažu na zvolený prehrávač.
Riešenie problémov
Premenná Denon player id zostáva po importe prázdna
Reproduktor HEOS drží CLI v režime spánku a spustí ho až pri prvom prichádzajúcom TCP spojení. Hneď potom CLI ešte nemusí vedieť odpovedať na príkazy pre prehrávače, pretože najprv musí objaviť všetky prehrávače v sieti. Počkajte niekoľko cyklov čítania (každý 15 s). Keďže táto šablóna po každom čítaní spojenie zatvorí, CLI sa medzi čítaniami môže vrátiť do režimu spánku; prvé čítania po dlhšej prestávke preto tiež môžu zostať prázdne.
Ak sa hodnota neobjaví vôbec, skontrolujte, či:
- IP adresa v module stále patrí zariadeniu HEOS (DHCP rezervácia alebo statická IP).
- TCP port 1255 je dostupný z TapHome Core — tá istá LAN, žiadny firewall medzi nimi.
- Zariadenie HEOS je v aplikácii HEOS úplne online.
Hodnota patrí inému reproduktoru
Šablóna ukladá pid prvého prehrávača v zozname, čo nemusí byť reproduktor na zadanej IP adrese. Pri viacerých prehrávačoch HEOS použite hlavnú šablónu Denon HEOS, ktorej servisná akcia Get Players zobrazí celý zoznam (meno, pid, model) a servisná akcia Set Player Id vyberie prehrávač podľa indexu počítaného od 0.
Pid sa zmenil
HEOS prideľuje hodnoty pid prehrávačom v sieti. Ak bol reproduktor obnovený na výrobné nastavenia alebo vymenený, môže dostať nový pid; Denon player id zobrazí novú hodnotu pri ďalšom čítaní, ale hodnotu skopírovanú inde treba aktualizovať ručne.
Denon