+1
Discuss & Vote

Custom Device Attributes support (and a sample WebCoRE workaround)

Jeff Terrace 7 years ago in Things & Capabilities updated by Terry (ActionTiles) (Co-Founder) 7 years ago 2

Some devices have additional attributes above the standard capabilities. For example, this Airscape fan that I use has three temperature sensors:

 

But only one of them is available via the "Temperature Sensor" capability under attribute name "temperature". The other two are under different attribute names. I think this is somewhat of a flaw of the SmartThings device model, where SmartThings would consider it as three separate devices. It really isn't though - it's one device with three sensors.


WebCore has support for the additional attributes. I wonder if ActionTiles would consider adding support, where you could map an additional attribute name to one of the support capability types.

Answers

+1
Answer

Thanks for the workaround. For anyone else wondering, the rough steps are:


  • Create a new device in the SmartThings web UI with device type "Simulated Temperature Sensor"
  • Create a new Piston with:
  • Import the new virtual device into Action Tiles. Works nicely!
PINNED
Discuss & Vote

Hi Jeff,


This question has come up a few times, so I might find an existing Topic to merge.


  1. Yes - We definitely know that many Device Handlers get around the relatively limited set of official Capability definitions by adding ad hoc / custom Attributes and/or Commands. We would like to be able to address this, but are not making it a high-priority because only a very small percentage (estimated at well under 5%) of SmartThings Customers use non-standard Things. All our customers are important, but quantity of affected customers cannot be dismissed, since we have so many other very popular Feature Requests.

    Note, however, that SmartThings has dropped hints (at the Samsung Developer's Conference) that they are going to become more strict about Capability compliance, rather than less. This might manifest itself as faster turnaround for enhanced Capabilities, but ... well, let's just say the future is a little cloudy and we'd hate to put a lot of effort into something that is about to change.

  2. The current workaround for your case (especially since you just have multiple Attributes of a supported data type like Temperature) is to create Virtual Devices (e.g., Virtual Temperature Sensors) and use a simple SmartApp or WebCoRE to sync values to them from the "real" Device.

Thanks for your understanding and the feedback!

Cheers,

...Terry.

PINNED
Discuss & Vote

Hi Jeff,


This question has come up a few times, so I might find an existing Topic to merge.


  1. Yes - We definitely know that many Device Handlers get around the relatively limited set of official Capability definitions by adding ad hoc / custom Attributes and/or Commands. We would like to be able to address this, but are not making it a high-priority because only a very small percentage (estimated at well under 5%) of SmartThings Customers use non-standard Things. All our customers are important, but quantity of affected customers cannot be dismissed, since we have so many other very popular Feature Requests.

    Note, however, that SmartThings has dropped hints (at the Samsung Developer's Conference) that they are going to become more strict about Capability compliance, rather than less. This might manifest itself as faster turnaround for enhanced Capabilities, but ... well, let's just say the future is a little cloudy and we'd hate to put a lot of effort into something that is about to change.

  2. The current workaround for your case (especially since you just have multiple Attributes of a supported data type like Temperature) is to create Virtual Devices (e.g., Virtual Temperature Sensors) and use a simple SmartApp or WebCoRE to sync values to them from the "real" Device.

Thanks for your understanding and the feedback!

Cheers,

...Terry.

+1
Answer

Thanks for the workaround. For anyone else wondering, the rough steps are:


  • Create a new device in the SmartThings web UI with device type "Simulated Temperature Sensor"
  • Create a new Piston with:
  • Import the new virtual device into Action Tiles. Works nicely!