TapHome

Shelly PM Mini Gen3

Packet Parser → HTTP
Submitted by
Last updated: 03. 2026
Shelly PM Mini Gen3

The Shelly PM Mini Gen3 is an ultra-compact Wi-Fi power monitor (29 x 34 x 16 mm) that passively measures electrical consumption up to 16 A / 3840 W at 240 VAC. Unlike the Shelly 1PM Gen3, the PM Mini Gen3 has no relay — it cannot switch loads. It is installed in-line with the monitored circuit and measures current flowing through its terminals.

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. The template polls the PM1 component endpoint (/rpc/pm1.GetStatus?id=0) for all power metering data.

Configuration

The Shelly PM Mini 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 (1–1.5 seconds). Disable ECO mode in the Shelly web UI if you experience intermittent connectivity issues.

Device capabilities

Power metering

The built-in energy meter reads two values from the /rpc/pm1.GetStatus?id=0 response:

  • Real-time powerapower reported in watts, converted to kW by the template
  • Total consumptionaenergy.total reported in watt-hours, converted to kWh by the template

The meter also exposes two service attributes:

  • Electric current — load current in amperes (current field)
  • Electric voltage — supply voltage in volts (voltage field)
Individual sensors

The template provides three standalone sensor devices read from the same PM1 endpoint:

  • Current [A] — RMS current in amperes
  • Voltage [V] — RMS voltage in volts
  • Frequency [Hz] — AC line frequency in hertz

All sensors are read-only and update automatically with every poll cycle (1.5-second interval for individual sensors, 1-second for the energy meter).

The PM1 component does not expose power factor (pf) or internal temperature — unlike the Switch component used on relay models such as the Shelly 1PM Gen3.

Additional capabilities

The Shelly PM Mini Gen3 also exposes per-minute energy data (aenergy.by_minute), WiFi diagnostics (SSID, IP, RSSI), device MAC address, uptime, RAM usage, and device time in its RPC responses. Firmware can be updated via /rpc/Shelly.Update and the device can be rebooted via /rpc/Shelly.Reboot. The device also functions as a BLE Gateway, bridging Shelly BLU sensors to the local network. These capabilities 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 (shellypmmig3-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 Core and Shelly are on the same network / VLAN
  5. Confirm authentication is disabled on the Shelly device
Power readings show zero
  1. Confirm the load is connected through the PM Mini Gen3 (current must flow through the device terminals)
  2. Verify the circuit is energized — the PM Mini Gen3 has no relay, so it monitors whatever flows through the wire
  3. Poll /rpc/pm1.GetStatus?id=0 manually in a browser and verify apower returns a non-zero value
  4. Check that the load is actually drawing power — a standby appliance may show near-zero readings

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.

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 PM Mini Gen3 Module
Custom Variables
Current Variable Read-only
numeric Unit: A

Current

Read
return(parsejson(status,"current"));
Electric Meter Electricity Meter Read-only

Power consumption and energy metering — instantaneous power (kW) and cumulative energy (kWh) with current and voltage readings

numeric Unit: kW / kWh
Service Attributes
Electric current
Electric voltage

Electric Meter

Read total consumption
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
Read demand
return(parsejson(status,"apower")/1000);
Read (module)
var x := (sendhttprequest("/rpc/pm1.GetStatus?id=0"));
status := x.Content;
Service Attributes
${current} [a]
return(parsejson(status,"current"));
${electric_voltage} [v]
return(parsejson(status,"voltage"));
Frequency Variable Read-only
numeric Unit: Hz

Frequency

Read
return(parsejson(status,"freq"));
Voltage Variable Read-only
numeric Unit: V

Voltage

Read
parsejson(status,"voltage")
Connection: Packet Parser → HTTP
Possible improvements (8)
  • Energy by Minute — Energy data array per minute, available in pm1.GetStatus response — useful for detailed consumption graphs
  • WiFi Status (SSID, IP, Signal) — WiFi connection info; template has no module-level service_attributes — could be added for diagnostics
  • MAC Address — Device MAC address from Sys.GetStatus, not polled in current template
  • 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
  • Update Firmware — Firmware update via RPC; template has no module-level service_actions
  • Reboot — Device reboot via RPC; template has no module-level service_actions

Sources