
The Shelly Plus H&T (SNSN-0013A) is a battery-powered (4x AA) Wi-Fi temperature and humidity sensor with an e-paper display. It is a Gen2 (Plus series) device, now discontinued and replaced by the Shelly H&T Gen3, but still widely deployed. TapHome communicates with the device over MQTT using individual /status/ topics for each component. This is the standard approach for Gen2 Shelly devices — the listener script subscribes to <device-id>/# and processes incoming status messages as the sensor wakes from deep sleep and publishes data.
The template creates a single Temperature & Humidity Sensor device with 9 device-level service attributes covering battery, network, and connectivity diagnostics. Unlike the Gen3 variant (which uses consolidated events/rpc notifications), this Gen2 template processes individual /status/temperature:0, /status/humidity:0, /status/devicepower:0, and other component-specific topics.
Configuration
Device ID
Each Shelly Plus H&T has a unique Device ID in the format shellyplusht-<MACADDRESS>, where <MACADDRESS> is the full 12-character MAC address in uppercase hex (e.g., shellyplusht-A8032AB12CD3). This ID also serves as the MQTT topic prefix.
The Device ID can be found:
- On the device label (MAC address)
- In the Shelly web UI: Settings → Device Info → Device ID
- Via API:
GET http://<device-ip>/rpc/Mqtt.GetConfig→client_idfield
Template setup
After importing the template in TapHome:
- Open the Shelly Plus H&T MQTT module
- Set the MQTT Broker IP to the address of the MQTT broker
- Set the Port (default
1883) - Set the Device ID import parameter to the device’s Device ID (e.g.,
shellyplusht-A8032AB12CD3)
The module subscribes to <device-id>/# and the listener script parses individual /status/ JSON messages from each component topic.
Ensure MQTT is enabled on the Shelly Plus H&T and
status_ntf(status notifications) is set totrue. The template relies on individual status topics (/status/temperature:0,/status/humidity:0, etc.), not the consolidatedevents/rpctopic.
Measurement and reporting behavior
The Shelly Plus H&T operates differently depending on the power source:
- Battery mode — wakes every 1 minute for measurement. Reports to MQTT if temperature changes more than 0.5 °C or humidity changes more than 5%. An unconditional status report is sent every 2 hours if no threshold-based reports were triggered. A 5-minute cooldown period prevents excessive wake-ups.
- USB power mode — wakes every 5 minutes for measurement, display update, and unconditional reporting on every cycle.
The e-paper display updates when temperature changes more than 0.2 °C or humidity changes more than 3%.
The device is battery-operated and spends most of its time in deep sleep. TapHome cannot actively poll the sensor — it relies on the device pushing status via MQTT on wake-up. Expect gaps between readings, especially in battery mode. USB Type-C power provides more frequent updates but does not charge the internal batteries.
Device capabilities
Temperature and humidity
The sensor device reads temperature and humidity from individual MQTT status topics:
- Temperature — ambient temperature in Celsius, read from
tCin the/status/temperature:0topic - Humidity — relative humidity percentage, read from
rhin the/status/humidity:0topic (the readhumidity script divides the value by 100 to convert to the 0–1 range expected by TapHome)
Both values are read-only and update whenever the sensor wakes up and publishes data.
The temperature report threshold is configurable on the device (default 0.5 °C, range 0.5–5.0 °C). The humidity report threshold defaults to 5% (range 1–20%). These thresholds can be adjusted via the Shelly web UI or API to balance reporting frequency against battery life.
Service attributes
The template exposes 9 device-level service attributes providing battery status and device diagnostics:
Battery monitoring:
- Battery — battery charge percentage from
battery.percentin/status/devicepower:0 - Battery voltage — battery voltage in Volts from
battery.Vin/status/devicepower:0 - External power — whether USB Type-C external power is connected, from
external.presentin/status/devicepower:0
Network diagnostics:
- WiFi — connected WiFi network SSID from
/status/wifi - IP Address — device IP address from
/status/wifi - MAC Address — device MAC address from
/status/sys
Connectivity status:
- Cloud connected — Shelly Cloud connection status from
/status/cloud - MQTT connected — MQTT broker connection status from
/status/mqtt - BLE enabled — Bluetooth Low Energy status from
/status/ble
All service attributes display "-" when no data has been received yet (initial state after template import, before the first sensor wake-up).
Additional capabilities
The Shelly Plus H&T also publishes temperature in Fahrenheit (tF field in /status/temperature:0), WiFi signal strength (RSSI in dBm), and supports the HT_UI component for configuring the e-paper display temperature unit (°C/°F). The device also provides an online/offline status via the MQTT Last Will and Testament (LWT) topic. These capabilities can be added in a future template update.
Troubleshooting
Sensor not reporting data
- Verify the Shelly Plus H&T is connected to Wi-Fi and MQTT is enabled in the device settings (Settings → MQTT → Enable)
- Check that
status_ntfis set totrue— the template requires individual status notifications on/status/topics - Confirm the Device ID import parameter matches the device’s Device ID exactly (e.g.,
shellyplusht-A8032AB12CD3) - Use an MQTT client (e.g., MQTT Explorer) to subscribe to
<device-id>/#and verify the sensor publishes status messages on wake-up - Check the device battery level — depleted batteries prevent the sensor from connecting to Wi-Fi
Humidity reading appears incorrect
- The TapHome template divides the raw humidity value by 100 (e.g.,
rh: 55.3becomes0.553in TapHome). This is expected behavior — TapHome uses a 0–1 range internally - The sensor has a configurable humidity offset (
Humidity.SetConfig→offset) — verify it is not set to an incorrect value - The operating humidity range of the sensor is 30–70% RH. Readings outside this range may be less accurate
Service attributes showing “-”
- Service attributes display
"-"until the sensor wakes up and publishes data on the corresponding status topic - On battery power, the device may take up to 2 hours to send its first unconditional report — press the reset button (behind the back cover) to trigger an immediate measurement and report
- Verify the MQTT broker is receiving messages on all expected topics (
/status/sys,/status/wifi,/status/cloud,/status/mqtt,/status/ble)
Differences from Shelly H&T Gen3
The Shelly Plus H&T (Gen2) and Shelly H&T Gen3 have similar sensor capabilities but differ in MQTT communication:
- Gen2 (Plus H&T) uses individual
/status/topics per component — requiresstatus_ntf: true - Gen3 (H&T Gen3) uses consolidated
events/rpctopic withNotifyStatusJSON-RPC events — requiresrpc_ntf: true - The Gen3 template also includes timestamp-based offline detection (>12h warning, >24h error), which the Gen2 template does not implement