TapHome

Shelly Plus 1

Packet Parser → HTTP
Submitted by
Last updated: 03. 2026
Shelly Plus 1

The Shelly Plus 1 is a compact Wi-Fi relay switch with potential-free contacts. It fits behind a standard wall switch and can control one circuit up to 16 A (3500 W at 230 V AC) or 10 A (30 V DC). The device supports a wide range of power supplies — 110-240 VAC, 24-48 VDC, or 12 VDC — making it suitable for both mains-powered and low-voltage installations. TapHome communicates with the device over HTTP using the Gen2+ RPC API on the local network — no cloud connection is required.

The template provides a single relay switch. Unlike the Plus 1PM, this device does not have built-in power metering.

Configuration

The Shelly Plus 1 connects over Wi-Fi. During TapHome template import, enter the device’s IP address (default placeholder 192.168.0.1).

The device uses the Gen2+ JSON-RPC API. All communication happens over HTTP GET requests to /rpc/ endpoints on port 80.

Device capabilities

Relay control

The template exposes the relay as a switch device. The relay state is read from the /rpc/Switch.GetStatus?id=0 response (output field, boolean) and controlled via /rpc/Switch.Set?id=0 with on=true or on=false.

The poll interval is 2.5 seconds, providing near-real-time state feedback in TapHome.

Additional capabilities

The Shelly Plus 1 also exposes internal relay temperature, physical switch input state, device MAC address, uptime, RAM usage, device time, IP address, WiFi SSID, and WiFi signal strength through its RPC API. An auto-off timer (toggle_after parameter) and device reboot/firmware update actions are also available. These capabilities can be added in a future template update.

The Shelly Plus 1 does not have power metering. If you need energy monitoring, use the Shelly Plus 1PM instead — it has the same form factor and relay capabilities but adds instantaneous power, voltage, current, and cumulative energy readings.

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 (shellyplus1-AABBCCDDEE.local) instead of the IP address — the IP may have changed after a DHCP renewal
  3. Open http://{device-ip}/rpc/Shelly.GetDeviceInfo in a browser — if it responds with JSON, the device is reachable
  4. Check that TapHome CCU and Shelly are on the same network / VLAN
  5. Ensure HTTP Digest Authentication is disabled in the Shelly web UI — TapHome does not support authenticated requests
Relay does not switch
  1. Confirm the switch input mode in the Shelly web UI (in_mode setting) — if set to detached, the physical switch will not affect the relay, but HTTP commands should still work
  2. Poll /rpc/Switch.GetStatus?id=0 manually and verify the output field changes when toggling
  3. Check the source field in the status response to see what last controlled the relay
Slow response or timeouts
  1. Gen2+ devices support up to 6 concurrent HTTP connections (vs. 2 on Gen1) — but avoid excessive polling from multiple systems
  2. Disable ECO mode in the Shelly web UI if enabled — it puts the device to sleep between polls and can cause timeouts with short poll intervals
  3. Use a static IP or DHCP reservation to prevent address changes

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 (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.1Internet & SecurityWi-Fi Mode - Client
  4. Enter SSID and password → Save

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:

1
shelly<model>-<MAC>.local

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

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

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 Plus 1 Module
Custom Variables
status (string)
Switch Switch

Single-channel relay control — on/off switching via RPC API

boolean
Values / States: ON · OFF

Switch

Read switch state
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
status := x.Content;
return(PARSEJSON(status, "$.output", true));
Write switch state
VAR response := SENDHTTPREQUEST("rpc/Switch.Set?id=0&on=" + if(St,"true","false"));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
Connection: Packet Parser → HTTP
Possible improvements (12)
  • Switch Temperature — Internal relay temperature in °C, available in Switch.GetStatus response
  • Input State — Physical switch/button input state, available via /rpc/Input.GetStatus?id=0
  • MAC Address — Device MAC address, available in Sys.GetStatus response
  • Uptime — Seconds since last reboot, available in Sys.GetStatus response
  • RAM Usage — Total and free RAM in bytes, available in Sys.GetStatus response
  • Device Time — Current device time in HH:MM format, available in Sys.GetStatus response
  • IP Address — Device station IP address, available in WiFi.GetStatus response
  • WiFi SSID — Connected WiFi network name, available in WiFi.GetStatus response
  • WiFi Signal Strength — WiFi RSSI in dBm, available in WiFi.GetStatus response
  • Auto-off Timer — Auto-reset timer in seconds via toggle_after parameter, could be added as switch parameter
  • Reboot — Triggers device reboot, could be added as service action
  • Firmware Update — Initiates OTA firmware update to stable or beta channel

Sources