Feature Request: Substitute Device

Sorry to bring back something that has been repeatedly discussed.

This week I had the experience of having two Zigbee bulbs fail, and needing to substitute them.

It took me more than two hours having all rules and apps correctly addressed.

I understand the difficulty of updating the references and apps, specially if the capabilities of the devices do not fully coincide.

But if they do, and especially if the substitution is done with an identical device, which uses the same driver, swapping them should be a straightforward task.

Can we give this a renewed thought?


Unless I've not thought this through properly, even if the new device is not identical it shouldn't be a problem for implementing the feature - the user would have a little bit of extra work changing the driver, and then if the capabilities didn't match there could be some rule troubleshooting to do, but off the top of my head I can't think why this needs to be a problem for the actual feature developers - users need to use sensibly.

1 Like

I've done this exact same thing, but very easily. Here was my process

  1. Register the new (replacement) device on HE with a different name than the original device
  2. Edit the rule(s) to use the new device rather than the old device
  3. Remove the old device from HE
  4. Rename the new device to match the name of the old device

Maybe I got lucky, but this process worked fine for me

That’s not very easy at all when the device(s) are referenced in multiple locations and/or rules. Hence the OPs request for a direct method to replace or substitute devices.


Quite possibly true if you have a lot of rules. So try it in this order

  1. Register the new (replacement) device on HE with a different name than the original device
  2. Remove the old device from HE
  3. Rename the new device to match the name of the old device

I've not tried it this way. But how would the rule(s) know the difference, especially if its an identical device, as the OP suggests?

What about single substitute device type that has all attributes required to satisfy any rule? If it doesn't send/respond to signals, and things don't work, is that actually a big deal? I mean, I know I put the substitute device into the system, I know those rules aren't going to work, I can accept that.

I paired a bunch of devices as S2 when I set up my C7, and I'm going to be taking another crack at doing firmware updates. It's not something I'm looking forward to doing.

This missing functionality is probably my single biggest knock against HE.

This will not work. Apps don’t use device names. They use device-ids. There is a valid need for a simple method of device substitution. However, I don’t believe that is easy to implement.

Tagging @bravenel @gopher.ny


I also had an exchange of ideas with Bruce a little while ago, let me find the thread...

1 Like

This is not an answer to your request but I put all my Motion sensors into Zone Motion Controller even if there is just one device.
This way I just need to change the device in ZMC and it's job done as the ZMC device is used in all dashboards, rules, Hub Mesh etc.
I do the same with contact sensors and water leak sensors by using Device Groups.


This ^^

I do the same with groups -eg I have a group named Bed1 Ceiling light that currently only contains a single light, but all my rules use the group (my rules are in Node Red but it's the same principal) then if I need to change the light itself it is a one place change.


I must do this with my lights as well. Thanks for the prompt. :+1:


They don't go by name, each device has a unique ID on the system.


One of the things I like about the Hubitat hub is how easily one can change the device labels. The device id doesn't change, just the label. But the system matches the label to the id whenever and where ever it finds it.

(I think)

Mike M

1 Like

Eh, sort of - actually uses the device ID to retrieve the label (and other attributes).


Yep, this is what I did, but considering the different groups, rules, apps and dashboards, it can take me one hour to substitute a faulty bulb (it did).

That is why I believe this should be straightforward, at least on those cases where devices are substituted with identical replacements.


This is a good alternative, but again, it is adding an additional layer of complexity, for something that could be way simpler.

This one does not work. HE is looking for the device ID, not the device name.

1 Like

For sure it definitely doesn’t work. Plus even if it did it’s not recommended to remove a device from HE without first removing it from all rules. Which would then mean adding the new device back in again. Thereby negating this approach anyway.

1 Like

Although there are "other ways to do it" they take a long time and the entire purpose of computing is to automate things that take a long time. This is a valid feature request imho.