
Der Shelly H&T Gen3 ist ein batteriebetriebener (4x AA) Wi-Fi Temperatur- und Feuchtigkeitssensor mit einem großen E-Paper-Display. TapHome kommuniziert mit dem Gerät über MQTT mittels Gen2+ RPC-Benachrichtigungen auf dem Topic events/rpc. Dies ist das empfohlene Protokoll für batteriebetriebene Shelly Gen3 Geräte, da der Sensor die meiste Zeit schläft und Daten nur bei Aufwachereignissen veröffentlicht.
Die Vorlage erstellt ein einzelnes Gerät Temperatur- und Feuchtigkeitssensor sowie ein Modul-Serviceattribut Batterie. Ein Offline-Erkennungsmechanismus überwacht den zuletzt empfangenen Zeitstempel und gibt Warnungen oder Fehler aus, wenn das Gerät längere Zeit nicht gemeldet hat.
Konfiguration
MQTT Client ID
Jeder Shelly H&T Gen3 hat eine eindeutige MQTT Client ID im Format shellyhtg3-<MAC12>, wobei <MAC12> die vollständige 12-stellige MAC-Adresse in hexadezimaler Großschreibung ist (z.B. shellyhtg3-AABBCCDDEEFF). Diese ID dient auch als Standard-MQTT-Topic-Präfix.
Die Client ID finden Sie:
- Auf dem Gerätelabel (MAC-Adresse)
- In der Shelly Web-UI: Settings → MQTT → Client ID
- Über API:
GET http://<device-ip>/rpc/Mqtt.GetConfig→ Feldclient_id
Vorlageneinrichtung
Nach dem Import der Vorlage in TapHome:
- Öffnen Sie das Modul Shelly H&T Gen3 MQTT
- Setzen Sie die MQTT Broker IP auf die Adresse des MQTT-Brokers
- Setzen Sie den Port (Standard
1883) - Setzen Sie den Import-Parameter MQTT ID auf die Client ID des Geräts (z.B.
shellyhtg3-AABBCCDDEEFF)
Das Modul abonniert <device-id>/# und die Listener-Skripte parsen NotifyStatus JSON-RPC-Ereignisse vom Topic events/rpc.
Stellen Sie sicher, dass MQTT auf dem Shelly H&T Gen3 aktiviert ist und
rpc_ntf(RPC-Benachrichtigungen) auftruegesetzt ist (Standard). Die Vorlage basiert aufevents/rpc-Benachrichtigungen, nicht auf einzelnen Status-Topics.
Mess- und Meldeverhalten
Der Shelly H&T Gen3 arbeitet je nach Stromquelle unterschiedlich:
- Batteriemodus — Aufwachen jede 1 Minute zur Messung. Meldet über MQTT, wenn sich die Temperatur um mehr als 0,5 °C oder die Luftfeuchtigkeit um mehr als 5 % ändert. Eine unbedingte Statusmeldung wird alle 2 Stunden gesendet, wenn keine schwellenwertbasierten Meldungen ausgelöst wurden.
- USB-Betrieb — Aufwachen alle 5 Minuten zur Messung, Display-Aktualisierung und Meldung in jedem Zyklus.
Das E-Paper-Display aktualisiert sich bei Temperaturänderungen über 0,2 °C oder Feuchtigkeitsänderungen über 3 %.
Das Gerät ist batteriebetrieben und nicht dauerhaft mit dem MQTT-Broker verbunden. Erwarten Sie Lücken zwischen den Messungen, insbesondere im Batteriemodus. Bei schwachem Wi-Fi-Signal am Sensorstandort können häufige Wiederverbindungsversuche die Batterielebensdauer verkürzen.
Gerätefähigkeiten
Temperatur und Luftfeuchtigkeit
Das Sensorgerät liest Temperatur und Luftfeuchtigkeit aus NotifyStatus-Ereignissen auf dem Topic events/rpc:
- Temperatur — Umgebungstemperatur in Celsius, gelesen aus
params['temperature:0'].tC - Luftfeuchtigkeit — relative Luftfeuchtigkeit in Prozent, gelesen aus
params['humidity:0'].rh(das Listener-Skript teilt den Wert durch 100 zur Umrechnung in den von TapHome erwarteten Bereich 0–1)
Beide Werte sind schreibgeschützt und aktualisieren sich bei jedem Aufwachen des Sensors und Veröffentlichen von Daten.
Der Temperaturschwellenwert ist am Gerät konfigurierbar (Standard 0,5 °C, Bereich 0,5–5,0 °C). Der Feuchtigkeitsschwellenwert beträgt standardmäßig 5 % (Bereich 1–20 %). Diese Schwellenwerte können über die Shelly Web-UI oder API angepasst werden, um die Meldefrequenz gegen die Batterielebensdauer abzuwägen.
Batterieüberwachung
Das Modul stellt ein Serviceattribut Batterie [%] bereit, das den prozentualen Ladestand der Batterie aus params['devicepower:0'].battery.percent im NotifyStatus-Ereignis liest. Eine Warnung bei niedrigem Batteriestand wird ausgelöst, wenn der Pegel unter 30 % fällt.
Der Batteriestand aktualisiert sich mit jeder Sensormeldung. Mit 4x AA-Batterien beträgt die erwartete Batterielaufzeit unter normalen Bedingungen ca. 1 Jahr.
Offline-Erkennung
Die Vorlage überwacht die Gerätekonnektivität mittels eines zeitstempelbasierten Mechanismus. Das Modul-Listener-Skript speichert den Unix-Zeitstempel aus jedem NotifyStatus-Ereignis in der Custom-Variable timestamp. Das Lese-Skript vergleicht dann den gespeicherten Zeitstempel mit der aktuellen Zeit:
- Offline > 12 Stunden — WARNING: “Device is offline > 12H”
- Offline > 24 Stunden — ERROR: “Device is offline > 24H”
Dies ist besonders nützlich für batteriebetriebene Geräte, die aufgrund leerer Batterien oder Wi-Fi-Verbindungsverlust verstummen können.
Weitere Fähigkeiten
Der Shelly H&T Gen3 veröffentlicht auch einen Online/Offline-Status über das MQTT Last Will and Testament (LWT) Topic, Batteriespannung in Volt und den Status der externen Stromversorgung (ob USB Type-C angeschlossen ist). Individuelle Komponenten-Status-Topics (status/temperature:0, status/humidity:0, status/devicepower:0) sind verfügbar, wenn status_ntf aktiviert ist, und die Temperatur ist auch in Fahrenheit verfügbar. Das Gerät verfügt über ein E-Paper-Display mit konfigurierbarer Temperatureinheit und Uhrzeitformat. Diese Fähigkeiten können in einer zukünftigen Vorlagenaktualisierung hinzugefügt werden.
Fehlerbehebung
Sensor meldet keine Daten
- Überprüfen Sie, dass der Shelly H&T Gen3 mit Wi-Fi verbunden ist und MQTT in den Geräteeinstellungen aktiviert ist (Settings → MQTT → Enable)
- Prüfen Sie, dass
rpc_ntfauftruegesetzt ist (Standard) — die Vorlage erfordert RPC-Benachrichtigungen aufevents/rpc - Bestätigen Sie, dass der Import-Parameter MQTT ID exakt mit der Client ID des Geräts übereinstimmt (z.B.
shellyhtg3-AABBCCDDEEFF) - Verwenden Sie einen MQTT-Client (z.B. MQTT Explorer) zum Abonnieren von
<device-id>/#und überprüfen Sie, ob der SensorNotifyStatus-Nachrichten beim Aufwachen veröffentlicht - Prüfen Sie den Batteriestand des Geräts — leere Batterien verhindern, dass sich der Sensor mit Wi-Fi verbindet
Feuchtigkeitsmessung erscheint falsch
- Die TapHome-Vorlage teilt den Rohwert der Luftfeuchtigkeit durch 100 (z.B.
rh: 55.3wird zu0.553in TapHome). Dies ist erwartetes Verhalten — TapHome verwendet intern einen Bereich von 0–1 - Der Sensor hat einen konfigurierbaren Feuchtigkeitsoffset (
Humidity.SetConfig→offset) — überprüfen Sie, dass er nicht auf einen falschen Wert eingestellt ist - Der Betriebsbereich des Sensors für Luftfeuchtigkeit beträgt 30–70 % RH. Messungen außerhalb dieses Bereichs können weniger genau sein
Offline-Warnungen trotz funktionierendem Sensor
- Die Offline-Erkennung vergleicht den gespeicherten Zeitstempel mit der aktuellen Zeit. Wenn die TapHome Core-Uhr erheblich abweicht, können falsche Warnungen erscheinen
- Im Batteriebetrieb meldet der Sensor nur bei Schwellenwertüberschreitung oder alle 2 Stunden unbedingt — Lücken von bis zu 2 Stunden zwischen Meldungen sind normal
- Wenn sich der Sensor an einem Ort mit instabilem Wi-Fi befindet, kann er Meldefenster verpassen. Überprüfen Sie die Wi-Fi-Signalstärke am Sensorstandort