---
title: "Denon HEOS"
description: "Głośniki, soundbary i wzmacniacze Denon HEOS w TapHome przez HEOS CLI na TCP 1255: głośność, wyciszenie, odtwarzanie, presety, stream URL. Bez chmury."
url: "https://taphome.com/pl/compatibility/denon-heos/"
language: pl
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["tcp","audio","packet-parser","multi-room","mdns","ssdp","heos-cli"]
  questions: ["Jak zintegrować głośniki Denon HEOS z TapHome?","Czym steruje szablon Denon HEOS w TapHome?","Jak połączyć Denon HEOS przez TCP z TapHome?","Jak uzyskać HEOS PlayerId dla TapHome?","Dlaczego akcja Play URL nie działa na głośniku HEOS?","Czy szablon HEOS jest kompatybilny z amplitunerami Denon AVR?","Które modele Denon HEOS współpracują z TapHome?","Jak strumieniować własny URL do głośnika HEOS z TapHome?"]
---

# Denon HEOS

Komunikacja: Packet Parser → TCP

- [Strona produktu Denon HEOS](https://www.denon.com/en-us/category/wireless-speakers-multi-room-systems.html)

> Adres w sieci
> 
> TapHome łączy się z urządzeniem pod adresem podanym przy imporcie. Nadaj urządzeniu stały adres — rezerwację IP w routerze albo jego nazwę mDNS, jeśli ją obsługuje — inaczej integracja przestanie działać, gdy router zmieni adres.
> 
> [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/)

## Poradnik integracji

Denon HEOS to bezprzewodowa platforma audio multiroom oparta na HEOS Command Line Interface (CLI) — protokole tekstowym, który udostępnia każdy głośnik, soundbar, wzmacniacz i komponent obsługujący HEOS w sieci lokalnej przez port TCP 1255. TapHome wykorzystuje ten protokół do sterowania odtwarzaniem, głośnością, wyciszeniem i trybem odtwarzania głośników HEOS bez żadnych zależności od chmury.

Szablon obejmuje całą bezprzewodową linię HEOS (HEOS 1, 3, 5, 7), soundbary HEOS Bar i HomeCinema, komponenty HEOS Amp / Link / Drive, HEOS Sub oraz nowsze głośniki Denon Home 150 / 250 / 350 i Sound Bar 550. Wystarczy jedno urządzenie HEOS w LAN — CLI udostępnia wszystkich pozostałych odtwarzaczy HEOS w sieci przez punkt końcowy `player/get_players`.

> [!WARNING]
> Ten szablon jest przeznaczony **wyłącznie dla głośników HEOS, soundbarów i wzmacniaczy obsługujących HEOS**. Amplitunery Denon i Marantz AVR (serie AVR-X, SR itd.) używają osobnego protokołu Denon/Marantz Telnet control na porcie 23 i **nie są kompatybilne** z tym szablonem, nawet w modelach wyposażonych również w HEOS Built-in.

## Połączenie sieciowe

HEOS komunikuje się przez TCP na porcie 1255 za pomocą jawnych poleceń ASCII zakończonych `\r\n` i zwraca odpowiedzi w formacie JSON. Uwierzytelnianie nie jest wymagane — dowolne urządzenie w tej samej sieci LAN może połączyć się z portem CLI.

Zanim TapHome będzie mogło sterować urządzeniem, głośnik HEOS musi zostać skonfigurowany w aplikacji mobilnej HEOS:

1. Zainstaluj aplikację **HEOS App** (Android / iOS) na telefonie lub tablecie w tej samej sieci Wi-Fi.
2. Połącz urządzenie HEOS z Wi-Fi lub Ethernetem za pomocą kreatora konfiguracji w aplikacji.
3. Upewnij się, że firmware jest aktualny (szablon opiera się na HEOS CLI v1.17, co odpowiada firmware 2.41.140 lub nowszemu).
4. Zanotuj adres IP głośnika — znajdziesz go w aplikacji HEOS w **Settings → My Devices → About** albo na liście klientów DHCP w routerze.

> [!WARNING]
> HEOS CLI nie ma żadnego uwierzytelniania. Utrzymuj głośnik w zaufanym segmencie LAN — każde urządzenie z dostępem sieciowym do portu 1255 może sterować odtwarzaniem.

## Konfiguracja

### Parametry połączenia w TapHome

Podczas importu szablonu w aplikacji TapHome podaj adres IP głośnika HEOS w parametrze **IP Address**. Port TCP 1255 i framing protokołu są już ustawione w szablonie. TapHome otwiera jedno trwałe połączenie TCP i przepuszcza przez nie polecenia HEOS CLI.

### Inicjalizacja PlayerId

Każde polecenie `heos://player/*` wymaga **player id (pid)** — dużej liczby całkowitej ze znakiem, którą HEOS dynamicznie przypisuje każdemu głośnikowi w sieci. Szablon przechowuje go w zmiennej użytkownika `PlayerId`. Ponieważ HEOS generuje pid dynamicznie per sieć, szablon dostarczany jest z wartością zastępczą (`-1857880384`), którą trzeba podmienić przy pierwszej konfiguracji.

Moduł udostępnia dwie akcje serwisowe do wykrycia i przypisania pid. Uruchom je jednorazowo po imporcie szablonu:

1. **Get Players** — wysyła `heos://player/get_players` i zapisuje odpowiedź JSON w zmiennej modułu `PlayersResponse`. Atrybut serwisowy modułu **Players** pokazuje następnie listę odtwarzaczy HEOS widocznych w sieci wraz z nazwą, pid, modelem i adresem IP.
2. **Set Player Id** — przyjmuje parametr `Index` (pozycja 0-based w tablicy Players) i zapisuje odpowiedni pid do zmiennej użytkownika `PlayerId`. Wybierz indeks głośnika, który TapHome ma kontrolować — jeden moduł TapHome powiązany jest z jednym odtwarzaczem HEOS na raz.

Po tych dwóch krokach wszystkie urządzenia podrzędne (Volume, Mute, Play, Pause itd.) działają na wybranym głośniku. Aby sterować drugim odtwarzaczem HEOS, zaimportuj drugą instancję szablonu na ten sam (lub inny) adres IP HEOS i powtórz krok Set Player Id z innym indeksem.

> [!TIP]
> Jeśli atrybut Players jest pusty przy pierwszym uruchomieniu, moduł HEOS CLI może być w trybie uśpienia. Uruchom Get Players ponownie po kilku sekundach — HEOS startuje rdzeń CLI przy pierwszym połączeniu i może chwilę potrwać, zanim wyliczy wszystkich odtwarzaczy.

> [!NOTE]
> W repozytorium szablonów TapHome istnieje osobny szablon `Denon discovery.xml`, który wykonuje wyłącznie wyszukiwanie player-id jako samodzielny moduł. Nie jest potrzebny, gdy korzystasz z tego głównego szablonu HEOS — Get Players oraz Set Player Id są już w nim wbudowane. Z szablonu discovery skorzystaj tylko jeśli chcesz lekki, dedykowany moduł udostępniający wyłącznie `pid`, a wartość planujesz ręcznie wpisać do innego szablonu HEOS.

### Zmienne urządzenia

Trzy urządzenia podrzędne mają konfigurowalne zmienne po imporcie szablonu:

| Urządzenie | Zmienna | Domyślna | Uwagi |
|------------|---------|----------|-------|
| Play URL | `URL` | MP3 dzwonka z Pixabay | Dowolny bezpośredni URL HTTP(S) do strumienia lub pliku audio |
| Volume Up / Volume Down | `Step` | 5 | Zmiana głośności na naciśnięcie; specyfikacja HEOS ogranicza zakres do 1–10 |

W aplikacji TapHome otwórz szczegóły każdego urządzenia i ustaw te zmienne na potrzebne wartości. Znaki specjalne URL-encoded w URL-u strumienia (`&`, `=`, `%`) obsługuje skrypt szablonu.

## Funkcje urządzenia

Szablon udostępnia 12 urządzeń podrzędnych obejmujących odtwarzanie, głośność, wyciszenie i strumieniowanie URL dla jednego odtwarzacza HEOS.

### Sterowanie głośnością

Urządzenie **Volume** to ściemniacz, który odczytuje `heos://player/get_volume` (poziom 0–100) i skaluje go do zakresu ściemniacza 0.0–1.0 (`Le := level / 100`). Zapis wysyła `heos://player/set_volume` z `ROUND(Le * 100)`. Głośność jest odpytywana co 2,5 sekundy, więc zewnętrzne zmiany głośności z aplikacji HEOS lub innego kontrolera odzwierciedlają się w TapHome w kolejnym cyklu.

**Volume Up** i **Volume Down** to urządzenia przyciskowe, które wysyłają `heos://player/volume_up` oraz `heos://player/volume_down` z konfigurowalnym krokiem `Step`. Przydatne do powiązania z fizycznymi przełącznikami ściennymi lub inteligentnymi regułami.

### Wyciszenie

**Mute** to przełącznik, który odczytuje `heos://player/get_mute` i zapisuje `heos://player/set_mute` z `state=on|off`. Po wyciszeniu głośnik jest wyciszony bez zmiany podstawowego poziomu głośności.

### Transport

Pięć urządzeń przyciskowych obejmuje podstawowy transport:

- **Play** — zapisuje `heos://player/set_play_state?state=play`
- **Pause** — zapisuje `heos://player/set_play_state?state=pause`
- **Stop** — zapisuje `heos://player/set_play_state?state=stop`
- **Next Track** — zapisuje `heos://player/play_next`
- **Previous Track** — zapisuje `heos://player/play_previous`

Są to przyciski tylko do zapisu — szablon nie odpytuje bieżącego stanu odtwarzania, więc przyciski transportu nie odzwierciedlają tego, czy głośnik faktycznie odtwarza.

### Tryb odtwarzania

**Play Mode** to przełącznik wielowartościowy, który łączy flagi HEOS `repeat` i `shuffle` w jeden 6-stanowy enum. Odczyt i zapis przez `heos://player/get_play_mode` i `heos://player/set_play_mode`:

| Wartość | Tryb |
|---------|------|
| 0 | Bez powtarzania, bez losowania |
| 1 | Powtarzaj wszystkie |
| 2 | Powtarzaj jeden utwór |
| 3 | Losowo, bez powtarzania |
| 4 | Losowo, powtarzaj wszystkie |
| 5 | Losowo, powtarzaj jeden |

Szablon XML rezerwuje w konfiguracji wielowartościowej sloty 6–9, ale są one nieużywane — tylko wartości 0–5 są osiągalnymi stanami.

### Presety QuickSelect

**Quick Select** to wielowartościowy przełącznik tylko do zapisu (1–9), który uruchamia preset HEOS QuickSelect przez `heos://player/play_quickselect?id={1-9}`. Quick selecty są zapisane bezpośrednio na odtwarzaczu (zwykle przez sparowany Denon AVR lub HEOS Bar) i mogą przechowywać prekonfigurowane wejście, źródło lub stację.

> [!NOTE]
> Quick Select jest w specyfikacji HEOS §4.2.24 zdefiniowany jako polecenie **AVR-only**. Działa na HEOS Amp, HEOS Link, HEOS Bar i produktach AVR/receiver z obsługą HEOS, ale na samodzielnych bezprzewodowych głośnikach HEOS, takich jak HEOS 1, 3, 5 i 7, zwraca błąd.

### Play URL (własny strumień)

**Play URL** to przycisk, który strumieniuje dowolny URL audio HTTP(S) do wybranego odtwarzacza HEOS przez `heos://browse/play_stream?pid={PlayerId}&url={URL}`. Zmienna `URL` urządzenia przechowuje cel strumienia — domyślnie jest to przykładowy MP3 dzwonka z Pixabay, typowo nadpisywany strumieniem radia internetowego, dźwiękiem powiadomienia lub dowolnym bezpośrednim URL audio.

Dobre zastosowania: powiadomienia dzwonka do drzwi, komunikaty głosowe z lokalnego serwera HTTP, odtwarzanie stałego URL radia internetowego bez użycia HEOS Favorites.

### Dodatkowe możliwości

Protokół HEOS CLI udostępnia wiele więcej funkcji niż obecnie implementuje szablon. Można je dodać w przyszłej aktualizacji szablonu:

- **Metadane Now Playing** (`player/get_now_playing_media`) — bieżący tytuł, wykonawca, album i URL okładki jako atrybuty tekstowe.
- **Informacja zwrotna o stanie odtwarzania** (`player/get_play_state`) — odczyt play / pause / stop, aby przyciski transportu odzwierciedlały rzeczywisty stan.
- **Toggle Mute** (`player/toggle_mute`) — jedno polecenie do przełączania wyciszenia bez wcześniejszego odczytu stanu.
- **Zarządzanie kolejką** (`player/get_queue`, `play_queue`, `clear_queue`) — przeglądanie i modyfikacja bieżącej kolejki odtwarzania.
- **Ulubione i presety** (`browse/play_preset`) — uruchamianie zapisanych HEOS Favorites po numerze presetu, prościej niż surowy Play URL dla zapisanych stacji.
- **Wybór wejścia fizycznego** (`browse/play_input`) — przełączanie na AUX / Line-In w modelach HEOS Amp, Link i AVR.
- **Grupowanie multiroom** (`group/*`) — tworzenie, rozwiązywanie i zbiorcze sterowanie głośnością grup HEOS dla synchronicznego odtwarzania w całym domu.
- **Konserwacja firmware** (`system/check_update`, `system/reboot`) — uruchamianie sprawdzania aktualizacji firmware i zdalny restart.
- **Change events** (`system/register_for_change_events`) — opcjonalne powiadomienia push o zmianach głośności, stanu i now-playing zamiast odpytywania.
- **Logowanie do konta HEOS** (`system/sign_in`) — wymagane do dostępu do płatnych usług streamingowych (Tidal, Amazon Music, Deezer, własne stacje TuneIn) z TapHome.

## Rozwiązywanie problemów

### Atrybut Players po Get Players pozostaje pusty

HEOS uruchamia moduł CLI w trybie uśpienia i startuje rdzeń przy pierwszym połączeniu przez gniazdo, co może potrwać kilka sekund. Odczekaj 5–10 sekund i uruchom **Get Players** ponownie. Jeśli nadal jest pusty, sprawdź:

1. TapHome CCU może osiągnąć adres IP głośnika na porcie TCP 1255 (ta sama LAN / podsieć, brak firewalla pomiędzy).
2. Urządzenie HEOS jest w pełni online w aplikacji mobilnej HEOS — CLI jest niedostępne, dopóki wstępna konfiguracja Wi-Fi nie zostanie zakończona.
3. Adres IP w module nadal odpowiada głośnikowi — odnowienia DHCP mogą go zmienić. Użyj rezerwacji DHCP lub statycznego IP.

### Wszystkie polecenia urządzeń zwracają "ID Not Valid"

Zmienna użytkownika `PlayerId` albo wciąż utrzymuje domyślną wartość szablonu (`-1857880384`), albo wskazuje na pid, które już nie istnieje (np. głośnik został zresetowany fabrycznie). Uruchom ponownie **Get Players**, a następnie **Set Player Id** z poprawnym indeksem.

### Akcja Play URL nic nie robi lub zwraca błąd

Skrypt Play URL w obecnym szablonie ma znaną osobliwość: odwołuje się do `playerId` (małe litery) zamiast do zmiennej użytkownika `PlayerId`. Jeśli akcja nie ma efektu, otwórz w aplikacji TapHome skrypt urządzenia Play URL i popraw nazwę zmiennej na `PlayerId`. Po tej poprawce akcja poprawnie wysyła `heos://browse/play_stream`. Upewnij się też, że URL strumienia jest osiągalny z głośnika HEOS i używa obsługiwanego formatu audio (MP3, AAC, WAV — strumienie HLS nie są niezawodnie akceptowane).

### Quick Select zwraca błąd

Quick Select działa tylko na produktach AVR, wzmacniaczach i soundbarach obsługujących HEOS. Na bezprzewodowych głośnikach HEOS (HEOS 1, 3, 5, 7 oraz głośniki Denon Home bez funkcji soundbara) używaj zamiast tego Play URL lub ulubionych strumieni.

### Zmiany dokonane w aplikacji HEOS nie są widoczne w TapHome

Szablon odpytuje stan co 2,5 sekundy dla Volume, Mute i Play Mode. Stan transportu (Play / Pause / Stop) **nie** jest odpytywany — to wyłącznie przyciski. Jeśli zewnętrzny kontroler zmienił tryb odtwarzania lub sparował nowe konto streamingowe, odłączenie i ponowne podłączenie modułu TapHome do głośnika wymusi nową sesję CLI.

### Wielu odtwarzaczy HEOS — jak sterować więcej niż jednym

Jeden moduł TapHome steruje dokładnie jednym odtwarzaczem HEOS (jednym pid). Aby sterować drugim głośnikiem, zaimportuj drugą instancję szablonu Denon HEOS. Adres IP może wskazywać na to samo urządzenie HEOS — CLI jednego głośnika sięga każdego innego odtwarzacza HEOS w sieci — a akcja **Set Player Id** z innym indeksem powiąże drugi moduł z innym głośnikiem.

## Dostępne urządzenia 12

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

Głośnik Denon HEOS Moduł

Atrybuty serwisowe

|             |                                                                                                                                                                  |
|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Odtwarzacze | Tablica JSON odtwarzaczy HEOS dostępnych w sieci (nazwa, pid, model, IP, wersja). Wypełniana przez akcję Get Players; służy do wyboru indeksu dla Set Player Id. |

Akcje serwisowe

|                     |                                                                                                                                                                                                                        |
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Pobierz odtwarzacze | Wykrywa wszystkie odtwarzacze HEOS w sieci wysyłając heos://player/get\_players. Odpowiedź jest buforowana w atrybucie Odtwarzacze i musi być uruchomiona przed Set Player Id.                                         |
| Ustaw Player Id     | Wiąże ten moduł TapHome z jednym odtwarzaczem HEOS. Pobiera indeks 0-based z listy Odtwarzacze i zapisuje odpowiedni pid do zmiennej użytkownika PlayerId. Wymagane po Get Players, aby urządzenia podrzędne działały. |

Zmienne niestandardowe

Zapis (moduł)

```taphome
# 1. Run Get Players action
					# 2. Save and go back
					# 3. Review the Players attribute in the top of page
					# 4. Run Set Player Id with index of your choice
```

Nasłuchiwanie

```taphome
VAR response := TOSTRING(RECEIVEDBYTES);
					VAR command := PARSEJSON(response, "heos.command", 1);
					VAR result := PARSEJSON(response, "heos.result", 1);
					VAR message := PARSEJSON(response, "heos.message", 1);

					IF (result = "fail" AND INDEXOF(message, "ID Not Valid") >= 0)
					ADDERROR("PlayerId is not set properly.");
					END

					IF (command = "player/get_players")
					IF (result = "fail")
					ADDERROR("Error: " + message);
					ELSE
					PlayersResponse := response;
					END
					END
```

Atrybuty serwisowe

Players

```taphome
PARSEJSON(PlayersResponse, "payload");
```

Akcje serwisowe

Get Players

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

Set Player Id

Parametry: Index (0–20 Index)

```taphome
PlayerId := PARSEJSON(PlayersResponse,"payload[" + Index + "].pid");
```

Wycisz głośnik Przełącznik Odczyt i zapis

Wycisza lub wyłącza wyciszenie wyjścia audio na wybranym odtwarzaczu HEOS bez zmiany podstawowego poziomu głośności.

boolean switch

Wartości / Stany: Muted · Unmuted

Odczyt stanu przełącznika

```taphome
SENDDATA("heos://player/get_mute?pid=" + PlayerId);
```

Zapis stanu przełącznika

```taphome
VAR mute := SWITCH(St, 0, "off", 1, "on", "off");
							SENDDATA("heos://player/set_mute?pid=" + PlayerId + "&state=" + mute);
```

Nasłuchiwanie

```taphome
VAR responseJson := TOSTRING(RECEIVEDBYTES);

							IF(PARSEJSON(responseJson, "heos.command", 1) = "player/get_mute")
							VAR mute := PARSETEXT(responseJson, "state=");
							St := SWITCH(mute, "off", 0, "on", 1, 0);
							END
```

Następny utwór Przycisk Odczyt i zapis

button push

Zapis stanu przycisku

```taphome
SENDDATA("heos://player/play_next?pid=" + PlayerId);
```

Pauza Przycisk Odczyt i zapis

button push

Zapis stanu przycisku

```taphome
SENDDATA("heos://player/set_play_state?pid=" + PlayerId + "&state=pause")
```

Odtwarzaj Przycisk Odczyt i zapis

button push

Zapis stanu przycisku

```taphome
SENDDATA("heos://player/set_play_state?pid=" + PlayerId + "&state=play");
```

Tryb odtwarzania Przełącznik wielowartościowy Odczyt i zapis

Połączony stan powtarzania i losowania jako 6-wartościowy enum — 0 bez powtarzania, 1 powtarzaj wszystkie, 2 powtarzaj jeden, 3 losowanie, 4 losowanie + powtarzaj wszystkie, 5 losowanie + powtarzaj jeden.

enum multi-value

Wartości / Stany: No repeat · Repeat all · Repeat 1 · Shuffle, no repeat · Shuffle, repeat all · Shuffle, repeat one

Odczyt stanu przełącznika

```taphome
SENDDATA("heos://player/get_play_mode?pid=" + PlayerId);
```

Zapis stanu przełącznika

```taphome
VAR repeat := SWITCH( IF(Mu > 2, Mu - 3, Mu), 0, "off", 1, "on_all", 2, "on_one", "off");
							VAR shuffle := IF(Mu > 2, "on", "off");
							SENDDATA("heos://player/set_play_mode?pid=" + PlayerId + "&repeat=" + repeat + "&shuffle=" + shuffle);
```

Nasłuchiwanie

```taphome
VAR responseJson := TOSTRING(RECEIVEDBYTES);
							VAR command := PARSEJSON(responseJson, "heos.command", 1);
							VAR result := PARSEJSON(responseJson, "heos.result", 1);

							IF (command = "player/get_play_mode")
							IF (result = "fail")
							VAR errorMessage := PARSEJSON(responseJson, "heos.message", 1);
							ADDERROR("Error: " + errorMessage);
							ELSE
							VAR repeat := PARSETEXT(responseJson, "repeat=", "&");
							VAR shuffle := PARSETEXT(responseJson, "shuffle=");
							Mu := SWITCH(repeat, "off", 0, "on_all", 1, "on_one", 2, 0) + SWITCH(shuffle, "off", 0, "on", 3, 0);
							END
							END
```

Odtwórz URL Przycisk Odczyt i zapis

Strumieniuje dowolny URL audio HTTP(S) do odtwarzacza HEOS (dźwięki dzwonka, radio internetowe, komunikaty głosowe). URL konfigurowany per urządzenie przez zmienną użytkownika URL.

button push

Zmienna: `URL`

Zapis stanu przycisku

```taphome
SENDDATA("heos://browse/play_stream?pid=" + playerId + "&url=" + URL);
```

Nasłuchiwanie

```taphome
VAR response := TOSTRING(RECEIVEDBYTES);
							VAR command := PARSEJSON(response, "heos.command", 1);
							VAR result := PARSEJSON(response, "heos.result", 1);
							VAR message := PARSEJSON(response, "heos.message", 1);

							IF (command = "browse/play_stream")
							IF (result = "fail")
							ADDERROR("Error: " + message);
							ELSE
							VAR success := response;
							END
							END
```

Poprzedni utwór Przycisk Odczyt i zapis

button push

Zapis stanu przycisku

```taphome
SENDDATA("heos://player/play_previous?pid=" + PlayerId);
```

Quick Select Przełącznik wielowartościowy Odczyt i zapis

Uruchamia jeden z presetów HEOS QuickSelect 1–9 zapisanych na odtwarzaczu. Tylko AVR / HEOS Bar / HEOS Amp — niedostępne na samodzielnych bezprzewodowych głośnikach HEOS.

enum multi-value

Zapis stanu przełącznika

```taphome
IF(Mu != 0)
							SENDDATA("heos://player/play_quickselect?pid=" + PlayerId + "&id=" + Mu);
							END

							# To make this work like a switch, create a following script.
							#
							# IF(Mu != 0)
							#   SLEEP(100);
							#   Mu := 0;
							# END
```

Zatrzymaj Przycisk Odczyt i zapis

button push

Zapis stanu przycisku

```taphome
SENDDATA("heos://player/set_play_state?pid=" + PlayerId + "&state=stop")
```

Głośność Ściemniacz Odczyt i zapis

Sterowanie ściemniacza głośności odtwarzacza HEOS. Poziom HEOS 0–100 mapowany jest na zakres ściemniacza 0.0–1.0 i odpytywany co 2,5 sekundy.

numeric Jednostka: % dimmer

Odczyt poziomu

```taphome
SENDDATA("heos://player/get_volume?pid=" + PlayerId)
```

Zapis poziomu

```taphome
SENDDATA("heos://player/set_volume?pid=" + PlayerId + "&level=" + ROUND(Le*100))
```

Nasłuchiwanie

```taphome
VAR responseJson := TOSTRING(RECEIVEDBYTES);
							VAR command := PARSEJSON(responseJson, "heos.command", 1);
							VAR result := PARSEJSON(responseJson, "heos.result", 1);

							IF (command = "player/get_volume")
							IF (result = "fail")
							VAR errorMessage := PARSEJSON(responseJson, "heos.message", 1);
							ADDERROR("Error: " + errorMessage);
							ELSE
							Le := PARSETEXT(responseJson, "level=") / 100.0;
							END
							END
```

Zmniejsz głośność Przycisk Odczyt i zapis

Zmniejsza głośność o skonfigurowany krok Step (domyślnie 5, HEOS pozwala 1–10) poleceniem heos://player/volume\_down.

button push

Zmienna: `Step`

Zapis stanu przycisku

```taphome
SENDDATA("heos://player/volume_down?pid=" + PlayerId + "&step=" + Step);
```

Zwiększ głośność Przycisk Odczyt i zapis

Zwiększa głośność o skonfigurowany krok Step (domyślnie 5, HEOS pozwala 1–10) poleceniem heos://player/volume\_up.

button push

Zmienna: `Step`

Zapis stanu przycisku

```taphome
SENDDATA("heos://player/volume_up?pid=" + PlayerId + "&step=" + Step);
```

**Połączenie:** Packet Parser → TCP • Hostname: `HEOS-{model}.local`

Możliwe ulepszenia (14)

- Now Playing Metadata — Current track artist, album, title, artwork URL, media\_id — would require string attributes and a listener to cache the response
- Play State (read) — Reads play|pause|stop back from the player. Template only writes play state (Play/Pause/Stop buttons) without feedback
- Toggle Mute — Single-command mute toggle without reading current state; could be a second push-button
- Check Firmware Update — Trigger firmware update check — useful as maintenance action
- Heart Beat / Connection Health — Periodic heart\_beat command for connection liveness; could map to a module-level online/offline sensor
- Reboot Speaker — Remote reboot of the HEOS device — natural service action
- Play Queue — Full queue management (get, play item, remove, save as playlist, clear, move). Template has no queue exposure
- Music Sources / Browse — Browse and search streaming services (TuneIn, local library, favorites, playlists). Not exposed in template
- Favorites / Preset Stations — Play a favorite station by preset number 1–N; simpler than Play URL for saved stations
- Input Source (AUX / Line-In) — Switch to a physical input (inputs/aux\_in\_1, inputs/line\_in\_1, etc.) — only applicable to AVR/Amp/Link models
- Group / Multi-Room Control — Create/destroy groups, group volume, group mute — enables multi-room synchronized playback across HEOS speakers. Not exposed in template
- Player Info (name, model, version, IP) — Static metadata about the player; useful for diagnostics
- Change Events (unsolicited push) — Register for change events via system/register\_for\_change\_events and receive push updates (volume, state, now playing, queue). Template relies on polling only
- HEOS Account Sign In / Out — Required for access to paid streaming services and cloud favorites; no hooks in template

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

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

## Źródła

- HEOS CLI Protocol Specification v1.17
  
  [rn.dmglobal.com](https://rn.dmglobal.com/usmodel/HEOS_CLI_ProtocolSpecification-Version-1.17.pdf) 2026-04-16
  
  [PDF](https://taphome.com/compatibility/devices/denon-heos/manufacturer/heos-cli-protocol-v1.17.pdf)
- Home Assistant — Denon HEOS integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/heos/) 2026-04-16

Dokumenty producentów są © ich właścicieli. Udostępniamy je w formie opublikowanej przez producenta, wyłącznie w celach informacyjnych.

## 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/)

