cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

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

SC_10151701
5-Regular Member

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

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 1
slangley
23-Emerald II
(To:SC_10151701)

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

Top Tags