Author |
|
seyler Newbie
Joined: December 27 2001 Location: United States
Online Status: Offline Posts: 9
|
Posted: December 28 2001 at 17:04 | IP Logged
|
|
|
Can anyone tell me if there is a limit on the number of timed events that can be entered? I am using a macro that creates a timed event every time a motion sensor is tripped. However, since the motion sensors are continously sending X10 signals when there is motion in the room, I get a lot of these timed events stacking up. Across several rooms I can see that I might have literally hundreds at any given time. Will this be alright?
Another method, of course, would be to have the motion sensor triggered macro use a delay rather than creating a timed event. I made a guess that the scalability would be better for a lot of timed event entries than a lot of active macros in a wait state... or am I incorrect? Would it be better to use timed events or delays in terms of scalability of concurrent instances?
Thanks!
Steve
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: December 31 2001 at 22:16 | IP Logged
|
|
|
Steve,
The number of timed events that you can have is virtually unlimited. Timed Events are stored within a table in the database and the size of the database is limited to your hard drive (in actuality, I believe there is a 4 gig limit). So hundreds of timed events are OK.
As far as macros are concerned. You definately dont want to use a delay. A delay will halt all processing until the delay is completed. You could however use the Wait command to get the desired functionality. The Timed Event would still be the better choice since the Timed Events would not use any memory resources. When a macro is in a Wait state, it is using some memory resources although minimal.
Im not sure exactly what you're doing, but believe Ive done something similar in the sample database. Instead of creating a timed event every time motion is detected, I update a global variable with the time motion was detected and then create a timed event if the Global Var was previously zero. When that timed event is up, check the time of the Global, if it's been updated since the last timed event, then create a new timed event based upon the value in the Global. This way no memory resource and only one timed event at a time.
Dave.
|
Back to Top |
|
|
seyler Newbie
Joined: December 27 2001 Location: United States
Online Status: Offline Posts: 9
|
Posted: January 02 2002 at 12:23 | IP Logged
|
|
|
An excellent suggestion, Dave! Thanks. The piece I had not thought of was to check the global for a previous setting. I'll give it a shot - I expect it will work nicely.
|
Back to Top |
|
|