This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Add scheduler with a single click ?
#1
Hi all,

i can try adding scheduler into LM.

This example, there are 3 lamps and 3 sensors. And they a lot of my project in 3 LM. (over 500 objects for scheduler)



   

how to add schedule each lamp and sensor? One by one ?


   


Or, Is there a shortcut for scheduler to the object on the page?

Can we automatically add scheduler with a single click, as seen in the picture below?

   

thanks all you.
Reply
#2
Can be done via a script. This example creates a scheduler for objects from 0/0/1 to 0/0/5.
Code:
webrequest = require('webrequest')

for i = 1, 5 do
  address = '0/0/' .. i

  data = {
    object = buslib.encodega(address),
    active = 'on',
    controlobject = 0,
    name = 'Scheduler ' .. address,
    start_day = 1,
    start_month = 1,
    end_day = 31,
    end_month = 12,
  }

  webrequest('schedulers', 'save', { data = data })
end
Reply
#3
Unfortunately this is not suitable for me. Because the addresses do not go in a certain order and the names must also be meaningful. But if it was a visual addition then things would be great. I hope such an option will be added in the future.
Reply
#4
The script can modified to create schedulers for a given tag and use object names as scheduler names. Alternatively a table with group address -> scheduler name mapping can be used to quickly create multiple schedulers.
Reply
#5
(15.07.2024, 06:39)admin Wrote: Can be done via a script. This example creates a scheduler for objects from 0/0/1 to 0/0/5.
Code:
webrequest = require('webrequest')

for i = 1, 5 do
  address = '0/0/' .. i

  data = {
    object = buslib.encodega(address),
    active = 'on',
    controlobject = 0,
    name = 'Scheduler ' .. address,
    start_day = 1,
    start_month = 1,
    end_day = 31,
    end_month = 12,
  }

  webrequest('schedulers', 'save', { data = data })
end

how can i add object name for objects from 32/2/1 to 32/2/252.

I don't understand how to use the code below in the code above.

Code:
name = grp.find(event.dst).name

i want to use scheduler names as the name of the scheduler.

   


i added it manually.

   
Reply
#6
Code:
webrequest = require('webrequest')

for i = 1, 252 do
  address = '32/2/' .. i

  data = {
    object = buslib.encodega(address),
    active = 'on',
    controlobject = 0,
    name = grp.find(address).name,
    start_day = 1,
    start_month = 1,
    end_day = 31,
    end_month = 12,
  }

  webrequest('schedulers', 'save', { data = data })
end
------------------------------
Ctrl+F5
Reply


Forum Jump: