Skip to main content
5-Regular Member
November 16, 2023
Question

How to initialize default values for Edge property with BaseType as Infotable and set values in LUA

  • November 16, 2023
  • 1 reply
  • 838 views

Hi Community,

 

Can you please let us know how to initialize default values for Edge property with Base Type : Infotable and set values later in LUA script?

 

I have initialized EDGE property in LUA by following the syntax below. I could see the property "MeteringApplication" on ThingWorx platform and could successfully do remote binding. However, post binding, I was not able to see the default value being populated on the Sub-property "StatusMessage" as per syntax below:

dataShapes.MeterReading(
{ name = "Temp", baseType = "INTEGER" },
{ name = "Amps", baseType = "NUMBER" },
{ name = "StatusMessage", baseType = "STRING", aspects = {defaultValue="The meter is currently offline"} },
)

properties.MeteringApplication = { baseType="INFOTABLE", pushType="ALWAYS", dataShape="MeterReading" }


So, I would like to hear from you how to set Default values for Infotable as baseType on Lua and how Get/Set Sub-property values under "MeteringApplication" property during later point of time to perform some tasks in LUA.

 

Thank you for you help in advance.

1 reply

Community Manager
February 9, 2024

Hi @SC_10151701.

 

Apologies for the delayed response.

 

Have you checked this page from the Help Center?  Notice that you can set a default value in your code:

properties.IParametersnMemory_Imagelink = { baseType="IMAGELINK", pushType="NEVER",
value="http://www.thingworx.com" }
properties.InMemory_InfoTable = { baseType="INFOTABLE", pushType="NEVER",
dataShape="AllPropertyBaseTypes" }
properties.InMemory_Integer = { baseType="INTEGER", pushType="NEVER", value=1 }
properties.InMemory_Json = { baseType="JSON", pushType="NEVER", value="{}" }
properties.InMemory_Large_String = { baseType="STRING", pushType="NEVER",
value=string.rep("Lorem ipsum dolorsi ", 15000) .. "the end" }
properties.InMemory_Location = { baseType="LOCATION", pushType="NEVER",
value = { latitude=40.03, longitude=-75.62, elevation=103 }, pushType="NEVER" }

 

The example.lua included in the EMS has more examples of properties with default values defined.

 

Let us know if you still have questions.

 

Regards.

 

--Sharon