Shelly products

Thanks Scott,
I'm pretty new with hubitat and read a bit about all the drama and I felt so bad for you.
I bought Shelly before I know the drama and then I was struck for some time without your driver.
I will check it out now that you posted it again.... I'm very happy about you kind action.
Thanks again :slight_smile:

2 Likes

I don't have any shelly products, and I know you don't care about my opinion, but for what it is worth I think it was very kind and generous of you to post that driver for others to use - you certainly were not obligated to, and had multiple reasons not to.

3 Likes

You're right

Hi everyone, looking for the driver for the shelly dimmer, can anyone help me with that?

Thanks in advance

One is now built into the platform, introduced in 2.2.0 (a month and some weeks old now, but if you happen to be on old firmware, you won't see it). The process to add a device goes something like manually adding a "virtual" device to Hubitat, then filling in the required fields (like IP address) in the driver after you choose the correct driver ("Type:") from the list.

Many thanks for your reply. That built in integration its great, very easy.

Have a nice weekend!

I'm using the native drivers but am having issues getting status back from the Shelly dimmer. I can turn the dimmer on/off successfully from Hubitat, but no status will report back.

It appears to be configured correctly on the Hubitat and Shelly, but I get this error message after I turn the Shelly on/off and I don't receive any status update. I'm also on the latest firmware for Hubitat and Shelly.

Screen Shot 2020-06-06 at 1.10.10 PM

I shall be including direct Shelly discovery and support into the MQTT app in a future version (as long as you have the MQTT integration enabled on your Shelly devices). Haven't explored which devices will be supported yet but at least the ones I own. Unfortunately on MQTT I can't see anything that tells me what sort of device it is like a device 'id'

{
"id":"HT_KHBed",
"mac":"0123456789AB",
"ip":"192.168.1.15",
"new_fw":false,
 "fw_ver":"20200601-123103/v1.7.0@d7961837"
}

Of course if the built in integration suits that's even more convenient.

Awesome! I do have mqtt enabled on my shellies and I actually set up my dimmer as a virtual dimmer with your app and have it working well.

I was just exploring the native Shelly driver as it’d be nice to communicate directly to the dimmer as well.

Looking forward to your Shelly discovery!

I started down the path of native driver support but when another developer also offered something I backed off. Maybe I will revisit that as I forsee issues with discovery just using MQTT in the way Shelly implement it currently. However that's not something that really belongs in an MQTT app.

I tried moving the Shelly Dimmer to the same vlan as my hubitat, changed the Shelly parent IP information, and that worked successfully.

I moved the Shelly Dimmer back to my IoT vlan and it gives me that error message again. I also removed all of my firewall rules to make sure they could communicate freely across vlans and subnets. However, it still didn't work.

Has anyone else gotten this to work across separate Vlans or Subnets?

have you setup routing between your subnets?

Yes, good question.

My other IoT devices work properly across subnets. I have a couple TP-LINK plugs and have them on my IoT Vlan and can control them successfully through Hubitat. I also disabled firewall rules and allowed everything across subnets and it was the same behavior.

Also the logging shows that it is receiving a message from the Shelly, but it doesn't know what to do with it. That shows that it is making it through the firewall and across vlans properly.
sys:1 2020-06-08 03:01:04.677 pm warn Received data from 10.0.100.23, no matching device found for 10.0.100.23, 0A006417:15BE, null or 0A006417.

I'm open to suggestions, and really appreciate everyone's help!

Great idea! It worked!

On the parent device for Shelly, I kept the IP address as 10.0.100.23 and then under the Device Network ID for the parent Shelly, I clicked edit and pasted in the hexadecimal IP. 0A006417 I clicked save device, and it started working. I now can control it and receive status updates successfully. Thank you for the help!

In a future update for Hubitat, it'd be great to have this device driver be able to work across vlans and use something other than the mac address for the Device Network ID, like the hexadecimal ip.

1 Like

This can be accomplished by adding this to the current code and running it after the IP has been added...

private getShellyAddress() {
    def iphex = ip.tokenize( '.' ).collect { String.format( '%02x', it.toInteger() ) }.join().toUpperCase()
    def shellyAddress = iphex
    device.deviceNetworkId = shellyAddress.toUpperCase()
    return device.deviceNetworkId
}
2 Likes

Allterco Robotics US has acquired my Shelly drivers. They will make a separate announcement on this.

4 Likes

Will they maintain them or they hired you to keep them updated?

1 Like

Your driver has been working great for my Shelly1 switches. Love that I can update the firmware from the device page!

1 Like

It would be very smart from Allterco Robotics US if they take the responsiblity to maintenance the drivers and make new ones for other/new products. It can only boost there sales even more.