---
title: "Denon discovery — HEOS player ID"
description: "Legge l'ID player HEOS (pid) del primo player di un sistema Denon HEOS via HEOS CLI sulla porta TCP 1255. Una variabile; inserisci l'IP all'importazione."
url: "https://taphome.com/it/compatibility/denon-discovery/"
language: it
lastmod: 2026-11-10
generator: hugo
ai:
  topics: ["tcp","audio","packet-parser","heos-cli","multi-room"]
  questions: ["Come ottenere in TapHome l'ID player HEOS (pid) di un diffusore Denon?","Cosa legge il template TapHome Denon discovery?","Come collegare un player Denon HEOS a TapHome tramite la porta TCP 1255?","Perché Denon discovery mostra un solo player quando ci sono più diffusori HEOS?","Perché il valore Denon player id è vuoto dopo l'importazione del template?","Qual è la differenza tra i template Denon discovery e Denon HEOS?"]
---

# Denon discovery — HEOS player ID

Comunicazione: Packet Parser → TCP

## Guida all'integrazione

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.

> [!WARNING]
> Il template legge sempre la prima voce dell'elenco dei player (`payload[0].pid`). In un sistema HEOS con più player mostra solo quel `pid`: 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](https://taphome.com/it/compatibility/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.

1. 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.
2. 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`).
3. Riserva l'indirizzo nel router (prenotazione DHCP) o imposta un IP statico, così non cambia dopo un rinnovo DHCP.
4. 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.

> [!WARNING]
> 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](https://taphome.com/it/compatibility/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:

1. L'indirizzo IP nel modulo appartenga ancora al dispositivo HEOS (prenotazione DHCP o IP statico).
2. La porta TCP 1255 sia raggiungibile dall'unità di controllo Core: stessa LAN, nessun firewall in mezzo.
3. 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](https://taphome.com/it/compatibility/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.

## Dispositivi disponibili 1

Questi dispositivi compaiono in TapHome dopo l'importazione.

Denon discovery Modulo

Denon player id Variabile

Lettura (modulo)

```taphome
SENDDATA("heos://player/get_players")
```

Listener

```taphome
VAR responseJson := TOSTRING(RECEIVEDBYTES);
Va := PARSEJSON(responseJson,"$.payload[0].pid", 1);
```

**Connessione:** Packet Parser → TCP

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app | Predefinito   |
|--------------------|---------------|
| Indirizzo IP       | `192.168.0.1` |

## Documentazione correlata

- [Integrazione Packet Parser](https://taphome.com/it/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)

