Jump to content

Timer Testing Tools?


Recommended Posts

Since most of our programs are based on comparisons of the current time against some trigger time (fixed, sunrise/set, etc), it would be nice to be able to simulate a faster passage of time to test a program or suite of programs.


If the simulator allowed you to adjust how fast time passes (x2, x4, x6, etc) in a unit of your choice (sec, min, hrs, days), you could test a year's worth of time triggers in an afternoon instead of waiting for the year to pass in real time to see if all timed events are properly coded.


The ISY primary program would have to be adjusted at its configuration screen to read its time base either from its internal clock (set manually or automatically from the PC's clock) or a simulated time provided by a companion program running the time simulation. It would also need VCR-like commands for step forward, go forward, step backward, go backward, pause, and stop. These controls would only be active when the simulator source is selected as the time reference.


The simulation program would need to accept entry of a specific set time in the usual manner, and a multiplier factor applied to seconds or minutes or hrs to adjust its forward and backward speed.


A "nice to have" would be a custom interface where you could enter the programs you want to watch while the simulated time runs. The interface would show just current time and all chosen program names/states/start times. This interface would have the VCR controls on it, as mentioned above. Otherwise, you'd watch the existing ISY list of all programs, perhaps sorted to bring the programs of interest to the top (name them so they clump together in the list).


A user would get his programs set up for testing (perhaps disabling those not to be tested), change the ISY time base to the simulator, set the simulator clock and calendar, clear the ISY history log, and punch Go Forward. Depending on what is observed, the VCR buttons would control the passage of time forward and backward (the latter to move back over a event time and re-run). When testing is done, save the history log with an appropriate name, enable all programs normally run, and set ISY back to the normal PC or manually entered time base. It might be wise to run the default Query scene to get all device states updated.


I know you can do all this in real time by manually re-setting the ISY clock/calendar on the configuration screen, but it would be nice to test a day's or week's event triggers in a faster-than-real-time environment.


Is this feasible without overloading the ISY memory or CPU loading, or making the whole pkg unstable?


Man, I LOVE the ISY product :D:D - I only wish it had come around years ago!


[ Edit: sorry, I just realized there is a different forum for feature requests. Admin, feel free to move this thread as you see fit - Rod ]

Link to comment

Is this feasible without overloading the ISY memory or CPU loading, or making the whole pkg unstable?


Something similar to this is feasible; basically setting a specific time, and then having the time pass using a multiplier. Supporting the time going backwards is actually quite difficult.


One thing to note is that whenever the clock is manually reset, all the programs are reloaded. This is done because many of the next start/end times are pre-calculated.


I'm not sure where this fits on the priority list, but we'll add it to the requirements list.

Link to comment

Actually, time running backwards probably isn't necessary, but being able to set the time back by increments (maybe 1, 2, 5, 10 minutes) to retest a sequence that previously failed, but you fixed the programs.


I certainly wouldn't put a lot of priority on this tool, as only larger systems with complex interactions in scenes or between triggers and programs would warrant its use.


But thanks for giving it some thought!!


Link to comment


This topic is now archived and is closed to further replies.

  • Create New...