A perl script which utilizes the Nimsoft perl API/SDK to read in a comma separated list of robot names with maintenance start and stop times and puts the appropriate robot into maintenance. The maintenance list of robots is checked against the start time every <interval> seconds and the maintenance file is reread every <reread> seconds.
It accepts UTC or human readable format (i.e. not mixed in this version) e.g.
#robotname,start time,stop time
In this version you have to hardcode the robots to permanently ignore, by adding them to @ignorelist and uncommenting that line (e.g. robots installed on hubs).
The script uses Time::Local to convert human readable time format to UTC, and there is a known issue with this module which aborts when an invalid date is entered.
There is a document in the bundle which should cover most of the questions (installation, configuration, prerequisites ...).