Denon discovery è un piccolo template di supporto per i prodotti Denon HEOS. Non cerca dispositivi nella rete: si collega a un solo player HEOS all’indirizzo IP inserito durante l’importazione, chiede alla HEOS CLI (Command Line Interface) l’elenco dei player del sistema HEOS e salva l’ID player (pid) del primo player dell’elenco. I comandi player della HEOS CLI (heos://player/...) indirizzano un player proprio con questo pid.
Il template contiene un modulo con una sola variabile, Denon player id. Non ha controllo di volume, mute o riproduzione.
Il template legge sempre la prima voce dell’elenco dei player (
payload[0].pid). In un sistema HEOS con più player mostra solo quelpid: la specifica HEOS CLI non definisce l’ordine dell’elenco, quindi la prima voce non è necessariamente il diffusore di cui hai inserito l’indirizzo IP.
Il controllo completo di un player HEOS e la scelta di un player dall’elenco tramite il suo indice (azioni di servizio Get Players e Set Player Id) sono offerti dal template principale Denon HEOS. Denon discovery legge solo il pid.
Preparazione del dispositivo HEOS
La HEOS CLI fa parte del firmware HEOS: sul dispositivo non c’è nulla da attivare e non serve hardware aggiuntivo. Il template è basato su HEOS CLI v1.17, che corrisponde alla versione HEOS 2.41.140.
- Installa la HEOS App (Android / iOS) su uno smartphone o un tablet nella stessa rete e completa la configurazione iniziale del dispositivo HEOS, in modo che sia collegato al Wi-Fi o all’Ethernet. La CLI non è disponibile finché questa configurazione non è completata.
- Trova l’indirizzo IP del dispositivo HEOS: nell’app HEOS in Settings → My Devices → About oppure nell’elenco dei client DHCP del router. I prodotti HEOS si annunciano nella LAN anche tramite UPnP SSDP (search target
urn:schemas-denon-com:device:ACT-Denon:1). - Riserva l’indirizzo nel router (prenotazione DHCP) o imposta un IP statico, così non cambia dopo un rinnovo DHCP.
- Verifica che l’unità di controllo Core raggiunga il dispositivo HEOS sulla porta TCP 1255: stessa LAN o subnet instradata, nessun firewall che blocchi la porta.
Basta un solo dispositivo HEOS: la connessione a un singolo diffusore HEOS dà accesso a tutti i player HEOS della rete, quindi get_players li restituisce tutti.
La HEOS CLI non ha un proprio login: qualsiasi dispositivo che raggiunge la porta TCP 1255 può inviare comandi al sistema HEOS. Tieni i prodotti HEOS in un segmento di rete attendibile.
Configurazione
Durante l’importazione nell’interfaccia Packet Parser dell’app TapHome, inserisci l’indirizzo IP del dispositivo HEOS nel parametro Indirizzo IP; la porta e il framing dei messaggi sono già impostati nel template.
| Impostazione | Valore |
|---|---|
| Trasporto | TCP, porta 1255 |
| Delimitatore dei messaggi | \r\n per comandi e risposte |
| Connessione | aperta a ogni lettura, non mantenuta aperta (StayConnected disattivato) |
| Intervallo di lettura | 15 s |
| Comando inviato | heos://player/get_players |
| Valore salvato | payload[0].pid dalla risposta JSON |
La risposta di get_players è un oggetto JSON con un’intestazione heos (command, result, message) e un array payload con una voce per ogni player. Ogni voce contiene name, pid, model, version e network (wired o wifi), più lineout e, a seconda del dispositivo, gid (solo quando il player fa parte di un gruppo), control e serial. Il template conserva solo il pid della prima voce.
Funzionalità del dispositivo
Denon player id
Denon player id è una variabile che contiene l’ID player HEOS letto dalla prima voce della risposta di get_players. Si aggiorna ogni 15 secondi, quindi segue il sistema HEOS quando l’elenco cambia. Il template non ha uno script di scrittura per questa variabile: è pensata solo per la lettura.
Il valore si può usare ovunque serva un pid HEOS, per esempio quando un comando heos://player/* viene inviato da un altro modulo Packet Parser. Se usi il template completo Denon HEOS, questo template di supporto non serve: le sue azioni di servizio Get Players e Set Player Id elencano già i player e collegano il modulo a quello scelto.
Risoluzione dei problemi
Denon player id resta vuoto dopo l’importazione
Un diffusore HEOS tiene la CLI in modalità dormiente e la avvia solo quando arriva la prima connessione TCP. Subito dopo, la CLI potrebbe non essere ancora in grado di rispondere ai comandi player, perché prima deve individuare tutti i player della rete. Attendi qualche ciclo di lettura (15 s ciascuno). Poiché questo template chiude la connessione dopo ogni lettura, tra una lettura e l’altra la CLI può tornare in modalità dormiente; per questo anche le prime letture dopo una pausa più lunga possono restare vuote.
Se il valore non compare mai, verifica che:
- L’indirizzo IP nel modulo appartenga ancora al dispositivo HEOS (prenotazione DHCP o IP statico).
- La porta TCP 1255 sia raggiungibile dall’unità di controllo Core: stessa LAN, nessun firewall in mezzo.
- Il dispositivo HEOS sia completamente online nell’app HEOS.
Il valore appartiene a un altro diffusore
Il template salva il pid del primo player dell’elenco, che non è necessariamente il diffusore all’indirizzo IP inserito. Con più player HEOS usa il template principale Denon HEOS: la sua azione di servizio Get Players mostra l’intero elenco (nome, pid, modello) e Set Player Id seleziona il player tramite il suo indice a base 0.
Il pid è cambiato
HEOS assegna i valori pid ai player della rete. Se un diffusore è stato riportato alle impostazioni di fabbrica o sostituito, può ricevere un nuovo pid; Denon player id mostra il nuovo valore alla lettura successiva, ma un valore copiato altrove va aggiornato a mano.
Denon