Edge Shelly drivers for Gen1 and Gen2 Devices

It varies by device type, but for UNI it would include temp, humidity, voltage, and wifi signal strength. Relay and input states should be asynchronously sent by the device. If for whatever reason they aren’t, then the next poll for all state update would catch it.

Okay, thanks. That’s an important detail to know.

Regarding the Shelly UNI, I’m seeing some device labels coming into SharpTools that appear to be incorrect. Based on testing, what is labelled as input1 is actually Input 2 and relay1 is actually Relay 2. If you look at the attributes below, main text is Input 1 and input1 text is Input 2. Likewise for main switch (Relay 1) and relay1 switch (Relay 2). On routines in SmartThings they are labelled correctly.

We didn’t use the component.label when syncing components in SharpTools as we were seeing all sorts of issues with it at the time we introduced multi-component support, so instead we opted to generate the label for the component ‘Thing’ in the format:

{device.label} ({component.id})

Keep in mind that components in SmartThings ultimately get mapped over to their own ‘Things’ in SharpTools to fit our multi-platform taxonomy, so having the full context of the device + component is helpful from a user perspective.

If I’m understanding you correctly, it sounds like you have something like the following in SmartThings:

  • Device: “My Switch”
    • Component: id = “main”, label = “Relay 1”
    • Component: id = “relay1”, label: “Relay 2”

As alluded to above, one problem with using the component labels is various devices/drivers have implemented this in a variety of ways. :grimacing:

For example, one multi-component switch device uses very short labels that would need to have the context of the Device label to make sense. In other words, a simple label of switch1 wouldn’t make sense for a standalone ‘Thing’, so it needs to be enriched with the Device name.

  • Device: “Evalogik Dual Switch”
    • Component: id = “main”, label = “main”
    • Component: id = “switch2”, label: “switch2”

Whereas Aeon Minimotes use verbose component labels that include the thing label.

  • Device: “Josh’s Minimote”
    • Component: id = “main”, label = “Josh’s Minimote”
    • Component: id = “button1”, label: “Josh’s Minimote button 1”
    • Component: id = “button2”, label: “Josh’s Minimote button 2”
    • Component: id = “button3”, label: “Josh’s Minimote button 3”
    • Component: id = “button4”, label: “Josh’s Minimote button 4”

Unfortunately, there’s not a consistent heuristic here for using the label as standalone or prepended with the Thing label, which is what led to the use of the component id which is readable and consistent when using the naming convention mentioned at the top.

1 Like

Thanks for the explanation. Not really an issue now that I understand it, it was just confusing when I first looked at it, and I wanted to flag it for others. Just need to start counting at zero instead of 1 and it all makes sense. :blush:

1 Like

I just bought 4 of SHELLY-PLUS-S. These will only show up as a switch in smartthings. The older type have no problems showing up with correct entities. Anyone have/had the same problem? Tried to google it but keep coming back to this tread.

I mean these:

Hi - I know you’re referring to the standard cloud support for Shelly devices within SmartThings, and I don’t have any answers for you regarding that. But I just wanted to say that my local Edge driver doesn’t currently support this particular product, as it’s fairly new. If you or anyone else has a need for supporting this device in my Edge driver, let me know and I can look into adding it.

1 Like

It would be awesome if you could add support for it :slight_smile: I dont get why shelly advertise it to work with smartthings and it doesnt. It kinda pisses me off buying 4 of them. Thanks for your work.

Tell me more about how you want to use the device. It’s basically the same as a plug device, which is straight forward; but I see that it also has LEDs included on it. Do you need to be able to control those LEDs and/or see the status of them in SmartThings?

What did Shelly support say? They are the ones who created the official cloud to cloud integration, and if they’re advertising compatibility, they should know how to make it work. :thinking:

1 Like

My old plugs have this in the device info: c2c-switch-power. Id be happy with that function.
Leds and internal pcb tempratur isnt something i care to much about.

Im also awaiting reply from Shelly.

If all you need is a simple switch, that makes things easy.

FYI there was a developer relations guy from Shelly on this forum a couple months ago and I was corresponding with him on email. He was interested in promoting my driver and helping to answer any questions I might have and even indicated he might be able to get me some devices for testing. But unfortunately he’s gone silent so they may have eliminated the position. :face_with_diagonal_mouth:

To clarify the switch funktion works, its just lacking the power metering function :slight_smile:

1 Like

Hi @TAustin,

I have couple questions… I got new Shelly Plus 1PM and I’m using it to control my hot tub.
First, would it be possible to have option or driver for plus 1PM to not able to control relay state? I wan’t to avoid situation where I accidentally turn my supply OFF because then tub heater must started manually.
Second, should power factor measurement work for plus 1PM? With my setup it’s showing 0% all the time, I assume it should be close to 100% because heater is resistive load…

I could possibly add a device Settings option to disable the switch control.

Yes, if the device is providing it in its data, then it should be displayed. Are you able to see a different power factor value when you use the Shelly app?


It would be great if you can add this kind of option.

Shelly app doesn’t show power factor or apparent power for Plus 1PM, I think this is reason why power factor is always shown 0%. I just assume that it is not shown if it ain’t working :wink:

One thing that is important to understand is that not all fields are instantly updated. Only certain states are reported in an asynchronous manner by the device (namely, the relay and input states). Other fields won’t get updated until a explicit refresh is performed by the driver. The driver does do an automatic refresh of everything pretty much whenever any update is received from the device, so you will usually see everything updated with the latest values. I mention all this with the thought that if there is some kind of lag with power factor values being computed by the device, it might be necessary to perform a manual refresh (swipe-down gesture on the device Controls screen) to see the latest value.

Got information from Shelly…
Dear Jonny Karlsson, Please provide credentials for your account. Change your password for something easy like shelly1234 so our devs can login and investigate.

No, just noooo
I rather just buy another product. Granted im kinda tired of Shelly atm. Bought their shelly window 2…Device locked to another user… I mean wtf

That’s frustrating.

Do you still want the Shelly Plus S support in my driver? I hope to have that done this week if you are still wanting it.

1 Like

For sure :slight_smile: Shellys idea of support is just retarded. I just want my plug to work and show energy. Their idea of support is just horrible…Picture, Movie and then ask my to change login. Thats not normal :slight_smile: