HomeReviewShelly 1 - brilliant software, flawed hardware

Shelly 1 – brilliant software, flawed hardware

This should never be this hard

Apparently, I have friends in the right spaces (sic!), even though my review request for Shelly devices hasn’t been answered, the hackspace friend, Andy let me play with his Shelly 1 device. I hope the Shelly 1 survives my poking about and Andy won’t regret his choices! I actually made a similar device a while back – it stills hangs off my ceiling!

What’s Shelly 1

If you know Sonoff, it won’t take much to explain the Shelly 1 device. Apart from being a smart switch, it also does one important thing: it lets you toggle the state of the Shelly 1 with a wall switch.

Unlike other devices properly fitted Shelly 1 allows controlling the outlet via the internet AND the existing switch. If you are using Shell 1 to control a ceiling light, you can still toggle the light on|off with the wall switch without disabling the internet connectivity (which is the case if you use smart bulbs like Yeelight).

It’s a direct competition to Sonoff Mini (review) so when it comes to these switches you have options. I have a post running these side by side for you (soon).

Shelly 1 specs

Let’s take a look at the spec sheet first to see what are we dealing with:

  • 16A 110-265V, 50/60Hz AC or 16A 12V DC, 24 – 60V DC
  • Dimensions (LxWxH): 41 x 36 x 17 mm
  • Operational temperature: 0 to + 40 °C
  • Wireless/WiFi Protocol: 802.11 b/g/n
  • Alexa & Google Assistant compatible

Shelly 1 is tiny and should fit without any problems behind the wall switch or light fitting.

Buy Shelly 1

Buy it using these links to support NotEnoughTech.

Hardware and installation

Take extra care, you are dealing with a high voltage which is deadly. Turn off the power supply before you fit the Shelly 1.

Hardware design awkward at best. I absolutely appreciate the form factor, but whoever was in charge of the design is not an electrician for sure. Shelly 1 comes with 5 connectors. It’s a number that hardly makes sense and here is why:

  • the installer (you) have to split 220V/110V live into 3 cables
  • the installer (you) have to split 220V/110V neutral into 2 cables

This has very little logical sense as you usually get:

  • L|N main cable (and earth)
  • L|N loop for the switch
  • L|N loop for the bulb

Don’t get me wrong, splicing cables isn’t impossible, I’m handy with tools and I still don’t feel comfortable splitting a 220V cable three-way and the only safe method I can think of are WAGO type connectors which just add to the final cost of installation and increase the chance that you will run out of space. It’s a disappointment that Shelly 1 didn’t go Sosnoff Mini way and got us 6 terminals to make it all work.

Another strange design decision was to glue the enclosure together. There is a jumper switch (12 -220V control) inside, which can be only accessed if you open up the enclosure. Since the case is glued up together, you have to be extra careful not to break the plastic when opening it.

Installing near the switch

To install Shelly 1 you have to check how are your lights wired. Turn off the lights using breakers, then open up the wall switch. If you see live and neutral going in as well as going out. Shelly 1 should be mounted inside the wall behind the switch.

Installing near the light fitting

If you only see only two wires (sometimes earth cable as well) connected, your lights are fed through the ceiling and your Shelly 1 has to go inside the light fitting hole.

Extra cables?

Lights are usually done on a separate loop. They tend to be connected with each other, so you are likely to find another mains cable to continue the loop. If you break the loop (I have done so the first time around) you will still enjoy the Shelly 1, just not the lights elsewhere.


I used push-in clips and extra wires to safely add the Shelly 1 device to my ceiling light. Unfortunately, this takes up a lot of space. If you don’t have enough space underneath your light fixture or a wall switch, you might be better off calling in a professional to split your high voltage cables.

Consider using soft wires so you could bend it well and tin the ends with solder to prevent the wires from slipping out from the push-in clips.


What Shelly 1 lacks in hardware dept, completely makes it up with software implementation. Shelly 1 comes with:

*using it will disable Shelly Cloud and therefore Alexa and Google Assistant features.

The software (webserver and the app) is feature-rich and it comes with REST API that can be used alongside the smart speakers (looking at you Sonoff DIY Mode). It’s great, as unlike Sonoff devices, you can use the Alexa, Google Assistant and the designated app alongside controls form Home Assistant, NodeRED and pretty much anything else that supports HTTP requests.

Sadly MQTT is gated, and enabling this option will disable the smart speaker integrations.


Hats off to the person coding the switch behaviour. Simple ON|OFF would be nice but Shelly 1 comes with a list of possible behaviours.

  • toggle\push button behaviour
  • reading the state of the physical state
  • edge detection

I settled for the edge detection, so flipping the wall switch in any direction will toggle the opposite status. Options are simply brilliant and I have no doubt you will find the best setting for yourself.


