Skip to main content
16-Pearl
January 10, 2019
Solved

Check Whether a Thing's Properties Have Changed

  • January 10, 2019
  • 1 reply
  • 3030 views

I'm wanting to check whether the Thing's properties have been updated within a certain period.  I've tried the "HavePropertiesChangedSince()" service, but it seems to include the metadata properties such as "name," "description," "tags," and "thingTemplate" in its decision.  I only need to know if my custom properties (Temperature for example) have changed.

 

Any ideas on a way to accomplish this?  Is there a way to get a list of the custom properties on a Thing without the metadata properties?

Best answer by CarlesColl

You can build your own check easily with GetPropertyValuesAsMultiRowTable which includes last value and timestamp.

 

Or also you can try to subscribe to AnyDataChange event and act accordingly, I think they are not thrown for the previous properties you had said (well name and thingTemplate can't change)

1 reply

1-Visitor
January 11, 2019

You can build your own check easily with GetPropertyValuesAsMultiRowTable which includes last value and timestamp.

 

Or also you can try to subscribe to AnyDataChange event and act accordingly, I think they are not thrown for the previous properties you had said (well name and thingTemplate can't change)

16-Pearl
January 11, 2019

GetPropertyValuesAsMultiRowTable() still includes the metadata properties in the list of Properties. 

Also I'm finding that the timestamps for 'name', 'description', 'tags', etc. get updated every time you Save the Thing.  

1-Visitor
January 11, 2019

Yes I know, but it's super easy to ignore them (it are four and always the same).