---
title: "Denon discovery — HEOS player ID"
description: "Odczytuje identyfikator (pid) pierwszego odtwarzacza w systemie Denon HEOS przez HEOS CLI na porcie TCP 1255. Jedna zmienna; przy imporcie podaj IP HEOS."
url: "https://taphome.com/pl/compatibility/denon-discovery/"
language: pl
lastmod: 2026-11-10
generator: hugo
ai:
  topics: ["tcp","audio","packet-parser","heos-cli","multi-room"]
  questions: ["Jak uzyskać w TapHome identyfikator odtwarzacza HEOS (pid) głośnika Denon?","Co odczytuje szablon TapHome Denon discovery?","Jak połączyć odtwarzacz Denon HEOS z TapHome przez port TCP 1255?","Dlaczego Denon discovery pokazuje tylko jeden odtwarzacz, gdy w sieci jest kilka głośników HEOS?","Dlaczego wartość Denon player id jest pusta po imporcie szablonu?","Czym różnią się szablony Denon discovery i Denon HEOS?"]
---

# Denon discovery — HEOS player ID

Komunikacja: Packet Parser → TCP

## Poradnik integracji

Denon discovery to niewielki szablon pomocniczy dla produktów Denon HEOS. Nie skanuje sieci w poszukiwaniu urządzeń: łączy się z jednym odtwarzaczem HEOS pod adresem IP podanym podczas importu, pobiera z HEOS CLI (Command Line Interface) listę odtwarzaczy w systemie HEOS i zapisuje identyfikator odtwarzacza (`pid`) **pierwszego** odtwarzacza z tej listy. Polecenia odtwarzacza w HEOS CLI (`heos://player/...`) wskazują odtwarzacz właśnie przez ten `pid`.

Szablon zawiera jeden moduł z jedną zmienną, **Denon player id**. Nie steruje głośnością, wyciszeniem ani odtwarzaniem.

> [!WARNING]
> Szablon zawsze odczytuje pierwszy wpis listy odtwarzaczy (`payload[0].pid`). W systemie HEOS z kilkoma odtwarzaczami pokazuje tylko ten jeden `pid` — specyfikacja HEOS CLI nie określa kolejności listy, więc pierwszy wpis nie musi być głośnikiem, którego adres IP został podany.

