---
title: "Shelly PM Mini Gen3"
description: "Monitor power, voltage, current and frequency via HTTP RPC API. TapHome integration template for Shelly PM Mini Gen3 — compact Wi-Fi power meter, no relay."
url: "https://taphome.com/en/compatibility/shelly-pm-mini-gen3/"
language: en
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["http","electric-meter","wifi","power-metering","mdns"]
  questions: ["How to integrate Shelly PM Mini Gen3 with TapHome?","What does the Shelly PM Mini Gen3 TapHome template measure?","How to connect Shelly PM Mini Gen3 via HTTP to TapHome?","What is the difference between Shelly PM Mini Gen3 and 1PM Gen3 in TapHome?","Why does Shelly PM Mini Gen3 show zero power readings?","Can Shelly PM Mini Gen3 switch loads or is it monitor only?"]
---

# Shelly PM Mini Gen3

Communication: Packet Parser → HTTP

- [Shelly PM Mini Gen3 Product Page](https://www.shelly.com/en/products/shop/shelly-pm-mini-gen3)

> Network address
> 
> TapHome reaches this device at the address entered on import. Give the device a fixed address — an IP reservation in the router, or its mDNS name if it supports one — otherwise the integration stops working when the router changes the address.
> 
> [Network Preparation](https://taphome.com/en/docs/setup/network-preparation/)

## Integration guide

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`).

> [!WARNING]
> 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.

> [!NOTE]
> 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 power** — `apower` reported in watts, converted to kW by the template
- **Total consumption** — `aenergy.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).

> [!NOTE]
> 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

> [!WARNING]
> 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](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 4

These devices appear in TapHome after import.

Shelly PM Mini Gen3 Module

Custom Variables

Current Variable Read-only

numeric Unit: A

Read

```taphome
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 |

Read total consumption

```taphome
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
```

Read demand

```taphome
return(parsejson(status,"apower")/1000);
```

Read (module)

```taphome
var x := (sendhttprequest("/rpc/pm1.GetStatus?id=0"));
status := x.Content;
```

Service Attributes

${current} \[a]

```taphome
return(parsejson(status,"current"));
```

${electric\_voltage} \[v]

```taphome
return(parsejson(status,"voltage"));
```

Frequency Variable Read-only

numeric Unit: Hz

Read

```taphome
return(parsejson(status,"freq"));
```

Voltage Variable Read-only

numeric Unit: V

Read

```taphome
parsejson(status,"voltage")
```

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

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

## Import parameters

Enter these values when you import the XML.

| Asked in the app | Default       |
|------------------|---------------|
| IP address       | `192.168.0.1` |

## Sources

- Shelly Gen2+/Gen3 RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-27
- Shelly Gen2+ Switch Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch/) 2026-03-27
- Shelly Gen2+ System (Sys) Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-27
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/WiFi/) 2026-03-27
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-27
- Shelly PM Mini Gen3 Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-pm-mini-gen3) 2026-03-29

## 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/)