The REST API is well explained. The documentation insists on the use of JSON in the examples which lead me into the false assumption I could use the JSON to send the data to Shelly 1.

No such thing. When passing control commands, send it as string and use: "turn=on" format rather than correctly formatted JSON: {"turn":"on"}. I wasted an hour trying to figure out why I cannot control my Shelly 1. If you are in charge of making documentation for any API – please ALWAYS provide an example!

NodeRED sample for Shelly 1
[{"id":"6dd6c358.8384cc","type":"inject","z":"5918ab24.3ed1a4","name":"ON","topic":"","payload":"on","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":230,"y":160,"wires":[["9e4eaed9.bf162"]]},{"id":"9e4eaed9.bf162","type":"function","z":"5918ab24.3ed1a4","name":"turn on/off","func":"var x = msg.payload;\nvar IP = \"\";\nmsg.url= \"http://\"+ IP + \"/relay/0\";\n\nmsg.payload = \"turn=\" + x;\nreturn msg;","outputs":1,"noerr":0,"x":420,"y":200,"wires":[["91dfc63e.4fc608"]]},{"id":"91dfc63e.4fc608","type":"http request","z":"5918ab24.3ed1a4","name":"","method":"POST","ret":"obj","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":590,"y":200,"wires":[["bc4f05f0.b71cd8"]]},{"id":"bc4f05f0.b71cd8","type":"debug","z":"5918ab24.3ed1a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":750,"y":200,"wires":[]},{"id":"ce7dbc38.8e8ee","type":"inject","z":"5918ab24.3ed1a4","name":"OFF","topic":"","payload":"off","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":237,"y":248,"wires":[["9e4eaed9.bf162"]]},{"id":"1636e43c.ad812c","type":"function","z":"5918ab24.3ed1a4","name":"status","func":"\nvar IP = \"\";\nmsg.url= \"http://\"+ IP + \"/status\";\n\n\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":80,"wires":[["9231bcbc.391f2"]]},{"id":"9231bcbc.391f2","type":"http request","z":"5918ab24.3ed1a4","name":"","method":"POST","ret":"obj","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":590,"y":80,"wires":[["c188708b.5d4be"]]},{"id":"c188708b.5d4be","type":"debug","z":"5918ab24.3ed1a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":750,"y":80,"wires":[]},{"id":"b26ecfeb.8c3b2","type":"inject","z":"5918ab24.3ed1a4","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":220,"y":80,"wires":[["1636e43c.ad812c"]]}]

Custom Software

Due to Shelly 1 design GPIO pins share HIGH VOLTAGE when the device is powered via mains! Do not use GPIO when the device is connected to mains.

Shelly 1 is ESP based, so you can flash it with custom code to make it work for you. Frankly speaking, since the MQTT is there in “offline” mode for privacy freaks, HTTP comes as standard, and there are no extra GPIO pins to extend its functionality I find it rather pointless.

Especially that, you can set custom HTTP requests directly from the app when a switch is pressed or state of the device changes.

Buy Shelly 1

Buy it using these links to support NotEnoughTech.


As much as I love what they did with software, I struggle to give my recommendation. The installation process is a hurdle. I’m confident enough to make it work for me, but it should never be so difficult. The true cost of the Shelly 1 device isn’t the €10 per unit, is the added cost of an electrician installing it for you, and that can turn into a very journey quickly!

Note to Shelly guys: take a look at Sonoff Mini and make the Shelly 1 v2.0. If you have any comments or questions – leave it in this Reddit thread.




This product has been sponsored by shelly.cloud, but I reserve the rights to a honest and unbiased opinion about the product.

Sponsored byreview


Other reviews

One switch for all your needs? Shelly 1L

Shelly 1L can be installed in no--neutral and live and neutral configurations. Check out what else it brings to the table

Soldering just got better: MiniWare TS80P

Is TS80P soldering iron an upgrade worth considering?

Insta360 ONE X2 bends all perspectives

Insta360 ONE X2 is the camera you should seriously consider, if not for 360 videos or stabilised action shots, then for the full joy of use!

Is Aqara T1 ZigBee switch all I asked for?

Aqara introduces 2 new switches Aqara T1 ZigBee switch in no-neutral and L & N configurations

Bulletproof – IMOU Bullet 2E

Surprisingly big sturdy and with Power over Ethernet as an option! I'm taking a look at #IMOU #Bullet2E IP camera and I will show you how to use it with NVR via RTSP.

Xiaomi Mi Watch: all good, except it’s not a smartwatch.

Xiaomi Mi Watch is the latest wearable from the Chinese giant. While looking like a smart watch it shares more with smart bands.

No more hubs: Aqara G2H

Aqara G2H brings the power of ZigBee sensors to an IP camera.