Denon discovery este un mic șablon auxiliar pentru produsele Denon HEOS. Nu caută dispozitive în rețea: se conectează la un singur player HEOS, la adresa IP introdusă la import, cere de la HEOS CLI (Command Line Interface) lista playerelor din sistemul HEOS și memorează ID-ul de player (pid) al primului player din listă. Comenzile pentru playere ale HEOS CLI (heos://player/...) adresează un player prin acest pid.
Șablonul conține un singur modul cu o singură variabilă, Denon player id. Nu oferă control al volumului, al dezactivării sunetului sau al redării.
Șablonul citește întotdeauna prima intrare din lista playerelor (
payload[0].pid). Într-un sistem HEOS cu mai multe playere afișează doar acestpid— specificația HEOS CLI nu definește ordinea listei, așa că prima intrare nu este neapărat boxa a cărei adresă IP a fost introdusă.
Controlul complet al unui player HEOS și selectarea unui player din listă după index (acțiunile de service Get Players și Set Player Id) sunt oferite de șablonul principal Denon HEOS. Denon discovery doar citește pid-ul.
Pregătirea dispozitivului HEOS
HEOS CLI face parte din firmware-ul HEOS; pe dispozitiv nu trebuie activat nimic și nu este nevoie de hardware suplimentar. Șablonul este realizat pentru HEOS CLI v1.17, care corespunde versiunii HEOS 2.41.140.
- Instalați HEOS App (Android / iOS) pe un telefon sau o tabletă din aceeași rețea și finalizați configurarea inițială a dispozitivului HEOS, astfel încât acesta să fie conectat la Wi-Fi sau Ethernet. CLI nu este disponibil până la finalizarea acestei configurări.
- Aflați adresa IP a dispozitivului HEOS — în aplicația HEOS la Settings → My Devices → About sau în lista de clienți DHCP a routerului. Produsele HEOS se anunță și în rețeaua locală prin UPnP SSDP (ținta de căutare
urn:schemas-denon-com:device:ACT-Denon:1). - Rezervați această adresă în router (rezervare DHCP) sau setați o adresă IP statică, ca să nu se schimbe după reînnoirea DHCP.
- Asigurați-vă că TapHome Core poate accesa dispozitivul HEOS pe portul TCP 1255 — aceeași rețea locală sau o subrețea rutată, fără firewall care să blocheze portul.
Un singur dispozitiv HEOS este suficient: conexiunea la o singură boxă HEOS oferă acces la toate playerele HEOS din rețea, așa că get_players le returnează pe toate.
HEOS CLI nu are autentificare proprie — orice dispozitiv care poate accesa portul TCP 1255 poate trimite comenzi sistemului HEOS. Păstrați produsele HEOS într-un segment de rețea de încredere.
Configurare
La importul în interfața Packet Parser din aplicația TapHome, introduceți adresa IP a dispozitivului HEOS în parametrul Adresa IP; portul și delimitarea mesajelor sunt deja setate în șablon.
| Setare | Valoare |
|---|---|
| Transport | TCP, portul 1255 |
| Delimitator de mesaje | \r\n pentru comenzi și răspunsuri |
| Conexiune | deschisă la fiecare citire, nu rămâne deschisă (StayConnected dezactivat) |
| Interval de citire | 15 s |
| Comandă trimisă | heos://player/get_players |
| Valoare memorată | payload[0].pid din răspunsul JSON |
Răspunsul la get_players este un obiect JSON cu antetul heos (command, result, message) și o matrice payload cu câte o intrare pentru fiecare player. Fiecare intrare conține name, pid, model, version și network (wired sau wifi), plus lineout, iar în funcție de dispozitiv gid (numai când playerul face parte dintr-un grup), control și serial. Șablonul păstrează doar pid-ul primei intrări.
Funcțiile dispozitivului
Denon player id
Denon player id este o variabilă care conține ID-ul de player HEOS citit din prima intrare a răspunsului get_players. Se actualizează la fiecare 15 secunde, așa că urmărește sistemul HEOS când lista se schimbă. Șablonul nu are script de scriere pentru această variabilă — este destinată doar citirii.
Valoarea poate fi folosită oriunde este nevoie de un pid HEOS, de exemplu când se trimite o comandă heos://player/* dintr-un alt modul Packet Parser. Când se folosește șablonul complet Denon HEOS, acest șablon auxiliar nu este necesar — acțiunile sale de service Get Players și Set Player Id listează deja playerele și leagă modulul de playerul ales.
Rezolvarea problemelor
Denon player id rămâne gol după import
O boxă HEOS rulează CLI în modul inactiv și îl pornește abia la sosirea primei conexiuni TCP. Imediat după aceea, CLI poate să nu răspundă încă la comenzile pentru playere, deoarece trebuie mai întâi să descopere toate playerele din rețea. Așteptați câteva cicluri de citire (de câte 15 s). Deoarece acest șablon închide conexiunea după fiecare citire, CLI poate reveni în modul inactiv între citiri; de aceea și primele citiri după o pauză mai lungă pot rămâne goale.
Dacă valoarea nu apare deloc, verificați că:
- Adresa IP din modul aparține în continuare dispozitivului HEOS (rezervare DHCP sau adresă IP statică).
- Portul TCP 1255 este accesibil din TapHome Core — aceeași rețea locală, fără firewall între ele.
- Dispozitivul HEOS este complet online în aplicația HEOS.
Valoarea aparține altei boxe
Șablonul memorează pid-ul primului player din listă, care nu este neapărat boxa de la adresa IP introdusă. Când există mai multe playere HEOS, folosiți șablonul principal Denon HEOS, a cărui acțiune de service Get Players afișează întreaga listă (nume, pid, model), iar Set Player Id selectează playerul după indexul numerotat de la 0.
S-a schimbat pid-ul
HEOS atribuie valorile pid playerelor din rețea. Dacă o boxă a fost resetată la setările din fabrică sau înlocuită, poate primi un pid nou; Denon player id afișează noua valoare la următoarea citire, dar o valoare copiată în altă parte trebuie actualizată manual.
Denon