Skip to main content
7-Bedrock
October 1, 2021
Solved

Retrieve all properties from a thing

  • October 1, 2021
  • 2 replies
  • 1853 views

Hello,

 

I have the following challenge: I want to extract all properties, which are available/present on a certain thing, to an info table. I used the following code to achieve this:

 

var result = Things[ThingName].GetPropertyDefinitions({
category: undefined /* STRING */,
type: undefined /* BASETYPENAME */,
dataShape: undefined /* DATASHAPENAME */
});

 

My problem is, that it gets me only 999 entries but my thing has more that 999 properties.

Is there a way to get more/all entries? maxItems did not work.

Best answer by frank247

Hi PaiChung,

thank you for the feedback. All properties of the relevant Thing are grouped on various ThingShapes.

I solved the issue in the following way:

 

getImplementedShapes > InfoTable with all Shapes

Iterate through Shapes InfoTable and use > GetInstancePropertyDefinitions > retrieve all properties and write them to an Property InfoTable.

 

 

2 replies

22-Sapphire I
October 4, 2021

That seems like way too many properties on a Thing, but perhaps you can group those into ThingShapes and retrieve the ThingShapes and then the properties so there are less than 999 per ThingShape.

frank2477-BedrockAuthorAnswer
7-Bedrock
October 5, 2021

Hi PaiChung,

thank you for the feedback. All properties of the relevant Thing are grouped on various ThingShapes.

I solved the issue in the following way:

 

getImplementedShapes > InfoTable with all Shapes

Iterate through Shapes InfoTable and use > GetInstancePropertyDefinitions > retrieve all properties and write them to an Property InfoTable.

 

 

Community Manager
October 15, 2021

Hi @frank247.

 

Glad to hear you resolved your issue.  Please mark your last response as the Accepted Solution for the benefit of others with the same problem.

 

Regards.

 

--Sharon