---
title: "Shelly Plus 1PM"
description: "Shelly Plus 1PM Gen2+ relé s měřením spotřeby přes MQTT. Příkon (kW), energie (kWh), napětí, proud a teplota z TapHome přes MQTT broker."
url: "https://taphome.com/cs/compatibility/shelly-plus-1pm-mqtt/"
language: cs
lastmod: 2026-03-31
generator: hugo
ai:
  topics: ["mqtt","electric-meter","wifi","relay","power-metering","gen2plus"]
  questions: ["Jak integrovat Shelly Plus 1PM s TapHome přes MQTT?","Co měří šablona Shelly Plus 1PM MQTT v TapHome?","Jak najít MQTT Client ID zařízení Shelly Plus 1PM?","Proč Shelly Plus 1PM MQTT nehlásí data?","Jaká diagnostika je dostupná pro Shelly Plus 1PM přes MQTT?","Jak ovládat relé Shelly Plus 1PM přes MQTT z TapHome?"]
---

# Shelly Plus 1PM

Komunikace: Packet Parser → MQTT

- [Produktová stránka Shelly Plus 1PM](https://www.shelly.com/en/products/shop/shelly-plus-1pm)
- [Dokumentace Shelly Gen2+ MQTT API](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt/)

> Adresa v síti
> 
> U MQTT brokeru vestavěného v TapHome zadejte v TapHome jako adresu brokeru `127.0.0.1`. V zařízení zadejte IP adresu TapHome Core a jednotce Core dejte rezervaci IP v routeru.
> 
> [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/)

## Návod na integraci

Shelly Plus 1PM je kompaktní Gen2+ Wi-Fi reléový spínač s vestavěným měřením spotřeby. Vejde se za standardní nástěnný vypínač a dokáže ovládat jeden okruh do 16 A (3500 W při 230 V AC) nebo 10 A (30 V DC). Toto je **MQTT varianta** TapHome šablony — zařízení komunikuje přes MQTT broker namísto přímého HTTP pollingu, což je užitečné v prostředích s více kontroléry nebo pokud je zařízení v jiné VLAN.

Šablona obsahuje dvě zařízení: **Elektroměr** pro monitorování příkonu a energie a **Spínač** pro ovládání relé. Tři atributy na úrovni modulu zobrazují vnitřní teplotu, napětí a proud.

## Konfigurace

### MQTT Client ID

Každý Shelly Plus 1PM má unikátní MQTT Client ID ve formátu `shellyplus1pm-<DEVICEID>`, kde `<DEVICEID>` je 12znakový hex MAC adresa (např. `shellyplus1pm-AABBCCDDEE00`).

Client ID najdete:

- Ve webovém rozhraní Shelly: **Settings** → **MQTT** → **Client ID**
- Přes API: `GET http://<device-ip>/rpc/MQTT.GetConfig` → pole `client_id`
- Na štítku zařízení (MAC adresa)

> [!TIP]
> Toto zařízení podporuje **mDNS discovery**. Místo IP adresy můžete při ověřování konektivity použít hostname `shellyplus1pm-{MAC}.local`. Nahraďte `{MAC}` úplnou MAC adresou zařízení v hexadecimálním formátu s malými písmeny (např. `shellyplus1pm-aabbccddee00.local`).

### Povolení MQTT

1. Otevřete webové rozhraní Shelly: `http://<device-ip>/`
2. Přejděte na **Settings** → **MQTT**
3. Povolte **MQTT**
4. Nastavte **Server**: `<broker-ip>:<port>` (např. `192.168.1.10:1883`)
5. **Client ID** je vyplněno automaticky — ponechte beze změny, pokud nemáte konkrétní důvod ho měnit
6. Klikněte **Save** a restartujte zařízení

> [!TIP]
> Pro ověření funkčnosti MQTT použijte MQTT klienta (např. MQTT Explorer) a přihlaste se k odběru `shellyplus1pm-<DEVICEID>/#`. Měli byste vidět stavové zprávy ze zařízení, včetně `shellyplus1pm-<DEVICEID>/status/switch:0`.

### Nastavení šablony

Po importování šablony do TapHome:

1. Otevřete **Shelly Plus 1PM MQTT Module**
2. Nastavte **MQTT Broker IP** a **Port** (výchozí `1883`)
3. Nastavte proměnnou **plug1topic** na MQTT Client ID vašeho Shelly Plus 1PM (např. `shellyplus1pm-AABBCCDDEE00`)

Modul odebírá zprávy z `{plug1topic}/status/switch:0` a ovládací příkazy publikuje do `{plug1topic}/command/switch:0`.

## Schopnosti zařízení

### Měření spotřeby

Elektroměr čte dvě hodnoty z MQTT stavové zprávy `{plug1topic}/status/switch:0`:

- **Okamžitý příkon** — `apower` hlášený ve wattech, šablona ho konvertuje na kW (dělení 1000)
- **Kumulativní energie** — `aenergy.total` hlášená ve watthodinách, šablona ji konvertuje na kWh (dělení 1000)

Elektroměr je pouze pro čtení — aktualizuje se automaticky po každém publikování stavové zprávy na MQTT broker.

### Ovládání relé

Spínač ovládá relé:

- **Čtení stavu** — odebírá `{plug1topic}/status/switch:0` a čte booleovské pole `output`
- **Zápis stavu** — publikuje `on` nebo `off` do `{plug1topic}/command/switch:0`

Relé podporuje zátěž do 3500 W / 16 A při 230 V AC.

### Diagnostika

Tři atributy na úrovni modulu jsou parsovány ze stejného JSON payloadu `status/switch:0`:

| Atribut | Jednotka | Popis |
|---------|----------|-------|
| Vnitřní teplota | °C | Vnitřní teplota zařízení — monitoruje tepelný stav relé a PCB |
| Napětí | V | Napětí střídavého napájení na vstupu relé |
| Proud | A | Proud zátěží přes výstup relé |

Všechny tři atributy zobrazují "Unknown" do příchodu první MQTT stavové zprávy (počáteční hodnota je `NaN`).

### Další schopnosti

Shelly Plus 1PM také poskytuje účiník, síťovou frekvenci, vrácenou energii (pro obousměrné měření), stav fyzického vstupu, příkaz toggle, časovač automatického vypnutí a akci vynuceného obnovení stavu přes MQTT API. Tyto schopnosti mohou být přidány v budoucí aktualizaci šablony.

## Řešení problémů

### MQTT zprávy nepřicházejí

1. Ověřte, že MQTT je povoleno ve webovém rozhraní Shelly (**Settings** → **MQTT**)
2. Zkontrolujte, že adresa brokeru a port jsou správné v nastavení zařízení Shelly i modulu TapHome
3. Zkontrolujte, že proměnná `plug1topic` přesně odpovídá MQTT Client ID zařízení Shelly (např. `shellyplus1pm-AABBCCDDEE00`)
4. Použijte MQTT klienta (např. MQTT Explorer) a přihlaste se k odběru `shellyplus1pm-#` k ověření, že zařízení publikuje zprávy

### Měření příkonu ukazuje nulu

1. Ověřte, že zátěž je připojena přes relé Shelly (ne obejitá)
2. Zkontrolujte, že relé je zapnuto — měřič měří jen při průtoku proudu přes relé
3. Přihlaste se k odběru `{plug1topic}/status/switch:0` přes MQTT klienta a ověřte, že `apower` vrací nenulovou hodnotu

### Relé nereaguje na příkazy

1. Ověřte, že TapHome má přístup k MQTT brokeru (správné IP a port v nastavení modulu)
2. Zkontrolujte, že hodnota `plug1topic` odpovídá MQTT Client ID zařízení
3. Otestujte publikováním `on` do `{plug1topic}/command/switch:0` přes MQTT klienta — relé by se mělo zapnout

### Diagnostika zobrazuje "Unknown"

1. Všechny tři atributy (teplota, napětí, proud) zobrazují "Unknown" do příchodu první stavové zprávy
2. Pokud hodnoty zůstávají "Unknown" po spuštění zařízení, zkontrolujte, že MQTT spojení je aktivní a stavové zprávy se publikují
3. Restartujte zařízení Shelly pro vynucení nového publikování stavu

> [!WARNING]
> Gen2+ zařízení Shelly podporují MQTT s volitelným TLS. Pokud TLS není nakonfigurováno, komunikace mezi zařízením a MQTT brokerem je nešifrovaná (plain MQTT, port 1883). Pro šifrovanou komunikaci povolte TLS v nastavení MQTT zařízení Shelly a použijte port 8883.

## Jak nainstalovat v TapHome

### Předpoklady

- Zařízení Shelly připojené k Wi-Fi (2,4 GHz), např. přes aplikaci Shelly nebo vlastní přístupový bod zařízení
- MQTT broker běžící ve vaší lokální síti (např. Mosquitto, Home Assistant nebo vestavěný broker TapHome)
- TapHome CCU ve stejné síti jako broker

> [!WARNING]
> Na zařízeních **Gen1** povolení MQTT **vypne Shelly Cloud**. Obojí nemůže běžet současně. Na zařízeních Gen2/Plus toto omezení neplatí.

### Krok 1 — Povolte MQTT na zařízení Shelly

#### Zařízení Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

1. Otevřete webové rozhraní Shelly: `http://<device-ip>/`
2. Přejděte na **Internet & Security** → **Advanced — MQTT**
3. Povolte **MQTT**
4. Nastavte **MQTT Server**: `<broker-ip>:<port>` (např. `192.168.1.10:1883`)
5. Volitelně nastavte **MQTT User** a **MQTT Password**, pokud váš broker vyžaduje autentifikaci
6. Klikněte na **Save** — zařízení se restartuje a připojí k brokeru

#### Zařízení Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

1. Otevřete webové rozhraní Shelly: `http://<device-ip>/`
2. Přejděte na **Settings** → **MQTT**
3. Povolte **MQTT**
4. Nastavte **Server**: `<broker-ip>:<port>` (např. `192.168.1.10:1883`)
5. **Client ID** je předvyplněné ID zařízení (např. `shellyplus1pm-AABBCCDDEE`) — ponechte tak, pokud nemáte konkrétní důvod ke změně
6. Klikněte na **Save** a restartujte zařízení

U vestavěného brokeru TapHome je `<broker-ip>` IP adresa TapHome Core. Dejte jednotce Core rezervaci IP v routeru, jinak zařízení ztratí broker, když router adresu změní → [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/).

> [!TIP]
> Pro ověření funkčnosti MQTT použijte MQTT klienta (např. MQTT Explorer) a přihlaste se k odběru `shellies/#` (Gen1) nebo `<device-id>/#` (Gen2). Měli byste vidět stavové zprávy ze zařízení.

### Krok 2 — Zjistěte Device ID / MQTT Client ID

Některé šablony vyžadují parametr **Device ID** nebo **MQTT Client ID**. Jde o jedinečný identifikátor používaný v MQTT topicích.

- **Gen1:** nachází se na štítku jako MAC adresa (např. `AABBCCDDEE`). Device ID = `shelly<model>-<mac>`, např. `shelly1pm-AABBCCDDEE`
- **Gen2/Plus:** nachází se ve webovém rozhraní Shelly v části **Settings** → **Device Info** → **Device ID**, nebo na štítku zařízení

### Krok 3 — Konfigurace v TapHome

1. V TapHome přidejte nový modul **Packet Parser (MQTT)**
2. **IP Address:** pro vestavěný broker TapHome `127.0.0.1` (jednotka se připojuje sama k sobě, adresa se nikdy nezmění); pro externí broker jeho IP adresa (např. `192.168.1.10`)
3. **Port:** `1883` (výchozí; pro TLS použijte `8883`)
4. **Device ID / MQTT Client ID:** zadejte hodnotu z kroku 2 (pokud to šablona vyžaduje)
5. Importujte šablonu — TapHome se automaticky přihlásí k odběru topiců zařízení

## Dostupná zařízení 2

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

Shelly Plus 1PM MQTT Module Modul

Servisní atributy

|                 |                                                               |
|-----------------|---------------------------------------------------------------|
| Vnitřní teplota | Vnitřní teplota zařízení — monitoruje tepelný stav relé a PCB |
| Napětí          | Napětí střídavého napájení na vstupu relé                     |
| Proud           | Proud zátěží přes výstup relé                                 |

Vlastní proměnné

|                       |                                                                                                                                                                  |
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `plug1topic` (string) | MQTT Client ID zařízení Shelly Plus 1PM — formát je 'shellyplus1pm-&lt;deviceid&gt;'. Najdete ve webovém rozhraní zařízení: Settings → MQTT Settings → Client ID |

Listener

```taphome
IF(INDEXOF(plug1topic, "shellyplus1pm-deviceid") = 0)
    ADDERROR("Set correct 'plug1topic' value in module variables. Topic format is 'shellyplus1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> MQTT Settings -> Client ID.");
    RETURN(-1);
END

IF(RECEIVEDMSG.TOPIC = plug1topic + "/status/switch:0")
    internalTemp := PARSEJSON(RECEIVEDMSG.PAYLOAD, "temperature.tC");
    voltage := PARSEJSON(RECEIVEDMSG.PAYLOAD, "voltage");
    current := PARSEJSON(RECEIVEDMSG.PAYLOAD, "current");
    VAR errors := PARSEJSON(RECEIVEDMSG.PAYLOAD, "errors", TRUE);
    
    IF (!ISNULL(errors))
        VAR errCount := LENGTH(errors);
        VAR i := 0;
        VAR errorText := "";
        
        WHILE i < errCount
            IF LENGTH(errorText)
                errorText += ", ";
            END
            errorText := errorText + GETAT(errors, i);
            i += 1;
        LOOP
        
        IF LENGTH(errorText)
            ADDERROR(errorText);
        END
    END
END
```

Servisní atributy

Internal temperature

```taphome
IF(ISNAN(internalTemp), "Unknown", internalTemp + "°C");
```

Voltage

```taphome
IF(ISNAN(voltage), "Unknown", voltage + "V");
```

Current

```taphome
IF(ISNAN(current), "Unknown", current + "A");
```

Elektroměr Elektroměr Pouze ke čtení

Okamžitý příkon (kW) a kumulativní energie (kWh) z MQTT stavového payloadu

numeric Jednotka: kW / kWh

Listener

```taphome
IF(INDEXOF(plug1topic, "shellyplus1pm-deviceid") = 0)
    ADDERROR("Set correct 'plug1topic' value in module variables. Topic format is 'shellyplus1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> MQTT Settings -> Client ID.");
    RETURN(-1);
END

IF(RECEIVEDMSG.TOPIC = plug1topic + "/status/switch:0")
    Ed := PARSEJSON(RECEIVEDMSG.PAYLOAD, "apower") / 1000.0;
    To := PARSEJSON(RECEIVEDMSG.PAYLOAD, "aenergy.total") / 1000.0;
END
```

Spínač Přepínač Čtení i zápis

Ovládání relé zapnout/vypnout přes MQTT příkazový topic

boolean

Hodnoty / Stavy: ON · OFF

Zápis stavu přepínače

```taphome
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH(plug1topic + "/command/switch:0", value);
```

Listener

```taphome
IF(INDEXOF(plug1topic, "shellyplus1pm-deviceid") = 0)
    ADDERROR("Set correct 'plug1topic' value in module variables. Topic format is 'shellyplus1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> MQTT Settings -> Client ID.");
    RETURN(-1);
END

IF(RECEIVEDMSG.TOPIC = plug1topic + "/status/switch:0")
    St := PARSEJSON(RECEIVEDMSG.PAYLOAD, "output");
END
```

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

Možná vylepšení (8)

- Power Factor — Power factor value, available in switch:0 status JSON for metered devices
- Network Frequency — AC network frequency in Hz, available in switch:0 status JSON
- Returned Energy — Returned/exported energy in Wh, for bi-directional metering scenarios
- Connection Status — LWT topic — true on connect, false on disconnect. Could detect offline device.
- Toggle Command — Toggle relay state; template only supports on/off
- Auto-off Timer — Turn ON with auto-off timer in seconds via 'on,N' command
- Input State — Physical switch/button input state, available via Input.GetStatus RPC method over MQTT
- Force Status Update — Request device to publish current status on all component topics

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci     | Výchozí                  |
|-----------------------|--------------------------|
| Mqtt Broker IP adresa | `192.168.0.1`            |
| Mqtt Broker port      | `1883`                   |
| Shelly MQTT Client ID | `shellyplus1pm-deviceId` |

## Zdroje

- Shelly Gen2+/Gen3 RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-29
- Shelly Gen2+ Switch Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch/) 2026-03-29
- Shelly Gen2+ System (Sys) Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-29
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/WiFi/) 2026-03-29
- Shelly Gen2+ MQTT Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt/) 2026-03-29
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-29
- Shelly Plus 1PM Knowledge Base — specs & wiring
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-plus-1pm) 2026-03-31

## Související dokumentace

- [MQTT Integration](https://taphome.com/cs/compatibility/mqtt-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/)
- [Broker MQTT](https://taphome.com/cs/docs/integration/packet-parser/mqtt-broker/)
- [Listener skripty](https://taphome.com/cs/docs/script/listener-scripts/)