Pełne sterowanie odtwarzaczem HEOS oraz wybór odtwarzacza z listy według indeksu (działania serwisowe **Get Players** i **Set Player Id**) zapewnia główny szablon [Denon HEOS](https://taphome.com/pl/compatibility/denon-heos/). Denon discovery odczytuje tylko `pid`.

## Przygotowanie urządzenia HEOS

HEOS CLI jest częścią firmware HEOS; na urządzeniu nie trzeba niczego włączać ani dokładać dodatkowego sprzętu. Szablon powstał w oparciu o HEOS CLI v1.17, co odpowiada wersji HEOS 2.41.140.

1. Zainstaluj **HEOS App** (Android / iOS) na telefonie lub tablecie w tej samej sieci i dokończ wstępną konfigurację urządzenia HEOS, tak aby było połączone z Wi-Fi lub Ethernetem. Do zakończenia tej konfiguracji CLI jest niedostępne.
2. Ustal adres IP urządzenia HEOS — w aplikacji HEOS w **Settings → My Devices → About** albo na liście klientów DHCP w routerze. Produkty HEOS ogłaszają się też w sieci LAN przez UPnP SSDP (cel wyszukiwania `urn:schemas-denon-com:device:ACT-Denon:1`).
3. Zarezerwuj ten adres w routerze (rezerwacja DHCP) albo ustaw statyczny adres IP, aby nie zmienił się po odnowieniu DHCP.
4. Upewnij się, że jednostka sterująca TapHome Core ma dostęp do urządzenia HEOS na **porcie TCP 1255** — ta sama sieć LAN lub routowana podsieć, bez zapory blokującej ten port.

Wystarczy jedno urządzenie HEOS: połączenie z jednym głośnikiem HEOS daje dostęp do wszystkich odtwarzaczy HEOS w sieci, więc `get_players` zwraca je wszystkie.

> [!WARNING]
> HEOS CLI nie ma własnego logowania — każde urządzenie, które ma dostęp do portu TCP 1255, może wysyłać polecenia do systemu HEOS. Trzymaj produkty HEOS w zaufanym segmencie sieci.

## Konfiguracja

Podczas importu do interfejsu Packet Parser w aplikacji TapHome podaj adres IP urządzenia HEOS w parametrze **Adres IP**; port i ramkowanie wiadomości są już ustawione w szablonie.

| Ustawienie | Wartość |
|------------|---------|
| Transport | TCP, port 1255 |
| Ogranicznik wiadomości | `\r\n` dla poleceń i odpowiedzi |
| Połączenie | otwierane przy każdym odczycie, nieutrzymywane (`StayConnected` wyłączone) |
| Interwał odczytu | 15 s |
| Wysyłane polecenie | `heos://player/get_players` |
| Zapisywana wartość | `payload[0].pid` z odpowiedzi JSON |

Odpowiedź na `get_players` to obiekt JSON z nagłówkiem `heos` (`command`, `result`, `message`) i tablicą `payload` z jednym wpisem na każdy odtwarzacz. Każdy wpis zawiera `name`, `pid`, `model`, `version` i `network` (`wired` lub `wifi`), a także `lineout` oraz, zależnie od urządzenia, `gid` (tylko gdy odtwarzacz należy do grupy), `control` i `serial`. Szablon zachowuje tylko `pid` pierwszego wpisu.

## Funkcje urządzenia

### Denon player id

**Denon player id** to zmienna, która przechowuje identyfikator odtwarzacza HEOS odczytany z pierwszego wpisu odpowiedzi `get_players`. Odświeża się co 15 sekund, więc nadąża za systemem HEOS, gdy lista się zmienia. Szablon nie ma dla tej zmiennej skryptu zapisu — jest ona przeznaczona tylko do odczytu.

Wartości możesz użyć wszędzie tam, gdzie potrzebny jest `pid` HEOS, na przykład gdy polecenie `heos://player/*` jest wysyłane z innego modułu Packet Parser. Jeśli korzystasz z pełnego szablonu [Denon HEOS](https://taphome.com/pl/compatibility/denon-heos/), ten szablon pomocniczy nie jest potrzebny — działania serwisowe **Get Players** i **Set Player Id** tamtego szablonu już wyświetlają listę odtwarzaczy i wiążą moduł z wybranym odtwarzaczem.

## Rozwiązywanie problemów

### Zmienna Denon player id pozostaje pusta po imporcie

Głośnik HEOS utrzymuje CLI w trybie uśpienia i uruchamia je dopiero przy pierwszym połączeniu TCP. Tuż potem CLI może jeszcze nie odpowiadać na polecenia odtwarzacza, bo najpierw musi wykryć wszystkie odtwarzacze w sieci. Odczekaj kilka cykli odczytu (po 15 s). Ponieważ ten szablon zamyka połączenie po każdym odczycie, CLI może między odczytami wrócić do trybu uśpienia; dlatego także pierwsze odczyty po dłuższej przerwie mogą pozostać puste.

Jeśli wartość w ogóle się nie pojawia, sprawdź, czy:

1. Adres IP w module nadal należy do urządzenia HEOS (rezerwacja DHCP lub statyczny adres IP).
2. Port TCP 1255 jest osiągalny z jednostki sterującej TapHome Core — ta sama sieć LAN, bez zapory pomiędzy.
3. Urządzenie HEOS jest w pełni online w aplikacji HEOS.

### Wartość należy do innego głośnika

Szablon zapisuje `pid` pierwszego odtwarzacza z listy, a ten nie musi być głośnikiem pod podanym adresem IP. Przy kilku odtwarzaczach HEOS użyj głównego szablonu [Denon HEOS](https://taphome.com/pl/compatibility/denon-heos/): jego działanie serwisowe **Get Players** pokazuje całą listę (nazwa, `pid`, model), a **Set Player Id** wybiera odtwarzacz według indeksu liczonego od 0.

### Zmienił się pid

HEOS przydziela wartości `pid` odtwarzaczom w sieci. Jeśli głośnik został przywrócony do ustawień fabrycznych lub wymieniony, może otrzymać nowy `pid`; Denon player id pokaże nową wartość przy następnym odczycie, ale wartość skopiowaną w inne miejsce trzeba zaktualizować ręcznie.

## Dostępne urządzenia 1

Te urządzenia pojawią się w TapHome po imporcie.

Denon discovery Moduł

Denon player id Zmienna

Odczyt (moduł)

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

Nasłuchiwanie

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

**Połączenie:** Packet Parser → TCP

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji | Domyślnie     |
|---------------------|---------------|
| Adres IP            | `192.168.0.1` |

## Powiązana dokumentacja

- [Integracja Packet Parser](https://taphome.com/pl/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)

