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
#7
I would like to know who do we manage to add sub-items :
- active
- name
- run at (ezg specific time, sunrise, sunset)
- start time
- days of the week (all, Mo, Tu, ... Su)
-  week days of the month (all, 1st, 2nd, ...last)
- ...
- value
Reply
#8
Code:
webrequest = require('webrequest')

data = {
  value = '0', -- value to send
  scheduler = 1, -- parent scheduler ID
  name = 'new event',
  active = 'on', -- 'on' or 'off'
  type = '', -- '' (run at specific time), 'sunrise' or 'sunset'
  start_hour = 13, -- only for run at specific time
  start_min = 0, -- only for run at specific time
  offset_hour = -1, -- only for 'sunrise' or 'sunset'
  offset_min = 30, -- only for 'sunrise' or 'sunset'
  year = 0, -- 0 = all years, specific year otherwise
  months = '111111111111', -- Jan to Dec, 1 = on, 0 = off
  daysofmonth = '1111111111111111111111111111111', -- 1..31, 1 = on, 0 = off
  daysofweek = '1111111', -- Monday to Sunday, 1 = on, 0 = off
  dayweeknrs = '111111', -- week 1 to 5 in month, 6th value = Last week of the month, 1 = on, 0 = off
  holidays = '', -- '' (don't care), 'y' (run on holidays), 'n' (don't run on holidays)
}

res, err = webrequest('schedulers', 'events-save', { data = data })
log(res, err)
Reply


Forum Jump: