---
title: "Shelly Plug S"
description: "Shelly Plug S Wi-Fi smart plug with energy metering. Monitor power consumption and control appliances remotely via HTTP from TapHome."
url: "https://taphome.com/en/compatibility/shelly-plug-s/"
language: en
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","smart-plug","electric-meter","wifi","relay","power-metering"]
  questions: ["How to integrate Shelly Plug S with TapHome?","What does the Shelly Plug S TapHome template measure?","How to connect Shelly Plug S via HTTP to TapHome?","Why does Shelly Plug S show zero power readings?","Can TapHome monitor the internal temperature of Shelly Plug S?","What happens when Shelly Plug S overheats?"]
---

# Shelly Plug S

Communication: Packet Parser → HTTP

- [Shelly Plug S Knowledge Base](https://kb.shelly.cloud/knowledge-base/shelly-plug-s)

The Shelly Plug S is a compact Wi-Fi smart plug with built-in power metering. It plugs directly into a wall outlet and can switch loads up to 10 A (2300 W at 230 V). TapHome communicates with the device over HTTP on the local network — no cloud connection is required.

The template provides on/off relay control, an energy meter that reads real-time power consumption and cumulative energy usage, and internal temperature monitoring.

## Configuration

The Shelly Plug S communicates over HTTP on port 80. No special protocol setup is required — enter the device's IP address as the connection endpoint in TapHome.

## Device capabilities

### Relay control

The template exposes the plug relay as a switch device. The relay state is read from `/settings/relay/0` (`ison` field) and controlled via the `/relay/0` endpoint with `turn=on` or `turn=off`. The poll interval for the switch is 1 second.

> [!NOTE]
> The template reads the switch state from `/settings/relay/0` (persistent configuration) rather than `/status` (live state). Both return the same value under normal conditions, but `/settings` may have slightly stale data after rapid toggling.

### Power metering

The built-in energy meter reads two values from the `/meter/0` endpoint:

- **Real-time power** — `power` field reported in watts, converted to kW by the template
- **Total consumption** — `total` field reported in watt-minutes, converted to kWh by the template

The meter is read-only and updates every 15 seconds (configurable poll interval).

### Temperature monitoring

The Switch device includes a service attribute that reads the internal temperature of the plug from the `/status` endpoint. This allows monitoring the device temperature directly in TapHome without additional configuration.

### Additional capabilities

The Shelly Plug S API also exposes an overtemperature flag (automatic relay shutdown at ~95 °C), LED control, configurable overpower protection threshold (default 2300 W), auto-off timer, WiFi signal strength (RSSI), and a device reboot endpoint. These can be added in a future template update.

## Troubleshooting

### Device not responding

1. Verify the Shelly is connected to Wi-Fi and has a valid IP address
2. Try using the mDNS hostname (`shellyplug-s-AABBCCDDEE.local`) instead of the IP address — the IP may have changed after a DHCP renewal
3. Open `http://{device-ip}/shelly` in a browser — if it responds, the device is reachable
4. Check that TapHome CCU and Shelly are on the same network / VLAN

### Power readings show zero

1. Confirm the appliance plugged into the Shelly Plug S is turned on
2. Check that the relay is switched on — the meter only reads when current flows
3. Poll `/meter/0` manually and verify the `power` field returns a non-zero value

### Overtemperature shutdown

The Shelly Plug S has internal thermal protection. If the device temperature exceeds ~95 °C, the relay automatically shuts off. Ensure adequate ventilation around the plug, especially when switching high-wattage appliances.

> [!WARNING]
> Gen1 Shelly devices support only **2 concurrent HTTP connections**. If TapHome and another system (e.g., Home Assistant) poll the same device simultaneously, communication may become unreliable. If another system polls the device as well, increase the template poll intervals (1 s for the switch, 15 s for the meter by default) to reduce connection contention.

## How to install in TapHome

### Prerequisites

- Shelly device installed and powered on
- Local Wi-Fi network (2.4 GHz)
- TapHome CCU on the same network

### Step 1 — Connect Shelly to Wi-Fi

**Option A — Shelly app (recommended):**

1. Download the [Shelly app](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Tap **+** → **Add Device** and follow the Bluetooth pairing wizard
3. Enter your Wi-Fi credentials when prompted

**Option B — AP mode (no app):**

1. On first power-up the device creates a hotspot: `ShellyXXX-AABBCCDDEE`
2. Connect your phone/PC to that hotspot
3. Open `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Enter SSID and password → **Save**

> [!NOTE]
> Shelly only supports **2.4 GHz** networks. 5 GHz networks will not appear in the scan.

### Step 2 — Find the device address

Shelly Gen1 devices support **mDNS** (Zeroconf). You can reach the device using a hostname instead of an IP address:

```
shelly<model>-<MAC>.local
```

For example: `shelly1pm-AABBCCDDEE.local` (MAC address in uppercase hex, no colons).

> [!TIP]
> **Recommended: use the TapHome IP Scanner.** Open the TapHome app and use the **IP Scanner** (Settings → Network → Scan). The scanner will discover devices on your network and show both the IP address and the mDNS hostname. Use the **hostname** instead of the IP address for a more reliable connection — it stays the same even if the device's IP changes after a router reboot.

**Alternative methods** to find the IP address:

- **Shelly app:** Device detail → **Device info** → IP address
- **Shelly web UI:** Connect to the device AP before Wi-Fi setup — the IP is shown after saving
- **Router DHCP table:** Look for a hostname like `shelly1pm-AABBCCDDEE`

### Step 3 — Configure in TapHome

1. In TapHome, add a new **Packet Parser (HTTP)** module
2. **Address:** enter the mDNS hostname (e.g., `shelly1pm-AABBCCDDEE.local`) or IP address from Step 2
3. **Port:** `80` (default, no change needed)
4. Import the template — TapHome will poll `/status` to read device state

> [!NOTE]
> HTTP authentication is disabled by default on Shelly devices. If you have enabled login protection, TapHome does not support HTTP Basic Auth at this time — keep auth disabled for TapHome integration.

## Available devices

Shelly Plug S Module

Custom Variables

Electric Meter Electricity Meter Read-only

Power consumption and energy metering — instantaneous power (kW) and cumulative energy (kWh)

numeric Unit: kW / kWh

Switch Switch

boolean

Values / States: ON · OFF

**Connection:** Packet Parser → HTTP • Hostname: `shellyplug-s-{MAC}.local`

Possible improvements (7)

- Live relay state — Template reads from /settings/relay/0 instead of /status — /status has real-time state
- Overtemperature flag — Boolean flag in /status, triggers automatic relay shutdown at ~95°C
- LED control — Enable/disable status LED via settings endpoint
- Overpower protection threshold — Configurable maximum power limit (default 2300W), could be a service action
- Auto-off timer — Auto-off timer in seconds, could be added as switch parameter
- WiFi signal strength — WiFi RSSI in dBm, available in /status response
- Reboot — Device reboot endpoint, could be added as service action

## Sources

- Shelly Gen1 API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/) 2026-03-12
- Shelly Gen1 General Setup
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-devices-general-setup) 2026-03-12
- Shelly Gen1 HTTP Integration
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-http-integration) 2026-03-12
- Shelly Plug S Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-plug-s) 2026-03-13
- Shelly Plug S API Endpoints
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-plug-plugs) 2026-03-13

## Related Documentation

- [Packet Parser Integration](https://taphome.com/en/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/en/docs/integration/packet-parser/)
- [Packet parser functions](https://taphome.com/en/docs/script/packet-parser/)
- [Parsing functions](https://taphome.com/en/docs/script/parsing-functions/)

