---
title: "Shelly 1PM Gen3"
description: "Shelly 1PM Gen3 przekaźnik Wi-Fi z pomiarem mocy. Steruj jednym obwodem i monitoruj zużycie energii w czasie rzeczywistym przez HTTP RPC API z TapHome."
url: "https://taphome.com/pl/compatibility/shelly-1pm-gen3/"
language: pl
lastmod: 2026-03-27
generator: hugo
ai:
  topics: ["http","electric-meter","wifi","relay","power-metering","mdns"]
  questions: ["Jak zintegrować Shelly 1PM Gen3 z TapHome?","Co mierzy szablon Shelly 1PM Gen3 w TapHome?","Jak połączyć Shelly 1PM Gen3 przez HTTP z TapHome?","Jaka jest różnica między Shelly 1PM Gen1 a Gen3 w TapHome?","Dlaczego Shelly 1PM Gen3 pokazuje zerowe wartości mocy?","Jak użyć nazwy hosta mDNS zamiast adresu IP dla Shelly Gen3?"]
---

# Shelly 1PM Gen3

Komunikacja: Packet Parser → HTTP

- [Strona produktu Shelly 1PM Gen3](https://www.shelly.com/en/products/shop/shelly-1-pm-gen3)

> 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

Shelly 1PM Gen3 to kompaktowy przekaźnik Wi-Fi z wbudowanym pomiarem mocy. Mieści się za standardowym włącznikiem ściennym i może sterować jednym obwodem o obciążeniu do 16 A (3500 W przy 230 V AC) lub 10 A (przy 24–30 V DC). TapHome komunikuje się z urządzeniem przez HTTP za pomocą API Gen2+/Gen3 JSON-RPC 2.0 w sieci lokalnej — połączenie z chmurą nie jest wymagane.

W przeciwieństwie do oryginalnego Shelly 1PM (Gen1), który korzysta z REST API z endpointem `/status`, wersja Gen3 wykorzystuje RPC API z wywołaniami metod, takimi jak `/rpc/Switch.GetStatus`. Sprzęt Gen3 wyposażony jest w szybszy procesor ESP z 8 MB pamięci flash, obsługuje do 6 jednoczesnych połączeń HTTP (w porównaniu z 2 w Gen1) i jest przygotowany na Matter.

Szablon zapewnia sterowanie przekaźnikiem oraz licznik energii, który odczytuje bieżące zużycie mocy i skumulowane zużycie energii.

## Konfiguracja

Shelly 1PM Gen3 łączy się przez Wi-Fi. Podczas importu szablonu do TapHome wprowadź adres IP urządzenia (domyślny symbol zastępczy `192.168.0.1`).

> [!WARNING]
> Uwierzytelnianie musi być **wyłączone** na urządzeniu Shelly dla integracji z TapHome. TapHome nie obsługuje HTTP Digest Auth stosowanego przez urządzenia Gen2+/Gen3. Otwórz interfejs webowy Shelly (`http://{device-ip}`) → Ustawienia → Uwierzytelnianie i upewnij się, że jest wyłączone.

> [!NOTE]
> Jeśli tryb ECO jest włączony na urządzeniu Shelly, może powodować przekroczenia czasu komunikacji ze względu na szybkie interwały odpytywania szablonu (2,5–3 sekundy). Wyłącz tryb ECO w interfejsie webowym Shelly, jeśli występują przerywane problemy z łącznością.

## Możliwości urządzenia

### Sterowanie przekaźnikiem

Szablon udostępnia przekaźnik jako przełącznik. Stan przekaźnika jest odczytywany z odpowiedzi `/rpc/Switch.GetStatus?id=0` (pole `output`, boolean) i sterowany przez `/rpc/Switch.Set?id=0&on=true` lub `on=false`.

### Pomiar mocy

Wbudowany licznik energii odczytuje dwie wartości z odpowiedzi `/rpc/Switch.GetStatus?id=0`:

- **Moc chwilowa** — `apower` w watach, szablon konwertuje na kW
- **Całkowite zużycie** — `aenergy.total` w watogodzinach, szablon konwertuje na kWh

Licznik udostępnia również trzy atrybuty serwisowe:

- **Prąd elektryczny** — prąd obciążenia w amperach (pole `current`)
- **Napięcie elektryczne** — napięcie zasilania w woltach (pole `voltage`)
- **Temperatura** — wewnętrzna temperatura urządzenia w °C (pole `temperature.tC`)

Licznik jest tylko do odczytu — aktualizuje się automatycznie przy każdym cyklu odpytywania (interwał 15 sekund).

### Diagnostyka serwisowa

Szablon udostępnia atrybuty serwisowe na poziomie modułu do monitorowania urządzenia:

- **WiFi** — nazwa podłączonej sieci SSID
- **Adres IP** — aktualny adres IP stacji
- **Siła sygnału** — WiFi RSSI w dB
- **MAC** — adres MAC urządzenia

Skrypt odczytu modułu sprawdza również dostępne aktualizacje firmware i oczekujące wymagania ponownego uruchomienia, wyświetlając je jako ostrzeżenia w interfejsie TapHome.

### Akcje serwisowe

Na poziomie modułu dostępne są dwie akcje serwisowe:

- **Aktualizacja firmware** — uruchamia aktualizację firmware do najnowszej stabilnej wersji przez `/rpc/Shelly.Update`
- **Restart** — uruchamia ponowne uruchomienie urządzenia przez `/rpc/Shelly.Reboot`

### Dodatkowe możliwości

Shelly 1PM Gen3 udostępnia w swoich odpowiedziach RPC również współczynnik mocy, częstotliwość sieciową (Hz), liczniki energii zwróconej/eksportowanej, stan wejścia fizycznego (`input:0`), czas pracy, wykorzystanie RAM i czas urządzenia. Dostępny jest timer automatycznego wyłączania przez parametr `toggle_after`, a ochrona przed przeciążeniem może być skonfigurowana przez `Switch.SetConfig → power_limit`. Liczniki energii można zresetować przez `/rpc/Switch.ResetCounters`. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.

## Rozwiązywanie problemów

### Urządzenie nie odpowiada

1. Sprawdź, czy Shelly jest podłączony do Wi-Fi i ma prawidłowy adres IP
2. Spróbuj użyć nazwy hosta mDNS (`shelly1pmg3-AABBCCDDEE.local`) zamiast adresu IP — adres IP mógł się zmienić po odnowieniu DHCP
3. Otwórz `http://{device-ip}/rpc/Shelly.GetDeviceInfo` w przeglądarce — jeśli odpowie JSON-em, urządzenie jest osiągalne
4. Sprawdź, czy TapHome Core i Shelly są w tej samej sieci / VLAN
5. Potwierdź, że uwierzytelnianie jest wyłączone na urządzeniu Shelly

### Wartości mocy pokazują zero

1. Potwierdź, że obciążenie jest podłączone przez przekaźnik Shelly (nie jest ominięte)
2. Sprawdź, czy przekaźnik jest włączony — licznik mierzy tylko gdy prąd przepływa przez przekaźnik
3. Ręcznie odpytaj `/rpc/Switch.GetStatus?id=0` i sprawdź, czy `apower` zwraca wartość różną od zera

### Ostrzeżenie o przegrzaniu

Shelly 1PM Gen3 posiada wewnętrzną ochronę termiczną. Jeśli temperatura urządzenia przekroczy bezpieczne limity, wartość `temperature` w atrybutach serwisowych licznika wzrośnie. Zapewnij odpowiednią wentylację wokół urządzenia, szczególnie przy ciągłym przełączaniu dużych obciążeń.

> [!WARNING]
> Urządzenia Shelly Gen2+/Gen3 obsługują do **6 jednoczesnych połączeń HTTP**. Chociaż jest to znaczna poprawa w porównaniu z Gen1 (2 połączenia), unikaj jednoczesnego odpytywania z zbyt wielu systemów (TapHome, Home Assistant, własne skrypty), aby zapobiec wyczerpaniu połączeń.

## Jak zainstalować w TapHome

### Wymagania wstępne

- Urządzenie Shelly zainstalowane i włączone
- Lokalna sieć Wi-Fi (2,4 GHz)
- TapHome CCU w tej samej sieci

### Krok 1 — Podłącz Shelly do Wi-Fi

**Opcja A — Aplikacja Shelly (zalecana):**

1. Pobierz [aplikację Shelly](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Dotknij **+** → **Add Device** i postępuj zgodnie z kreatorem parowania Bluetooth
3. Wprowadź dane logowania Wi-Fi, gdy zostaniesz o to poproszony

**Opcja B — Tryb AP (bez aplikacji):**

1. Przy pierwszym uruchomieniu urządzenie tworzy hotspot: `ShellyXXX-AABBCCDDEE`
2. Połącz telefon/PC z tym hotspotem
3. Otwórz `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Wprowadź SSID i hasło → **Save**

> [!NOTE]
> Shelly obsługuje tylko sieci **2,4 GHz**. Sieci 5 GHz nie pojawią się podczas skanowania.

### Krok 2 — Znajdź adres IP

Po połączeniu z Wi-Fi znajdź przypisany adres IP za pomocą jednej z poniższych metod:

- **Aplikacja Shelly:** Szczegóły urządzenia → **Device info** → Adres IP
- **Interfejs webowy Shelly:** Połącz się z AP urządzenia przed konfiguracją Wi-Fi — IP zostanie wyświetlone po zapisaniu
- **Tabela DHCP routera:** Szukaj nazwy hosta takiej jak `shelly1pm-AABBCCDDEE`
- **mDNS:** Pinguj `shelly<model>-<mac>.local` (np. `shelly1pm-AABBCCDDEE.local`) z tej samej sieci

> [!TIP]
> Przypisz urządzeniu Shelly **statyczny IP** (rezerwację DHCP) w routerze, aby adres nie zmieniał się po ponownym uruchomieniu routera.

### Krok 3 — Konfiguracja w TapHome

1. W TapHome dodaj nowy moduł **Packet Parser (HTTP)**
2. **IP Address:** wprowadź IP z kroku 2 (np. `192.168.1.50`)
3. **Port:** `80` (domyślny, nie wymaga zmiany)
4. Zaimportuj szablon — TapHome będzie okresowo odpytywać `/status` w celu odczytu stanu urządzenia

> [!NOTE]
> Uwierzytelnianie HTTP jest domyślnie wyłączone na urządzeniach Shelly. Jeśli włączyłeś ochronę logowaniem, TapHome obecnie nie obsługuje HTTP Basic Auth — pozostaw uwierzytelnianie wyłączone dla integracji z TapHome.

## Dostępne urządzenia 2

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

Shelly 1PM Gen3 Moduł

Atrybuty serwisowe

|              |
|--------------|
| WiFi         |
| Adres IP     |
| Siła sygnału |
| MAC          |

Akcje serwisowe

|                       |
|-----------------------|
| Aktualizacja firmware |
| Restart               |

Zmienne niestandardowe

Odczyt (moduł)

```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

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
```

Atrybuty serwisowe

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")
```

Akcje serwisowe

${xml\_update\_fw}

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

```

Reboot

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

Przełącznik Przełącznik Odczyt i zapis

boolean

Wartości / Stany: ON · OFF

Odczyt stanu przełącznika

```taphome
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
var status := x.Content;
return(PARSEJSON(status, "$.output", true));
```

Zapis stanu przełącznika

```taphome
VAR response := SENDHTTPREQUEST("rpc/Switch.Set?id=0&on=" + if(St,"true","false"));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
```

Licznik energii Licznik energii Tylko do odczytu

Pomiar zużycia energii — moc chwilowa (kW) i energia skumulowana (kWh) z pomiarem prądu, napięcia i temperatury

numeric Jednostka: kW / kWh

Atrybuty serwisowe

|                      |
|----------------------|
| Prąd elektryczny     |
| Napięcie elektryczne |
| Temperatura          |

Odczyt całkowitego zużycia

```taphome
return(parsejson(parsejson(Switch.GetStatus,"aenergy"), "total")/1000);
```

Odczyt zapotrzebowania

```taphome
return(parsejson(Switch.GetStatus,"apower")/1000);
```

Odczyt (moduł)

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=0");
IF response.IsSuccess
    Switch.GetStatus := response.Content;
END
```

Atrybuty serwisowe

${electric\_current} \[A]

```taphome
return(parsejson(Switch.GetStatus,"current"));
```

${electric\_voltage} \[V]

```taphome
return(parsejson(Switch.GetStatus,"voltage"));
```

${temperature} \[°C]

```taphome
return(parsejson(parsejson(Switch.GetStatus,"temperature"), "tC"));
```

**Połączenie:** Packet Parser → HTTP • Hostname: `shelly1pmg3-{MAC}.local`

Możliwe ulepszenia (10)

- Power Factor — Power factor value, available in Switch.GetStatus response for metered devices
- Network Frequency — AC network frequency in Hz, available in Switch.GetStatus response
- Returned Energy — Returned/exported energy in Wh, for bi-directional metering scenarios
- Input State — Physical switch/button input state, available via /rpc/Input.GetStatus?id=0
- 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
- Auto-off Timer — Auto-reset timer in seconds via toggle\_after parameter, could be added as switch parameter
- Reset Energy Counters — Resets energy measurement counters (aenergy, ret\_aenergy)
- Overpower Protection — Configurable power limit threshold in Watts, relay turns off when exceeded

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

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

## Źródła

- Shelly Gen2+/Gen3 RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-27
- Shelly Gen2+ Switch Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch/) 2026-03-27
- Shelly Gen2+ System (Sys) Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-27
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/WiFi/) 2026-03-27
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-27
- Shelly 1PM Gen3 Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-1pm-gen3) 2026-03-27

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

