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
#9
Hi, i was just wondering how to add entries to the Holiday Schedule via script?
It' the time of the year where it may be cool to create an automatic calculation for Easter etc.

Thanks for your Help!
Reply
#10
Code:
webrequest = require('webrequest')

data = {
  name = 'new holiday',
  type = '', -- '' (specific date) or 'dayweeknr' (day of the week)
  day = 1, -- day of the month number
  month = 1, -- month number, 1 = Jan, 12 = Dec
  year = 0, -- 0 = all years, specific year otherwise
  duration = 1, -- duration in days
  dayofweek = 1, -- day of the week, 1 = Monday, 7 = Sunday
  dayweeknr = 1, -- 1st, 2nd etc day in a month, 6th value = last
}

res, err = webrequest('schedulers', 'holidays-save', { data = data })
log(res, err)
Reply
#11
Thanks Admin.
When updating an existing holiday with holidays-save, or an event with events-save, is there a rule that we should send all data elements as the gui seems to do (SE 5500 AC2 v2.1.0), or is it allowed to only send the changed elements?
Cheers
Reply
#12
Should be like this for updating but you need to test it yourself.

- holidays-save: name and type fields are optional, everything else is required
- event-save: active and year fields are required
Reply
#13
OK, thanks.
Reply


Forum Jump: