
The Shelly 1PM Gen3 is a compact Wi-Fi relay switch with built-in power metering. 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 (at 24–30 V DC). TapHome communicates with the device over HTTP using the Gen2+/Gen3 JSON-RPC 2.0 API on the local network — no cloud connection is required.
Unlike the original Shelly 1PM (Gen1), which uses a REST API with the /status endpoint, the Gen3 version uses the RPC API with method calls such as /rpc/Switch.GetStatus. The Gen3 hardware features a faster ESP processor with 8 MB flash, supports up to 6 concurrent HTTP connections (vs 2 on Gen1), and is Matter-upgradeable.
The template provides relay control and an energy meter that reads real-time power consumption and cumulative energy usage.
Configuration
The Shelly 1PM Gen3 connects over Wi-Fi. During TapHome template import, enter the device’s IP address (default placeholder 192.168.0.1).
Authentication must be disabled on the Shelly device for TapHome integration. TapHome does not support HTTP Digest Auth used by Gen2+/Gen3 devices. Open the Shelly web UI (
http://{device-ip}) → Settings → Authentication and ensure it is turned off.
If ECO mode is enabled on the Shelly device, it may cause communication timeouts due to the fast poll intervals used by the template (2.5–3 seconds). Disable ECO mode in the Shelly web UI if you experience intermittent connectivity issues.
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&on=true or on=false.
Power metering
The built-in energy meter reads two values from the /rpc/Switch.GetStatus?id=0 response:
- Real-time power —
apowerreported in watts, converted to kW by the template - Total consumption —
aenergy.totalreported in watt-hours, converted to kWh by the template
The meter also exposes three service attributes:
- Electric current — load current in amperes (
currentfield) - Electric voltage — supply voltage in volts (
voltagefield) - Temperature — internal device temperature in °C (
temperature.tCfield)
The meter is read-only — it updates automatically with every poll cycle (15-second interval).
Service diagnostics
The template exposes module-level service attributes for device monitoring:
- WiFi — connected SSID name
- IP address — current station IP
- Signal strength — WiFi RSSI in dB
- MAC — device MAC address
The module read script also checks for available firmware updates and pending restart requirements, surfacing these as warnings in the TapHome interface.
Service actions
Two service actions are available at the module level:
- Update firmware — triggers a firmware update to the latest stable release via
/rpc/Shelly.Update - Reboot — triggers a device reboot via
/rpc/Shelly.Reboot
Additional capabilities
The Shelly 1PM Gen3 also exposes power factor, network frequency (Hz), returned/exported energy counters, physical input state (input:0), device uptime, RAM usage, and device time in its RPC responses. An auto-off timer is available via the toggle_after parameter, and overpower protection can be configured via Switch.SetConfig → power_limit. Energy counters can be reset via /rpc/Switch.ResetCounters. These capabilities can be added in a future template update.
Troubleshooting
Device not responding
- Verify the Shelly is connected to Wi-Fi and has a valid IP address
- Try using the mDNS hostname (
shelly1pmg3-AABBCCDDEE.local) instead of the IP address — the IP may have changed after a DHCP renewal - Open
http://{device-ip}/rpc/Shelly.GetDeviceInfoin a browser — if it responds with JSON, the device is reachable - Check that TapHome Core and Shelly are on the same network / VLAN
- Confirm authentication is disabled on the Shelly device
Power readings show zero
- Confirm the load is connected through the Shelly relay (not bypassed)
- Check that the relay is turned on — the meter only reads when current flows through the relay
- Poll
/rpc/Switch.GetStatus?id=0manually and verifyapowerreturns a non-zero value
Overtemperature warning
The Shelly 1PM Gen3 has internal thermal protection. If the device temperature exceeds safe limits, the temperature reading in the meter service attributes will increase. Ensure adequate ventilation around the device, especially when switching high loads continuously.
Gen2+/Gen3 Shelly devices support up to 6 concurrent HTTP connections. While this is a significant improvement over Gen1 (2 connections), avoid polling from too many systems simultaneously (TapHome, Home Assistant, custom scripts) to prevent connection exhaustion.