---
title: "Shelly Plus RGBW PM"
description: "Shelly Plus RGBW PM přes lokální HTTP RPC: RGB, RGBW světlo nebo 4 stmívače LED pásků 12/24 V, s měřením výkonu a energie na kanál. Bez cloudu."
url: "https://taphome.com/cs/compatibility/shelly-plus-rgbw-pm/"
language: cs
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","lighting","wifi","rgbw","rgb","dimmer","power-metering","gen2plus","profiles"]
  questions: ["Jak integrovat Shelly Plus RGBW PM s TapHome?","Jaké profily podporuje Shelly Plus RGBW PM v TapHome?","Jak přepínat mezi profily light, rgb a rgbw na Shelly Plus RGBW PM?","Jak ovládat RGB barvy na Shelly Plus RGBW PM přes TapHome?","Jaký je rozdíl mezi profily rgb a rgbw na Shelly Plus RGBW PM?","Jak používat 4kanálový režim stmívače na Shelly Plus RGBW PM?","Proč Shelly Plus RGBW PM ukazuje chybu profilu v TapHome?","Jaká data o měření spotřeby jsou dostupná pro Shelly Plus RGBW PM v TapHome?"]
---

# Shelly Plus RGBW PM

Komunikace: Packet Parser → HTTP

- [Produktová stránka Shelly Plus RGBW PM](https://www.shelly.com/en/products/shop/shelly-plus-rgbw-pm)
- [API dokumentace Shelly Plus RGBW PM](https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen2/ShellyPlusRGBWPM/)

> Adresa v síti
> 
> TapHome komunikuje se zařízením na adrese zadané při importu. Dejte zařízení stálou adresu — rezervaci IP v routeru, nebo jeho mDNS jméno, pokud ho podporuje —, jinak integrace přestane fungovat, když router adresu změní.
> 
> [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/)

## Návod na integraci

Shelly Plus RGBW PM je Gen2+ Wi-Fi RGBW LED ovladač s vestavěným měřením spotřeby na každém výstupním kanálu. Napájí LED pásky nebo jednotlivé LED kanály při 12/24 VDC s maximálně 4 A na kanál (celkem 10 A). Zařízení podporuje tři přepínatelné profily — **light** (4 nezávislé stmívače), **rgb** (3kanálová barva) a **rgbw** (3kanálová barva + bílá) — přičemž každý vystavuje různá zařízení v TapHome. TapHome komunikuje se zařízením lokálně přes Wi-Fi pomocí Gen2+ RPC API — cloudové připojení není potřeba.

TapHome šablona je **HTTP šablona**, která dotazuje RPC endpointy zařízení. Jedna šablona obsluhuje všechny tři profily; TapHome detekuje aktivní profil za běhu a aktivuje odpovídající zařízení.

## Konfigurace

### Importní parametry

Šablona vyžaduje pouze IP adresu zařízení (výchozí placeholder `192.168.0.1`). TapHome se připojuje na port 80 a dotazuje více RPC endpointů pro stav systému a data zařízení.

Na úrovni modulu TapHome dotazuje `/rpc/Sys.GetStatus`, `/rpc/Sys.GetConfig`, `/rpc/WiFi.GetStatus` a `/rpc/PlusRGBWPM.GetConfig` v 3sekundovém intervalu. Odpověď `Sys.GetConfig` poskytuje aktuální profil (`device.profile`), který určuje, které endpointy na úrovni zařízení jsou aktivní.

### Výběr profilu

Shelly Plus RGBW PM pracuje vždy v jednom ze tří profilů. Profil můžete přepnout přímo z TapHome pomocí servisní akce **Set Profile** na modulu, nebo z webového rozhraní Shelly.

| Profil | Zařízení v TapHome | Použití |
|--------|-------------------|---------|
| **light** | 4 nezávislé stmívače (O1–O4) | Jednobarevné LED pásky, 4 samostatné světelné zóny |
| **rgb** | 1 RGB světlo | RGB LED pásky (3kanálové míchání barev) |
| **rgbw** | 1 RGBW světlo | RGBW LED pásky (RGB + dedikovaný bílý kanál) |

Po přepnutí profilu se zařízení restartuje a TapHome automaticky detekuje nový profil. Zařízení patřící neaktivnímu profilu budou hlásit chybu ("Profile is not set to ...") — to je očekávané a lze to ignorovat.

## Funkce zařízení

### RGB světlo (profil = rgb)

Když je zařízení nastaveno na profil **rgb**, TapHome vystavuje jedno HSB světlo. Šablona čte `/rpc/RGB.GetStatus?id=0` pro stav zapnutí/vypnutí, jas (0–100 %) a RGB barevné hodnoty a zapisuje přes `/rpc/RGB.Set?id=0` pro ovládání světla.

Ovládání barev používá HSB (Hue-Saturation-Brightness):
- **Hue** (0–360 stupňů) a **Saturation** (0,0–1,0) se konvertují mezi HSB a RGB interně
- **Brightness** (0,0–1,0) se mapuje na rozsah Shelly 0–100 %
- Nastavení jasu na 0 vypne světlo; jakýkoliv nenulový jas světlo zapne

RGB světlo vystavuje pět servisních atributů:

| Atribut | Jednotka | Popis |
|---------|----------|-------|
| Teplota | C | Interní teplota zařízení |
| Spotřeba energie | Wh | Kumulativní energie pro RGB výstup |
| Výkon | W | Okamžitý příkon |
| Napětí | V | Efektivní napětí |
| Proud | A | Odběr proudu |

### RGBW světlo (profil = rgbw)

Když je nastaven profil **rgbw**, TapHome vystavuje jedno HSB světlo s dalším bílým kanálem. Šablona čte `/rpc/RGBW.GetStatus?id=0` a zapisuje přes `/rpc/RGBW.Set?id=0`.

Profil RGBW přidává **bílý kanál** (0–255) ovládaný přes CCT (korelovaná teplota chromatičnosti) na fixních 4500 K:
- Když je bílý kanál aktivní (`white != 0`), jas se odvozuje z úrovně bílé (lineárně 0–255 mapované na 0,0–1,0)
- Když je bílý kanál neaktivní, jas pochází ze standardního pole brightness (0–100 %)
- Přepnutí do režimu teploty chromatičnosti v TapHome aktivuje bílý kanál; přepnutí do RGB režimu jej deaktivuje

RGBW světlo vystavuje stejných pět servisních atributů jako RGB světlo (teplota, energie, výkon, napětí, proud), čtených z odpovědi RGBW.GetStatus.

### Stmívatelné LED výstupy (profil = light)

Když je nastaven profil **light**, TapHome vystavuje **4 nezávislé kanály stmívačů** (O1–O4), z nichž každý ovládá jeden LED výstup. Každý kanál čte z `/rpc/Light.GetStatus?id={0-3}` a zapisuje přes `/rpc/Light.Set?id={0-3}`.

Jas se mapuje z rozsahu TapHome 0,0–1,0 na rozsah Shelly 0–100 %. Nastavení úrovně na 0 vypne výstup; jakákoliv nenulová úroveň výstup zapne a nastaví jas.

Každý kanál stmívače vystavuje šest servisních atributů:

| Atribut | Jednotka | Popis |
|---------|----------|-------|
| Teplota | C | Interní teplota zařízení |
| Spotřeba energie | Wh | Kumulativní energie pro tento kanál |
| Výkon | W | Okamžitý příkon |
| Napětí | V | Efektivní napětí |
| Proud | A | Odběr proudu |
| Příznaky | — | Interní stavové příznaky |

Každý kanál stmívače také vystavuje servisní akci **Kalibrace**, která odesílá `/rpc/Light.Calibrate?id={N}` pro kalibraci výstupu pro připojenou LED zátěž.

### Diagnostika modulu a akce

Modul vystavuje pět servisních atributů pro diagnostiku zařízení:

| Atribut | Popis |
|---------|-------|
| WiFi | Název připojené bezdrátové sítě |
| IP adresa | IP adresa zařízení |
| Síla signálu (dB) | WiFi RSSI |
| MAC | Hardwarová adresa zařízení |
| Profil | Aktuálně aktivní profil (light, rgb nebo rgbw) |

Na úrovni modulu jsou dostupné tři servisní akce:

| Akce | Popis |
|------|-------|
| Aktualizace firmwaru | Spustí OTA aktualizaci na stabilní kanál firmwaru |
| Restart | Restartuje zařízení |
| Nastavit profil | Přepíná mezi profily light, rgb a rgbw (zařízení se restartuje) |

Skript modulu také kontroluje dostupné aktualizace firmwaru a požadavky na čekající restart, přičemž v TapHome zobrazuje varování, když je detekována některá z těchto podmínek.

### Další funkce

Shelly Plus RGBW PM také vystavuje stav fyzického vstupu, konfiguraci nočního režimu s limity jasu a plánem, délku přechodu pro změny barvy/jasu a minimální jas při zapnutí přes své RPC API. Tyto funkce mohou být přidány v budoucí aktualizaci šablony.

## Řešení problémů

### Zařízení neodpovídá

1. Ověřte, že Shelly je připojen k Wi-Fi a má platnou IP adresu
2. Zkuste použít mDNS hostname (`shellyplusrgbwpm-AABBCCDDEE.local`) místo IP adresy — IP se mohla změnit po obnovení DHCP
3. Otevřete `http://{device-ip}/rpc/Shelly.GetDeviceInfo` v prohlížeči — pokud odpovídá JSON, zařízení je dostupné
4. Zkontrolujte, že TapHome CCU a Shelly jsou ve stejné síti / VLAN
5. Ujistěte se, že HTTP Digest Authentication je vypnuto ve webovém rozhraní Shelly — TapHome nepodporuje autentizované požadavky

### Chyba profilu na zařízeních

Pokud zařízení ukazuje "Profile is not set to rgb/rgbw/light" — to je očekávané. Šablona obsahuje zařízení pro všechny tři profily, ale fungovat budou pouze zařízení odpovídající aktuálně aktivnímu profilu. Ostatní zařízení budou hlásit tuto chybu a lze je ignorovat.

Pro přepnutí aktivního profilu použijte servisní akci **Set Profile** na modulu nebo jej změňte ve webovém rozhraní Shelly. Zařízení se restartuje a TapHome detekuje nový profil v rámci jednoho cyklu dotazování.

### Barvy se zobrazují nesprávně v režimu RGB/RGBW

1. Ověřte, že zapojení LED pásku odpovídá pořadí výstupních svorek (R, G, B, W) — přehozené kabely produkují nesprávné barvy
2. Šablona konvertuje mezi barevnými prostory HSB a RGB interně. Pokud barvy působí vybledle, zkontrolujte hodnotu saturace — nízká saturace produkuje pastelové odstíny
3. V režimu RGBW jsou bílý kanál a RGB kanály ovládány nezávisle. Při přepínání z bílé na barvu nebo naopak TapHome odešle příslušný příkaz pro vynulování druhého režimu

### Výstupy stmívače nereagují v režimu light

1. Potvrďte, že profil je nastaven na **light** — zařízení stmívačů fungují pouze v režimu light
2. Zkontrolujte, že každý kanál má připojenou LED zátěž — nezatížené kanály nemusí hlásit správný stav
3. Zkuste spustit akci **Kalibrace** na kanálu — tím se optimalizuje křivka stmívání pro připojenou LED zátěž
4. Zařízení Gen2+ podporují až 6 souběžných HTTP připojení — vyhněte se souběžnému dotazování z více systémů

### Měření výkonu ukazuje nulu

1. Potvrďte, že LED zátěž je připojena a kanál je zapnut
2. Dotazujte příslušný endpoint manuálně (`/rpc/Light.GetStatus?id=0`, `/rpc/RGB.GetStatus?id=0` nebo `/rpc/RGBW.GetStatus?id=0`) a ověřte, že `apower` vrací nenulovou hodnotu
3. LED zátěže s velmi nízkým výkonem mohou hlásit 0 W kvůli rozlišení měření — to je normální pro malé indikační LED

## Jak nainstalovat v TapHome

### Předpoklady

- Zařízení Shelly nainstalované a zapnuté
- Lokální Wi-Fi síť (2,4 GHz)
- TapHome CCU ve stejné síti

### Krok 1 — Připojte Shelly k Wi-Fi

**Možnost A — Aplikace Shelly (doporučeno):**

1. Stáhněte si [aplikaci Shelly](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Klepněte na **+** → **Add Device** a postupujte podle průvodce Bluetooth párováním
3. Po výzvě zadejte své Wi-Fi přihlašovací údaje

**Možnost B — AP režim (bez aplikace):**

1. Při prvním zapnutí zařízení vytvoří hotspot: `ShellyXXX-AABBCCDDEE`
2. Připojte telefon/PC k tomuto hotspotu
3. Otevřete `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Zadejte SSID a heslo → **Save**

> [!NOTE]
> Shelly podporuje pouze **2,4 GHz** sítě. 5 GHz sítě se při skenování nezobrazí.

### Krok 2 — Zjistěte IP adresu

Po připojení k Wi-Fi zjistěte přiřazenou IP adresu jedním z následujících způsobů:

- **Aplikace Shelly:** Detail zařízení → **Device info** → IP adresa
- **Webové rozhraní Shelly:** Připojte se k AP zařízení před nastavením Wi-Fi — IP se zobrazí po uložení
- **DHCP tabulka routeru:** Hledejte hostname jako `shelly1pm-AABBCCDDEE`
- **mDNS:** Pingněte `shelly<model>-<mac>.local` (např. `shelly1pm-AABBCCDDEE.local`) ze stejné sítě

> [!TIP]
> Přiřaďte zařízení Shelly **statickou IP** (DHCP rezervaci) ve vašem routeru, aby se adresa nezměnila po restartu routeru.

### Krok 3 — Konfigurace v TapHome

1. V TapHome přidejte nový modul **Packet Parser (HTTP)**
2. **IP Address:** zadejte IP z kroku 2 (např. `192.168.1.50`)
3. **Port:** `80` (výchozí, není potřeba měnit)
4. Importujte šablonu — TapHome bude pravidelně číst `/status` pro zjištění stavu zařízení

> [!NOTE]
> HTTP autentifikace je na zařízeních Shelly standardně vypnutá. Pokud jste povolili ochranu přihlášením, TapHome momentálně nepodporuje HTTP Basic Auth — pro integraci s TapHome ponechte autentifikaci vypnutou.

## Dostupná zařízení 6

Tato zařízení se po importu zobrazí v TapHome.

Shelly Plus RGBW PM Modul

Servisní atributy

|              |
|--------------|
| WiFi         |
| IP adresa    |
| Síla signálu |
| MAC          |
| Profil       |

Servisní akce

|                      |
|----------------------|
| Aktualizace firmwaru |
| Restart              |
| Nastavit profil      |

Vlastní proměnné

Čtení (modul)

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF response.IsSuccess
    Sys.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Sys.GetConfig");
IF response.IsSuccess
    Sys.GetConfig := response.Content;
END

response := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF response.IsSuccess
    WiFi.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/PlusRGBWPM.GetConfig");
IF response.IsSuccess
    PlusRGBWPM.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Sys.GetStatus, "available_updates.stable", true))
    addwarning("New firmware update is available");
end

if parsejson(Sys.GetStatus, "restart_required", true)
    addwarning("Restart required");
end
```

Servisní atributy

Wifi

```taphome
PARSEJSON(WiFi.GetStatus, "ssid")
```

${ipAddress}

```taphome
PARSEJSON(WiFi.GetStatus, "sta_ip")
```

${xml\_signal\_strength} \[dB]

```taphome
PARSEJSON(WiFi.GetStatus, "rssi")
```

MAC

```taphome
PARSEJSON(Sys.GetStatus, "mac")
```

Profile

```taphome
PARSEJSON(Sys.GetConfig, "$.device.profile");
```

Servisní akce

${xml\_update\_fw}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END

```

${restart}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

Set Profile

Parametry: Profile

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Shelly.SetProfile?name=\"" + 
switch(prof,
0, "light",
1, "rgb",
2, "rgbw",
"")
+ "\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

RGB světlo HSB světlo Čtení i zápis

HSB barevné světlo (profil rgb) s ovládáním jasu, odstínu, saturace a měřením spotřeby na kanál

HSB

Servisní atributy

|                  |
|------------------|
| Teplota          |
| Spotřeba energie |
| Výkon            |
| Napětí           |
| Proud            |

Čtení (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "rgb"
	adderror("Profile is not set to rgb (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/RGB.GetStatus?id=" + ID);
IF response.IsSuccess
    RGB.GetStatus := response.Content;
	R := PARSEJSON(RGB.GetStatus, "$.rgb[0]", true);
	G := PARSEJSON(RGB.GetStatus, "$.rgb[1]", true);
	B := PARSEJSON(RGB.GetStatus, "$.rgb[2]", true);    
END

response := SENDHTTPREQUEST("/rpc/RGB.GetConfig?id=" + ID);
IF response.IsSuccess
    RGB.GetConfig := response.Content;
END

if ! ISNULL(parsejson(RGB.GetStatus, "errors", true))
    adderror("Error: " + parsejson(RGB.GetStatus, "errors"));
end
```

Čtení jasu

```taphome
bool output := PARSEJSON(RGB.GetStatus, "$.output", true);
var brightness := PARSEJSON(RGB.GetStatus, "$.brightness", true);

if output
    return(brightness / 100);
else
    return(0);
end
```

Zápis jasu

```taphome
SENDHTTPREQUEST("/rpc/RGB.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Hb*100.0));
```

Čtení odstínu

```taphome
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Hue);
```

Zápis odstínu

```taphome
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGB.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
```

Čtení saturace

```taphome
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Saturation * 100.0) / 100.0;
```

Zápis saturace

```taphome
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGB.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
```

Servisní atributy

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(RGB.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(RGB.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(RGB.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(RGB.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(RGB.GetStatus, "$.current", true)
```

RGBW světlo HSB světlo Čtení i zápis

HSB barevné+bílé světlo (profil rgbw) s RGB, bílým kanálem (CCT při 4500K) a měřením spotřeby na kanál

HSB

Servisní atributy

|                  |
|------------------|
| Teplota          |
| Spotřeba energie |
| Výkon            |
| Napětí           |
| Proud            |

Čtení (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "rgbw"
	adderror("Profile is not set to rgbw (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/RGBW.GetStatus?id=" + ID);
IF response.IsSuccess
    RGBW.GetStatus := response.Content;
	R := PARSEJSON(RGBW.GetStatus, "$.rgb[0]", true);
	G := PARSEJSON(RGBW.GetStatus, "$.rgb[1]", true);
	B := PARSEJSON(RGBW.GetStatus, "$.rgb[2]", true);    
END

response := SENDHTTPREQUEST("/rpc/RGBW.GetConfig?id=" + ID);
IF response.IsSuccess
    RGBW.GetConfig := response.Content;
END

if ! ISNULL(parsejson(RGBW.GetStatus, "errors", true))
    adderror("Error: " + parsejson(RGBW.GetStatus, "errors"));
end
```

Čtení jasu

```taphome
bool output := PARSEJSON(RGBW.GetStatus, "$.output", true);
var brightness := PARSEJSON(RGBW.GetStatus, "$.brightness", true);
var white := PARSEJSON(RGBW.GetStatus, "$.white", true);

if output
	if white != 0
		return(linear(white, 0, 0, 255, 1));
	else
    	return(brightness / 100);
    end
else
    return(0);
end
```

Zápis jasu

```taphome
if isnan(Ct)
	SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&white=0&brightness=" + round(Hb*100.0));
else
	SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=0&white=" + round(linear(Hb, 0, 0, 1, 255)));
end
```

Čtení odstínu

```taphome
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Hue);
```

Zápis odstínu

```taphome
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
```

Čtení saturace

```taphome
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Saturation * 100.0) / 100.0;
```

Zápis saturace

```taphome
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
```

Čtení barevné teploty

```taphome
var white := PARSEJSON(RGBW.GetStatus, "$.white", true);
if white != 0 or !isnan(Ct)
	return(4500);
else
	return(NaN);
end
```

Zápis barevné teploty

```taphome
IF !isnan(Ct)
	SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=0&white=" + round(linear(Hb, 0, 0, 1, 255)));
end
```

Servisní atributy

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(RGBW.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(RGBW.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(RGBW.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(RGBW.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(RGBW.GetStatus, "$.current", true)
```

Stmívatelný LED výstup 2 Stmívač Čtení i zápis

Nezávislý kanál stmívače 2 (profil light, id=1) s ovládáním jasu, kalibrací a měřením spotřeby na kanál

numeric

Servisní atributy

|                  |
|------------------|
| Teplota          |
| Spotřeba energie |
| Výkon            |
| Napětí           |
| Proud            |
| Příznaky         |

Servisní akce

|           |
|-----------|
| Kalibrace |

Čtení (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
```

Čtení úrovně

```taphome
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
```

Zápis úrovně

```taphome
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
```

Servisní atributy

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Light.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Light.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Light.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Light.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Light.GetStatus, "$.current", true)
```

Flags

```taphome
parsejson(Light.GetStatus, "$.flags", true)
```

Servisní akce

${detail\_deviceSettings\_TemperatureSensor\_categoryCalibration}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

Stmívatelný LED výstup 1 Stmívač Čtení i zápis

Nezávislý kanál stmívače 1 (profil light, id=0) s ovládáním jasu, kalibrací a měřením spotřeby na kanál

numeric

Servisní atributy

|                  |
|------------------|
| Teplota          |
| Spotřeba energie |
| Výkon            |
| Napětí           |
| Proud            |
| Příznaky         |

Servisní akce

|           |
|-----------|
| Kalibrace |

Čtení (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
```

Čtení úrovně

```taphome
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
```

Zápis úrovně

```taphome
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
```

Servisní atributy

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Light.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Light.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Light.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Light.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Light.GetStatus, "$.current", true)
```

Flags

```taphome
parsejson(Light.GetStatus, "$.flags", true)
```

Servisní akce

${detail\_deviceSettings\_TemperatureSensor\_categoryCalibration}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

Stmívatelný LED výstup 3 Stmívač Čtení i zápis

Nezávislý kanál stmívače 3 (profil light, id=2) s ovládáním jasu, kalibrací a měřením spotřeby na kanál

numeric

Servisní atributy

|                  |
|------------------|
| Teplota          |
| Spotřeba energie |
| Výkon            |
| Napětí           |
| Proud            |
| Příznaky         |

Servisní akce

|           |
|-----------|
| Kalibrace |

Čtení (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
```

Čtení úrovně

```taphome
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
```

Zápis úrovně

```taphome
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
```

Servisní atributy

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Light.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Light.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Light.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Light.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Light.GetStatus, "$.current", true)
```

Flags

```taphome
parsejson(Light.GetStatus, "$.flags", true)
```

Servisní akce

${detail\_deviceSettings\_TemperatureSensor\_categoryCalibration}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

Stmívatelný LED výstup 4 Stmívač Čtení i zápis

Nezávislý kanál stmívače 4 (profil light, id=3) s ovládáním jasu, kalibrací a měřením spotřeby na kanál

numeric

Servisní atributy

|                  |
|------------------|
| Teplota          |
| Spotřeba energie |
| Výkon            |
| Napětí           |
| Proud            |
| Příznaky         |

Servisní akce

|           |
|-----------|
| Kalibrace |

Čtení (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
```

Čtení úrovně

```taphome
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
```

Zápis úrovně

```taphome
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
```

Servisní atributy

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Light.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Light.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Light.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Light.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Light.GetStatus, "$.current", true)
```

Flags

```taphome
parsejson(Light.GetStatus, "$.flags", true)
```

Servisní akce

${detail\_deviceSettings\_TemperatureSensor\_categoryCalibration}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

**Připojení:** Packet Parser → HTTP • Hostname: `shellyplusrgbwpm-{MAC}.local`

Možná vylepšení (13)

- Input State — Physical switch/button input state, available via /rpc/Input.GetStatus?id=0
- WiFi SSID — Already exposed as module-level service attribute, not as standalone device
- WiFi Signal Strength — Already exposed as module-level service attribute, not as standalone device
- IP Address — Already exposed as module-level service attribute, not as standalone device
- MAC Address — Already exposed as module-level service attribute, not as standalone device
- Uptime — Seconds since last reboot, available in Sys.GetStatus response
- RAM Usage — Total and free RAM in bytes, available in Sys.GetStatus response
- Device Time — Current device time in HH:MM format, available in Sys.GetStatus response
- Firmware Update — Already implemented as module-level service action
- Reboot — Already implemented as module-level service action
- Night Mode — Night mode configuration with brightness limits and schedule, available in component GetConfig
- Transition Duration — Color/brightness transition time in ms, available as parameter in RGB.Set and RGBW.Set
- Minimum Brightness on Toggle — Minimum brightness percentage when toggling on, available in Light component config

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci | Výchozí       |
|-------------------|---------------|
| IP adresa         | `192.168.0.1` |

## Zdroje

- Shelly Gen2+/Gen3 RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-30
- Shelly Gen2+ Switch Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch/) 2026-03-30
- Shelly Gen2+ System (Sys) Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-30
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/WiFi/) 2026-03-30
- Shelly Gen2+ MQTT Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt/) 2026-03-30
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-30
- Shelly Plus RGBW PM Knowledge Base — specs, wiring, terminals
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-plus-rgbw-pm) 2026-03-30
- Shelly Plus RGBW PM API Device Page — profiles, components
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen2/ShellyPlusRGBWPM/) 2026-03-30
- Shelly Gen2+ Light Component API — light profile dimmers
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Light/) 2026-03-30
- Shelly Gen2+ RGB Component API — rgb profile color control
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/RGB/) 2026-03-30
- Shelly Gen2+ RGBW Component API — rgbw profile color+white control
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/RGBW/) 2026-03-30

## Související dokumentace

- [Integrace Packet Parser](https://taphome.com/cs/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/cs/docs/integration/packet-parser/)
- [Funkce Packet parser](https://taphome.com/cs/docs/script/packet-parser/)
- [Funkce pro parsování](https://taphome.com/cs/docs/script/parsing-functions/)

