Skip to main content
16-Pearl
March 1, 2018

How to create and configure Timers and Schedulers via JavaScript Services

  • March 1, 2018
  • 1 reply
  • 6110 views
  • Timers and Schedulers can also be created and configured programmatically via custom services.
  • The following service, which can be created on any Thing, will create a new Timer using the following Inputs:

 

image

 

 

 

// create new Thing

var params = {
	name: ThingName /* STRING */,
	description: undefined /* STRING */,
	thingTemplateName: "Timer" /* THINGTEMPLATENAME */,
	tags: undefined /* TAGS */
};

Resources["EntityServices"].CreateThing(params);

// read initial configuration
// result: INFOTABLE

var configtable = Things[ThingName].GetConfigurationTable({tableName: "Settings"});

// update configuration with service parameters

configtable.updateRate = updateRate
configtable.runAsUser = user

// set new configuration table

var params = {
	configurationTable: configtable /* INFOTABLE */,
	persistent: true /* BOOLEAN */,
	tableName: "Settings" /* STRING */
};

Things[ThingName].SetConfigurationTable(params);

 

  • This code is an example which could also be used to create a new Scheduler.
  • The configuration table for a Timer has the following attributes:
    • updateRate
    • enabled
    • runAsUser
  • The configuration table for a Scheduler has the following attributes:
    • schedule
    • enabled
    • runAsUser

 

1 reply

21-Topaz I
June 6, 2018

I have currently a taks where this code is helpful but my quesiton here.

Do we need to set the thingname in the param json? like:

// create new Thing

var params = {
	name: ThingName /* STRING */,
	description: undefined /* STRING */,
	thingTemplateName: "Timer" /* THINGTEMPLATENAME */,
	tags: undefined /* TAGS */
};
params.name=ThingName; Resources["EntityServices"].CreateThing(params); ....

or is already done in the param definition? Means the input parameter is used . No problem I will test it