Starting with the Shelly Pro 4PM and the Shelly Plus 1 / 1PM not long thereafter, Allterco launched a second generation of Shelly devices. These devices are based on the more powerful ESP32 (compared to the ESP8266 in the 1st Gen devices) and come with some extra features.

Once I get enough experience with the new Plus/Pro series of Shelly, I may dedicate a blog post on these new features and make a comparison between Gen 1 and Gen 2 devices. However, I can already say that I like the extra terminals of the Shelly Plus 1PM. They allow you to continue the existing wire while you’re retrofitting ‘dumb’ switches, without needing to add Wago terminals in an already very cramped space.

In this blog post, I’ll run through setting up a Shelly Plus 1PM and integrating it into Home Assistant using the built-in integration. The process should be similar for other 2nd Generation devices.

Shelly Plus 1PM
© Shelly Cloud - Shelly Plus 1PM

If you want some more information on the Shelly and how to wire it, have a look at an older blog post of mine: Intro into Shelly.

Setting up the Shelly Plus 1PM

Even though Allterco has launched a new mobile app for the Shelly 2nd Gen devices, which includes setting up the device over Bluetooth, I’ll stick to the trusted method of using the Web UI.

Feel free to use the new mobile app to setup the Shelly. If you’re planning on integrating the Shelly in Home Assistant, you probably won’t use the Shelly app as much.

Powering the Shelly

I’d advise doing the initial setup of the Shelly before actually installing it in the wall. To do this, you’ll need an old extension cord (which you cut open), power cord, or other method of getting power to the Shelly while it’s on your workbench.

Hook up Live to one of the L terminals (the Plus 1PM has 3 L terminals) and Neutral to on the N terminals (the Plus 1PM has 2). If you’re powering the Shelly Plus with a DC power supply, make sure you connect DC+ to the N terminal and Ground to the L terminal.

Diagram of Shelly Plus 1PM connected to Live and Neutral
Workbench diagram for Shelly Plus 1PM
Shelly Plus 1 connected to Live and Neutral
Shelly Plus 1 on the ‘workbench’

Connecting to the Web UI

Once the Shelly is powered on, it will begin broadcasting a wireless network named ShellyPlus1PM-[MAC address].

  1. Connect to this network using your smartphone (or tablet, laptop, …). If a pop-up warns you about not having internet access click on “Stay connected”.
  2. Browse to
  3. Open the Networks tab and fill in your WiFi information under Wifi 1.
    Toggle the Enable button and click Apply.
Shelly Plus 1PM WiFi settings
Connecting the Shelly to your WiFi

The Shelly will now connect to your home (or IoT) WiFi network. You can now connect your phone to your home WiFi again and continue the configuration via the Web Interface at the Shelly’s new IP.
To find the IP, look in the DHCP Lease table of your router.

Tip: using HTTP API

Are you preparing multiple devices using the WebUI and you’re getting tired of typing or copy/pasting the WiFi SSID and key over and over again? Use the HTTP to set the WiFi information with 1 URL.

Connect to the Shelly’s AP and go to the following URL (of course, with your own WiFi SSID and key):

  • Shelly 1st Gen:

Configuring the Shelly

Firmware update

Before anything else, the first thing you want to do is updating the Shelly to the latest firmware.

Shelly Plus Firmware Update menu
Checking for firmware updates

Disable Access Point

Now that the Shelly is connected to your home WiFi, it’s a good idea to disable the Access Point of the Shelly. This way, visitors cannot connect directly to the device anymore. If you want to keep the AP available as a backup, at least configure a password.

  1. Open the Networks tab
  2. Click on Access Point to open the menu settings
  3. Toggle the Enable button so it’s turned off.
    Note At this moment there’s a weird quirck in how you disable the AP. DO NOT click on “Apply” as this will re-enable the Access Point.
Shelly Plus Access Point menu
Disabling the Access Point

Configure Channel Name

The Shelly integration will name the entities of the device after the Channel Name, if set. If you don’t manually set one, the entities will be named after the device ID and the default channel name, e.g. ShellyPlus1PM-xxxxxxxxxxxx switch_0.

  1. Open the Channel settings tab
  2. Click on Channel name top open the menu settings
  3. Enter a name and click Apply
Shelly Plus Channel Name menu
Setting the Channel name

Set the Consumption Type

By default the Shelly will be added as a switch. If the Shelly is connected to a light switch, you’ll probably want it to be added as a light. entity.

To do so, set the Consumption Type to Lights.

Shelly Plus Consumption Type menu
Setting the Consumption Type

Input/Output settings

A final, yet important, setting is the input/output behaviour of the Shelly.

What you configure here will depend on the type of switch connected to the Shelly, if any, and the state in which you want the Shelly to power on (e.g. after a power outage).

These settings are found under Channel Settings > Input output settings.

In my case, I connected a button (momentary switch) to the Shelly and I want the Shelly to power on in the “Off” state.

Shelly Plus Input Output Settings menu
Setting button type and power on behaviour

Integrating in Home Assistant

With everything configured, it’s time to integrate the Shelly into Home Assistant. You may want to do this while the Shelly is still at your workbench, so you can hear the relay click etc., you may want to wire it into its final destination already.

Usually, Home Assistant will automatically discover the Shelly once it’s powered up (or rebooted) if mDNS etc. work. If not, you’ll manually need to add a new Shelly integration and enter the Shelly’s IP.

Home Assistant discovered the Shelly Plus 1PM
Home Assistant discovered the Shelly Plus 1PM

Once you either confirm you want to add the automatically discovered Shelly, or you added it manually, a new device will be available under the [Shelly Integration][ha-integrations]. Clicking through on the device will show the usual device page with all the entities that were automatically created for the Shelly. You’ll notice some entities are disabled by default, e.g. device temperature or the firmware update check, you can manually enable these if you want to use them.

The Controls section will hold either a switch. or light. entity based on what you configured before. And the name of the entities will either start with the Channel Name you entered before or the default value.

Home Assistant Device page for the Shelly
Shelly device page in Home Assistant

Notice how the device page also has a Visit Device button. This will bring you straight to the Web UI of the Shelly without you having to look up the device’s IP or hostname.


And that’s it. The Shelly has been set up and is working perfectly via Home Assistant :)

You can now add the switch/light entity to a Lovelace dashboard and easily control whatever the Shelly is connected to. Home Assistant automations and scripts will be able to control your Shelly as well, helping you automate a little bit more of your life.

If you have any questions regarding the Shelly devices, I advise you to check out the Shelly Facebook Page. Questions re. Home Assistant can be asked in the Home Assistant Facebook community.

Now onto the next one :)