Child Device Namespace Restrictions

I’m working on a SmartApp that creates child devices. I’d like it to create a “Momentary Button Tile”, but when I try to create one based on the device type in the “smartthings” namespace like so:

def child = addChildDevice("smartthings", "Momentary Button Tile", deviceID, null, [name: deviceName])

…I get this: Device type 'Momentary Button Tile' in namespace 'smartthings' not found. @ line 69

I’m assuming this is because it’s outside my namespace, which would totally make sense if I were trying to pull in someone else’s code, but it’s a standard ST device type. It works if I duplicate the ST device code and change the namespace to my own, but that seems sub-optimal for any number of reasons.

Is there a reason we can’t just use the ST devices beyond “It’s a pain in the neck to make an exception to the namespace restrictions”?


yup been there done that, one would think that would work, but it’s obvious that those devices aren’t “published”…

1 Like

Add my vote. I thought I’d be able to do this too. Why can’t I use a standard device type?

@bflorian is there any specific reason? Could this change in the future?

1 Like