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

Community Tip - If community subscription notifications are filling up your inbox you can set up a daily digest and get all your notifications in a single email. X

How to create and configure Timers and Schedulers via JavaScript Services

100% helpful (1/1)
  • 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

 

Comments

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

Version history
Last update:
‎Mar 01, 2018 09:42 AM
Updated by: