Author |
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 02 2007 at 21:23 | IP Logged
|
|
|
I am looking at the Timed Events list, and some events (ones marked Sunrise/Sunset, or those with a Random offset) aren't listed at the times at which I originally programmed them. Now, I'm guessing that the program is displaying the exact time the event will trigger -today-. But I was wondering:
1) when does it schedule this? What happens if I change the time, does it go at the time I set today, and back to the programmed one tomorrow?
2) Where does PH track the time I originally programmed? I.e., if I set an Exact time with a Random offset, how can I see what the original Exact time was?
Also - I have a related problem, that I sort of asked in a different way elsewhere, but that solution doesn't work here.
Sometimes, because of the scheduling, or because of a poorly timed triggered event, two (or even three) X-10 events go into the execution queue within a second or two of each other. So they get transmitted one after the other. This appears to confuse my HCA02-10E (active bridge/repeater), thus degrading reliability. So I am wondering (and admittedly, this may be a future-feature request), is there any way to 'choke' the execution queue so that every X-10 command is followed by a few seconds of "dead air"? I'm guessing not, but figured it couldn't hurt to ask.
Thanks!
/j
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: December 03 2007 at 11:54 | IP Logged
|
|
|
Jeff,
Concerning Timed Events...the "Start Time" (greyed out) column is the time that the timed event is scheduled to fire. The time that you originally entered is kept and maintained in the "Reference Time" column. When you enter in the reference time and exit the column, PowerHome will then calculate an appropriate actual "Start Time" based upon the Random value and sunrise/sunset, etc.
When the Timing is sunrise/sunset, only the Date portion of the Reference time is used and PowerHome calculates the appropriate sunrise/sunset time for the date. If the date is in the past, then PowerHome will change the date to the most appropriate next date in the future. In the case of Random times, PowerHome will use the full reference time and calculate the appropriate random value and then set the Start Time appropriately. These calculations are done automatically on the fly anytime the reference time is changed.
When the timed events are saved and running, the reference time and start time are locked in. When that particular timed event comes up and is executed, based upon the frequency, PowerHome will adjust the reference time an appropriate amount. After the correct reference time is determined (reference time is only adjusted based upon frequency which is a set amount), PowerHome will then determine the appropriate Start time based upon the Timing and Random factors.
I can add a feature request to have a user configurable value to introduce a delay before sending an X10 command. The only question I have is should this delay be after *every* X10 command or only after an X10 function command. For example, to turn on a light at address C3, it requires two separate X10 commands. First, an X10 address command to C3 followed by an X10 On command to housecode C (this is the actual X10 protocol). So, if we were to assume a 2 second delay after *every* X10 command, you would send the C3 address command, wait 2 seconds, send the C On command (C3 would then turn on a total of 2 seconds after the command sequence was initiated), wait 2 seconds, then send the next address command, wait 2 seconds, send the function command. This would result in a 4 second delay between individual lights turning on.
The only current way to *choke* the execution queue is with a "Delay" command (either the macro command DELAY or the ph_delay function). The Delay command is in milliseconds so a 2 second delay would be 2000. A Wait command will not hold up the queue, but Delays definately do. You could code a Delay after each X10 command or you could probably make your own X10 macro that you call with ph_macroparm instead of using the built-in X10 functions and include the Delay command within that macro.
Dave.
|
Back to Top |
|
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 03 2007 at 12:05 | IP Logged
|
|
|
Hi Dave - thanks for the response.
1) so what I think you're saying is that the time value in the editable field (I think it's start time, I don't have PH here at work) should be familiar to me (i.e.,what I originally typed in) UNLESS I have a sunrise/sunset/dawn/dusk assigned to that event. So the editable field for an EXACT event with a Random offset should be the time I typed in. I'll have to have another look tonight, I -thought- the latter was getting changed as well.
you say "When the timed events are saved and running, the reference time and start time are locked in."
when I edit a start time, I typically do it while timed events are running, and do nothing special to "save". Does PH re-calculate as soon as I select a different page, or do I have to do something special?
2) On the execution queue - I think (yet again) you solved my problem. 8-} I call all my X-10 events through the same macro. So if I put a 'delay 2000' at the beginning of that macro, it will freeze the queue and any asynchronously-arriving events will wait and queue up behind it? That's just what I need.
Thanks very much
/j
|
Back to Top |
|
|
bhlonewolf Senior Member
Joined: March 29 2007
Online Status: Offline Posts: 198
|
Posted: December 03 2007 at 13:16 | IP Logged
|
|
|
You might want to put the delay at the end of the macro. That way, if macros aren't executing back-to-back, there'd be no perceived delay.
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: December 03 2007 at 13:36 | IP Logged
|
|
|
Jeff,
Im Timed Events...not quite. There are two time/date fields in the Timed Events screen screen. The one to the far left is greyed out (uneditable) and is the Start Time. The field towards the right (editable) is the reference time. The "Start Time" is the time that the Timed Event will actually take effect and takes into account sunrise/sunset and random offsets. The "Reference Time" is what you type in. In the case of a sunrise/sunset type of timing, the "Reference Time" field will have the Time portion updated to the appropriate sunrise/sunset time. If this same timed event also has a random offset, the random offset will *only* be applied to the "Start Time" and not the reference time. If the timing of the Timed Event is not a sunrise/sunset type of event, then the "Reference Time" will reflect the time that you actually typed in.
As the timed events are processed, BOTH the start time and reference time will be adjusted, based upon the frequency. If the frequency is "Hourly" and you create a timed event with the initial "Reference Time" set to 16:40:15, then after the timed event is processed, the reference time will be changed to 17:40:15 and so on with 18:40:15 following after that. If this same timed event also has a Random + offset of 30 minutes, then the "Start Time" will initially start anywhere from 16:40:15 to 17:10:15. Say the initial Start Time is randomly determined to be 16:55:48. At 16:55:48, the Timed event will be processed, the reference time will update to 17:40:15 and a new random start time will be determined off of the updated reference time, in this case anywhere from 17:40:15 to 18:10:15.
"When the timed events are saved and running, the reference time and start time are locked in". What I mean by this statement is that once you save your changes to the Timed Events screen (done automatically for you if you close the explorer, exit PowerHome, change the Explorer screen to view a different screen, or press the "F5" key), the reference time and start time will not change *until* the current time becomes the "Start Time" of that particular timed event and the timed event is processed. At that time, the reference time will be updated (based upon frequency) and a new start time will be calculated. The initial "Start Time" is determined while editing the Timed Events screen and will be automatically calculated when the "Reference Time" is changed (manually by you) and you "leave" the Reference Time field (tab key, clicking another column or line, "F5", closing the Explorer).
Concerning execution queue...yes, the "Delay" command will force a pause of the execution queue.
HTH,
Dave.
|
Back to Top |
|
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 03 2007 at 16:42 | IP Logged
|
|
|
crystal clear, as always. Thanks!
/j
|
Back to Top |
|
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 03 2007 at 20:42 | IP Logged
|
|
|
ok - here's what i was doing wrong - I didn't realize you needed a -value- with a random +/- offset. I assume that's the max value, so a value of 20 means +/- 20 minutes?
thanks
/j
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: December 04 2007 at 21:51 | IP Logged
|
|
|
Jeff,
Yes...an offset of 20 on a Random +/- will randomly adjust the Start Time -20 to +20 from the Reference Time.
HTH,
Dave.
|
Back to Top |
|
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 04 2007 at 21:56 | IP Logged
|
|
|
thx
|
Back to Top |
|
|
|
|