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.

how to charge fluorescent sign
#1
Hi I will turn on the light every 3 hours for 15 minutes to charge some fluorescent signs between 07-16 when the room is not in use, but stop this feature shown the room is in use. has a motion detector that records whether the room is being used. How to create this code?

I can not use the slave input of the motion detector because the rom starts heating and ventilation.
Reply
#2
You can create a scheduled script that runs on a specified time. If room is not occupied then you turn the light on/off:

1/1/1 is occupancy status, 1/1/2 is light output.
Scheduled script parameters:
Minute: 0 for turn on, 15 for turn off
Hour: 7,10,13,16
Day of the month: *
Month of the year: All
Day of the week: All

Turn on:
Code:
if not grp.getvalue('1/1/1') then
  grp.write('1/1/2', true)
end

Turn off:
Code:
if not grp.getvalue('1/1/1') then
  grp.write('1/1/2', false)
end
Reply
#3
(03.09.2019, 08:54)admin Wrote: You can create a scheduled script that runs on a specified time. If room is not occupied then you turn the light on/off:

1/1/1 is occupancy status, 1/1/2 is light output.
Scheduled script parameters:
Minute: 0 for turn on, 15 for turn off
Hour: 7,10,13,16
Day of the month: *
Month of the year: All
Day of the week: All

Turn on:
Code:
if not grp.getvalue('1/1/1') then
  grp.write('1/1/2', true)
end

Turn off:
Code:
if not grp.getvalue('1/1/1') then
  grp.write('1/1/2', false)
end
tnx this will work, but is it possible to check more rooms in the same code? how will that code look like?
Reply
#4
Create a User library called rooms. Modify rooms table as needed. You can add any number of rows.

Code:
rooms = {
  { status = '1/1/1', output = '1/1/2' },
  { status = '2/1/1', output = '2/1/2' },
  { status = '3/1/1', output = '3/1/2' },
  { status = '4/1/1', output = '4/1/2' },
  { status = '5/1/1', output = '5/1/2' },
  { status = '6/1/1', output = '6/1/2' },
}

function setrooms(value)
  for _, room in ipairs(rooms) do
    local status = grp.getvalue(room.status)
    if not status then
      grp.write(room.output, value)
      os.sleep(0.2)
    end
  end
end

Turn on:
Code:
require('user.rooms')
setrooms(true)

Turn off:
Code:
require('user.rooms')
setrooms(false)
Reply
#5
(05.09.2019, 06:26)admin Wrote: Create a User library called rooms. Modify rooms table as needed. You can add any number of rows.

Code:
rooms = {
  { status = '1/1/1', output = '1/1/2' },
  { status = '2/1/1', output = '2/1/2' },
  { status = '3/1/1', output = '3/1/2' },
  { status = '4/1/1', output = '4/1/2' },
  { status = '5/1/1', output = '5/1/2' },
  { status = '6/1/1', output = '6/1/2' },
}

function setrooms(value)
  for _, room in ipairs(rooms) do
    local status = grp.getvalue(room.status)
    if not status then
      grp.write(room.output, value)
      os.sleep(0.2)
    end
  end
end

Turn on:
Code:
require('user.rooms')
setrooms(true)

Turn off:
Code:
require('user.rooms')
setrooms(false)
tnx Smile
Reply


Forum Jump: