---
title: "Shelly H\u0026T"
description: "Shelly H\u0026T Gen1 über MQTT, da der Batteriesensor zwischen Messungen schläft: Temperatur und relative Luftfeuchtigkeit als Sensor in TapHome."
url: "https://taphome.com/de/compatibility/shelly-hm/"
language: de
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["mqtt","sensor","wifi","battery-powered","temperature","humidity"]
  questions: ["Wie integriere ich den Shelly H\u0026T mit TapHome über MQTT?","Was misst die Shelly H\u0026T TapHome-Vorlage?","Wie finde ich die MQTT Device ID des Shelly H\u0026T?","Warum meldet mein Shelly H\u0026T keine Daten in TapHome?","Kann der Shelly H\u0026T ohne Batterie-Schlafmodus kontinuierlich messen?","Wie verarbeitet TapHome die Feuchtigkeitswert-Konvertierung des Shelly H\u0026T?"]
---

# Shelly H&T

Kommunikation: Packet Parser → MQTT

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

> Netzwerkadresse
> 
> Beim in TapHome integrierten MQTT-Broker geben Sie in TapHome `127.0.0.1` als Broker-Adresse ein. Im Gerät geben Sie die IP-Adresse des TapHome Core ein und richten für den Core eine IP-Reservierung im Router ein.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Der Shelly H&T ist ein batteriebetriebener (CR123A) Wi-Fi-Temperatur- und Feuchtigkeitssensor aus der Shelly Gen1-Produktlinie. TapHome kommuniziert mit dem Gerät über MQTT — das empfohlene Protokoll für batteriebetriebene Shelly-Sensoren, da das Gerät zwischen den Messungen schläft und Daten nur beim Aufwachen sendet.

Die Vorlage erstellt ein einzelnes Gerät Temperatursensor mit einem Dienstattribut Feuchtigkeit, das sowohl die Umgebungstemperatur als auch die relative Luftfeuchtigkeit einer Shelly H&T-Einheit erfasst.

## Konfiguration

### Device ID

Der Shelly H&T verwendet eine MQTT Device ID im Format `shellyht-<MAC6>`, wobei `<MAC6>` die letzten 6 Zeichen der MAC-Adresse in hexadezimaler Kleinschreibung sind (z. B. `shellyht-112233`).

Die Device ID finden Sie:

- Auf dem Geräteetikett (MAC-Adresse)
- In der Shelly-Weboberfläche: **Settings** → **Device Info**
- Über API: `GET http://<device-ip>/settings` → Feld `mqtt.id`

### Vorlage einrichten

Nach dem Import der Vorlage in TapHome:

1. Öffnen Sie das Modul **Shelly H&T MQTT**
2. Setzen Sie **MQTT Broker IP** und **Port** (Standard `1883`)
3. Setzen Sie die Variable `deviceId` nur auf den Hex-Teil der Device ID (z. B. `112233` für `shellyht-112233` — die letzten 6 Hex-Zeichen der MAC-Adresse)

Das Modul abonniert `shellies/#` und das Listener-Skript filtert Nachrichten nach der konfigurierten Device ID.

> [!WARNING]
> Bei Shelly Gen1-Geräten deaktiviert die Aktivierung von MQTT die Shelly Cloud — beides kann nicht gleichzeitig funktionieren. Aktivieren Sie MQTT in der Shelly-Weboberfläche unter **Internet & Security** → **Advanced - Developer Settings**.

> [!TIP]
> Die Standard-Schlafzeit beträgt 60 Sekunden. Für häufigere Aktualisierungen ist ein optionaler USB-Adapter verfügbar — bei externer Stromversorgung wird der Schlafmodus deaktiviert und der Sensor misst kontinuierlich.

## Gerätefunktionen

### Temperatur- und Feuchtigkeitsüberwachung

Die Vorlage bietet ein einzelnes Gerät **Temperatursensor**, das die Umgebungstemperatur aus dem MQTT-Topic `shellies/shellyht-{deviceId}/sensor/temperature` ausliest. Werte werden als Gleitkommazahl in Grad Celsius veröffentlicht.

Ein Dienstattribut **Feuchtigkeit** liest die relative Luftfeuchtigkeit aus `shellies/shellyht-{deviceId}/sensor/humidity`. Der MQTT-Payload wird im Bereich 0–100 % veröffentlicht, aber die Vorlage konvertiert ihn intern in den Bereich 0–1 (z. B. MQTT-Wert `45.2` wird in TapHome als `0.452` gespeichert).

Beide Messwerte werden bei jedem Aufwachen des Sensors aus dem Schlafmodus aktualisiert — standardmäßig alle 60 Sekunden oder kontinuierlich bei USB-Versorgung.

### Weitere Funktionen

Der Shelly H&T veröffentlicht auch den Batteriestand (0–100 %, CR123A), einen Online-/Offline-Status über MQTT Last Will and Testament sowie eine Geräteankündigungsnachricht mit Modell, MAC, IP und Firmware-Version (Firmware >=1.6.0). Diese Funktionen können in einem zukünftigen Vorlage-Update hinzugefügt werden.

## Fehlerbehebung

### Sensor meldet keine Daten

1. Überprüfen Sie, ob der Shelly H&T mit dem Wi-Fi verbunden ist und MQTT in den Geräteeinstellungen aktiviert ist (**Internet & Security** → **Advanced - Developer Settings**)
2. Prüfen Sie, ob die MQTT-Broker-Adresse und der Port sowohl in der Shelly-Weboberfläche als auch in den TapHome-Moduleinstellungen korrekt sind
3. Bestätigen Sie, dass die Variable `deviceId` genau mit der Device ID übereinstimmt (letzte 6 Hex-Zeichen der MAC, z. B. `112233`)
4. Verwenden Sie einen MQTT-Client (z. B. MQTT Explorer), um `shellies/#` zu abonnieren und zu überprüfen, ob der Sensor beim Aufwachen Nachrichten unter `shellies/shellyht-<deviceId>/` veröffentlicht

### Feuchtigkeitswert erscheint falsch

Die Vorlage teilt den MQTT-Feuchtigkeitswert durch 100 — eine Feuchtigkeit von 45,2 % wird in TapHome als 0,452 gespeichert. Dies ist das erwartete Verhalten, da TapHome einen Bereich von 0–1 für Feuchtigkeitswerte verwendet. Die TapHome-Oberfläche zeigt den Wert korrekt als Prozent an.

### Batterie entlädt sich schnell

1. Der Shelly H&T ist für eine Batterielebensdauer von bis zu 18 Monaten bei der Standard-Schlafzeit von 60 Sekunden ausgelegt
2. Häufige Wi-Fi-Neuverbindungen (schwaches Signal, Kanalwechsel) erhöhen den Stromverbrauch erheblich
3. Stellen Sie ein starkes Wi-Fi-Signal am Standort des Sensors sicher — das Gerät hat eine Reichweite von ca. 30 m in Innenräumen

> [!WARNING]
> Shelly Gen1-Geräte unterstützen **kein** MQTT über TLS. Die Kommunikation zwischen dem Sensor und dem MQTT-Broker ist unverschlüsselt (Plain MQTT, Port 1883). Stellen Sie sicher, dass sich der MQTT-Broker in einem vertrauenswürdigen lokalen Netzwerk befindet.

## Installation in TapHome

### Voraussetzungen

- Shelly-Gerät mit Wi-Fi (2,4 GHz) verbunden, z. B. über die Shelly App oder den eigenen Access Point des Geräts
- MQTT-Broker in Ihrem lokalen Netzwerk aktiv (z. B. Mosquitto, Home Assistant oder der integrierte TapHome-Broker)
- TapHome CCU im selben Netzwerk wie der Broker

> [!WARNING]
> Auf **Gen1**-Geräten **deaktiviert** das Aktivieren von MQTT die **Shelly Cloud**. Beides kann nicht gleichzeitig betrieben werden. Auf Gen2/Plus-Geräten gilt diese Einschränkung nicht.

### Schritt 1 — MQTT auf dem Shelly-Gerät aktivieren

#### Gen1-Geräte (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

1. Öffnen Sie die Shelly-Weboberfläche: `http://<device-ip>/`
2. Navigieren Sie zu **Internet & Security** → **Advanced — MQTT**
3. Aktivieren Sie **MQTT**
4. Setzen Sie **MQTT Server**: `<broker-ip>:<port>` (z. B. `192.168.1.10:1883`)
5. Optional setzen Sie **MQTT User** und **MQTT Password**, falls Ihr Broker eine Authentifizierung erfordert
6. Klicken Sie auf **Save** — das Gerät startet neu und verbindet sich mit dem Broker

#### Gen2 / Plus-Geräte (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

1. Öffnen Sie die Shelly-Weboberfläche: `http://<device-ip>/`
2. Navigieren Sie zu **Settings** → **MQTT**
3. Aktivieren Sie **MQTT**
4. Setzen Sie **Server**: `<broker-ip>:<port>` (z. B. `192.168.1.10:1883`)
5. Die **Client ID** ist mit der Geräte-ID vorausgefüllt (z. B. `shellyplus1pm-AABBCCDDEE`) — belassen Sie sie so, es sei denn, Sie haben einen bestimmten Grund zur Änderung
6. Klicken Sie auf **Save** und starten Sie das Gerät neu

Beim integrierten TapHome-Broker ist `<broker-ip>` die IP-Adresse des TapHome Core. Geben Sie dem Core eine IP-Reservierung im Router, sonst verliert das Gerät den Broker, wenn der Router die Adresse ändert → [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/).

> [!TIP]
> Um zu überprüfen, ob MQTT funktioniert, verwenden Sie einen MQTT-Client (z. B. MQTT Explorer) und abonnieren Sie `shellies/#` (Gen1) oder `<device-id>/#` (Gen2). Sie sollten Statusnachrichten vom Gerät sehen.

### Schritt 2 — Device ID / MQTT Client ID ermitteln

Einige Vorlagen erfordern einen Parameter **Device ID** oder **MQTT Client ID**. Dies ist die eindeutige Kennung, die in MQTT-Topics verwendet wird.

- **Gen1:** auf dem Etikett als MAC-Adresse zu finden (z. B. `AABBCCDDEE`). Device ID = `shelly<model>-<mac>`, z. B. `shelly1pm-AABBCCDDEE`
- **Gen2/Plus:** in der Shelly-Weboberfläche unter **Settings** → **Device Info** → **Device ID** zu finden, oder auf dem Geräteetikett

### Schritt 3 — Konfiguration in TapHome

1. Fügen Sie in TapHome ein neues Modul **Packet Parser (MQTT)** hinzu
2. **IP Address:** `127.0.0.1` für den integrierten TapHome-Broker (die Steuereinheit verbindet sich mit sich selbst, die Adresse ändert sich nie); für einen externen Broker dessen IP-Adresse (z. B. `192.168.1.10`)
3. **Port:** `1883` (Standard; verwenden Sie `8883` für TLS)
4. **Device ID / MQTT Client ID:** Geben Sie den Wert aus Schritt 2 ein (falls von der Vorlage benötigt)
5. Importieren Sie die Vorlage — TapHome abonniert automatisch die Geräte-Topics

## Verfügbare Geräte 1

Diese Geräte erscheinen nach dem Import in TapHome.

Shelly H&T MQTT Modul

Benutzerdefinierte Variablen

|                     |                                                                                     |
|---------------------|-------------------------------------------------------------------------------------|
| `deviceId` (string) | MQTT Device ID des Shelly H&T — letzte 6 Hex-Zeichen der MAC-Adresse (z. B. 112233) |

Temperatursensor Temperatursensor Nur lesen

Umgebungstemperatur und Luftfeuchtigkeit — liest °C über MQTT, Feuchtigkeit von 0–100 % auf Bereich 0–1 konvertiert

float Einheit: °C

Luftfeuchtigkeit lesen

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

Temperatur lesen

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

Listener

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

**Verbindung:** Packet Parser → MQTT • Hostname: `shellyht-{MAC}.local`

Mögliche Verbesserungen (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).

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt   | Standard       |
|------------------------|----------------|
| Mqtt Broker IP-Adresse | `192.168.0.1`  |
| Mqtt Broker port       | `1883`         |
| Device ID              | `yourDeviceId` |

## Quellen

- 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

## Verwandte Dokumentation

- [MQTT Integration](https://taphome.com/de/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)
- [MQTT-Broker](https://taphome.com/de/docs/integration/packet-parser/mqtt-broker/)
- [Listener-Skripte](https://taphome.com/de/docs/script/listener-scripts/)

