---
title: "Shelly H\u0026T"
description: "Odczyt temperatury i wilgotności z czujnika Shelly H\u0026T Gen1 przez MQTT. Bateryjny czujnik Wi-Fi z opcjonalnym zasilaniem USB do ciągłego pomiaru."
url: "https://taphome.com/pl/compatibility/shelly-hm/"
language: pl
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["mqtt","sensor","wifi","battery-powered","temperature","humidity"]
  questions: ["Jak zintegrować Shelly H\u0026T z TapHome przez MQTT?","Co mierzy szablon Shelly H\u0026T w TapHome?","Jak znaleźć MQTT Device ID Shelly H\u0026T?","Dlaczego mój Shelly H\u0026T nie wysyła danych do TapHome?","Czy Shelly H\u0026T może mierzyć ciągle bez usypiania baterii?","Jak TapHome obsługuje konwersję wartości wilgotności Shelly H\u0026T?"]
---

# Shelly H&T

Komunikacja: Packet Parser → MQTT

- [Strona produktu Shelly H&T](https://www.shelly.com/en/products/shop/shelly-humidity-temperature)

> Adres w sieci
> 
> Przy brokerze MQTT wbudowanym w TapHome wpisz w TapHome jako adres brokera `127.0.0.1`. W urządzeniu wpisz adres IP TapHome Core i nadaj jednostce Core rezerwację IP w routerze.
> 
> [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/)

## Poradnik integracji

Shelly H&T to bateryjny (CR123A) czujnik temperatury i wilgotności Wi-Fi z linii produktów Shelly Gen1. TapHome komunikuje się z urządzeniem przez MQTT — zalecany protokół dla bateryjnych czujników Shelly, ponieważ urządzenie śpi między pomiarami i wysyła dane tylko po przebudzeniu.

Szablon tworzy jedno urządzenie Czujnik temperatury z atrybutem serwisowym Wilgotność, śledzące zarówno temperaturę otoczenia, jak i wilgotność względną z jednej jednostki Shelly H&T.

## Konfiguracja

### Device ID

Shelly H&T używa MQTT Device ID w formacie `shellyht-<MAC6>`, gdzie `<MAC6>` to ostatnie 6 znaków adresu MAC w małych literach szesnastkowych (np. `shellyht-112233`).

Device ID można znaleźć:

- Na etykiecie urządzenia (adres MAC)
- W interfejsie webowym Shelly: **Settings** → **Device Info**
- Przez API: `GET http://<device-ip>/settings` → pole `mqtt.id`

### Konfiguracja szablonu

Po zaimportowaniu szablonu w TapHome:

1. Otwórz moduł **Shelly H&T MQTT**
2. Ustaw **MQTT Broker IP** i **Port** (domyślnie `1883`)
3. Ustaw zmienną `deviceId` tylko na część hex Device ID (np. `112233` dla `shellyht-112233` — ostatnie 6 znaków hex adresu MAC)

Moduł subskrybuje `shellies/#`, a skrypt listener filtruje wiadomości według skonfigurowanego Device ID.

> [!WARNING]
> Na urządzeniach Shelly Gen1 włączenie MQTT wyłącza Shelly Cloud — oba nie mogą działać jednocześnie. Włącz MQTT w interfejsie webowym Shelly w sekcji **Internet & Security** → **Advanced - Developer Settings**.

> [!TIP]
> Domyślny okres uśpienia to 60 sekund. Dla częstszych aktualizacji dostępny jest opcjonalny adapter USB — przy zasilaniu zewnętrznym tryb uśpienia jest wyłączony, a czujnik mierzy ciągle.

## Możliwości urządzenia

### Monitorowanie temperatury i wilgotności

Szablon udostępnia jedno urządzenie **Czujnik temperatury**, które odczytuje temperaturę otoczenia z topicu MQTT `shellies/shellyht-{deviceId}/sensor/temperature`. Wartości są publikowane jako liczba zmiennoprzecinkowa w stopniach Celsjusza.

Atrybut serwisowy **Wilgotność** odczytuje wilgotność względną z `shellies/shellyht-{deviceId}/sensor/humidity`. Payload MQTT jest publikowany w zakresie 0–100%, ale szablon konwertuje go wewnętrznie na zakres 0–1 (np. wartość MQTT `45.2` jest przechowywana w TapHome jako `0.452`).

Oba odczyty aktualizują się przy każdym przebudzeniu czujnika z trybu uśpienia — domyślnie co 60 sekund lub ciągle przy zasilaniu USB.

### Dodatkowe możliwości

Shelly H&T publikuje również poziom baterii (0–100%, CR123A), status online/offline przez MQTT Last Will and Testament oraz komunikat z informacjami o urządzeniu zawierający model, MAC, IP i wersję firmware (firmware >=1.6.0). Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.

## Rozwiązywanie problemów

### Czujnik nie wysyła danych

1. Sprawdź, czy Shelly H&T jest podłączony do Wi-Fi i MQTT jest włączony w ustawieniach urządzenia (**Internet & Security** → **Advanced - Developer Settings**)
2. Sprawdź, czy adres i port brokera MQTT są poprawne zarówno w interfejsie webowym Shelly, jak i w ustawieniach modułu TapHome
3. Potwierdź, że zmienna `deviceId` dokładnie odpowiada Device ID (ostatnie 6 znaków hex MAC, np. `112233`)
4. Użyj klienta MQTT (np. MQTT Explorer), aby zasubskrybować `shellies/#` i sprawdzić, czy czujnik publikuje wiadomości w `shellies/shellyht-<deviceId>/` po przebudzeniu

### Wartość wilgotności wydaje się nieprawidłowa

Szablon dzieli wartość wilgotności z MQTT przez 100 — wilgotność 45,2% jest przechowywana w TapHome jako 0,452. To oczekiwane zachowanie, ponieważ TapHome używa zakresu 0–1 dla wartości wilgotności. Interfejs TapHome wyświetla wartość poprawnie jako procent.

### Bateria szybko się rozładowuje

1. Shelly H&T jest zaprojektowany na żywotność baterii do 18 miesięcy przy domyślnym 60-sekundowym okresie uśpienia
2. Częste ponowne łączenie z Wi-Fi (słaby sygnał, zmiana kanałów) znacząco zwiększa zużycie energii
3. Zapewnij silny sygnał Wi-Fi w lokalizacji czujnika — urządzenie ma zasięg około 30 m wewnątrz budynku

> [!WARNING]
> Urządzenia Shelly Gen1 **nie obsługują** MQTT przez TLS. Komunikacja między czujnikiem a brokerem MQTT nie jest szyfrowana (plain MQTT, port 1883). Upewnij się, że broker MQTT znajduje się w zaufanej sieci lokalnej.

## Jak zainstalować w TapHome

### Wymagania wstępne

- Urządzenie Shelly połączone z Wi-Fi (2,4 GHz), np. przez aplikację Shelly lub własny punkt dostępowy urządzenia
- Broker MQTT działający w sieci lokalnej (np. Mosquitto, Home Assistant lub wbudowany broker TapHome)
- TapHome CCU w tej samej sieci co broker

> [!WARNING]
> Na urządzeniach **Gen1** włączenie MQTT **wyłącza Shelly Cloud**. Oba nie mogą działać jednocześnie. Na urządzeniach Gen2/Plus to ograniczenie nie obowiązuje.

### Krok 1 — Włącz MQTT na urządzeniu Shelly

#### Urządzenia Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

1. Otwórz interfejs webowy Shelly: `http://<device-ip>/`
2. Przejdź do **Internet & Security** → **Advanced — MQTT**
3. Włącz **MQTT**
4. Ustaw **MQTT Server**: `<broker-ip>:<port>` (np. `192.168.1.10:1883`)
5. Opcjonalnie ustaw **MQTT User** i **MQTT Password**, jeśli broker wymaga uwierzytelniania
6. Kliknij **Save** — urządzenie zrestartuje się i połączy z brokerem

#### Urządzenia Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

1. Otwórz interfejs webowy Shelly: `http://<device-ip>/`
2. Przejdź do **Settings** → **MQTT**
3. Włącz **MQTT**
4. Ustaw **Server**: `<broker-ip>:<port>` (np. `192.168.1.10:1883`)
5. **Client ID** jest wstępnie wypełnione identyfikatorem urządzenia (np. `shellyplus1pm-AABBCCDDEE`) — pozostaw bez zmian, chyba że masz konkretny powód do zmiany
6. Kliknij **Save** i zrestartuj urządzenie

Przy wbudowanym brokerze TapHome `<broker-ip>` to adres IP TapHome Core. Nadaj jednostce Core rezerwację IP w routerze, w przeciwnym razie urządzenie straci brokera, gdy router zmieni adres → [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/).

> [!TIP]
> Aby sprawdzić, czy MQTT działa, użyj klienta MQTT (np. MQTT Explorer) i zasubskrybuj `shellies/#` (Gen1) lub `<device-id>/#` (Gen2). Powinieneś zobaczyć komunikaty o stanie z urządzenia.

### Krok 2 — Znajdź Device ID / MQTT Client ID

Niektóre szablony wymagają parametru **Device ID** lub **MQTT Client ID**. Jest to unikalny identyfikator używany w topikach MQTT.

- **Gen1:** znajduje się na etykiecie jako adres MAC (np. `AABBCCDDEE`). Device ID = `shelly<model>-<mac>`, np. `shelly1pm-AABBCCDDEE`
- **Gen2/Plus:** znajduje się w interfejsie webowym Shelly w sekcji **Settings** → **Device Info** → **Device ID** lub na etykiecie urządzenia

### Krok 3 — Konfiguracja w TapHome

1. W TapHome dodaj nowy moduł **Packet Parser (MQTT)**
2. **IP Address:** dla wbudowanego brokera TapHome `127.0.0.1` (jednostka łączy się sama ze sobą, adres nigdy się nie zmienia); dla zewnętrznego brokera jego adres IP (np. `192.168.1.10`)
3. **Port:** `1883` (domyślny; użyj `8883` dla TLS)
4. **Device ID / MQTT Client ID:** wprowadź wartość z kroku 2 (jeśli wymagane przez szablon)
5. Zaimportuj szablon — TapHome automatycznie zasubskrybuje topiki urządzenia

## Dostępne urządzenia 1

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

Shelly H&T MQTT Moduł

Zmienne niestandardowe

|                     |                                                                                      |
|---------------------|--------------------------------------------------------------------------------------|
| `deviceId` (string) | MQTT Device ID urządzenia Shelly H&T — ostatnie 6 znaków hex adresu MAC (np. 112233) |

Czujnik temperatury Czujnik temperatury Tylko do odczytu

Temperatura otoczenia i wilgotność — odczyt °C z MQTT, wilgotność konwertowana z 0–100% na zakres 0–1

float Jednostka: °C

Odczyt wilgotności

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
Hu := listenHum;
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Odczyt temperatury

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
te := listenTemp;
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Nasłuchiwanie

```taphome
# Parse received bytes:
IF(RECEIVEDMSG.TOPIC = "shellies/shellyht-"+ deviceId +"/sensor/temperature")
 listenTemp := todouble(TOSTRING(RECEIVEDMSG.PAYLOAD));
END
IF(RECEIVEDMSG.TOPIC = "shellies/shellyht-"+ deviceId +"/sensor/humidity")
 listenHum := todouble(TOSTRING(RECEIVEDMSG.PAYLOAD))/100;
END
```

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

Możliwe ulepszenia (3)

- Battery Level — Battery percentage (0–100%, CR123A). Available via MQTT but not parsed in template listener script.
- Connection Status — LWT topic — true on connect, false on disconnect. Could detect offline sensor.
- Device Announcement — JSON payload with device model, MAC, IP, firmware version. Published on connect (FW ≥1.6.0).

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji  | Domyślnie      |
|----------------------|----------------|
| Mqtt Broker Adres IP | `192.168.0.1`  |
| Mqtt Broker port     | `1883`         |
| Device ID            | `yourDeviceId` |

## Źródła

- Shelly Gen1 API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/) 2026-03-12
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-12
- Shelly H&T — Device-Specific API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-h-amp-t) 2026-03-31
- Shelly H&T — Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-h-t) 2026-03-31

## Powiązana dokumentacja

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

