RMS Source Usage tied to meeting length!

Wow so this one blew my mind for a while! RMS in our headquarters is used to track the runtimes of our heat pumps as source usage. A few months back, I got tired of people fiddling with the thermostats and locked them out, controlling occupied and unoccupied times with hard coded setpoints that are triggered by the RMS scheduler. That way I could even control holidays, etc.

Then the source usage started reporting waaaay under hours (e.g. the data center heat pump was reporting that it ran < 1 hour per day). I thought at first that runtimes were so long that RMS bumped the units from hours to days. Then I found this little tidbit in the RMSSrcUsageMod:

LEVEL_EVENT[vdvRMSEngine,RMS_LVL_MIN_REMAIN]
LEVEL_EVENT[vdvRMSEngine,RMS_LVL_MIN_TILL_NEXT]
{
// Wait until we have 1 minute left in meeting
IF (LEVEL.VALUE == 1)
{
// Start a wait and write these value out in RMS_RPT_DELAY/10 seconds
// This need to be written out just before the appointment ends. This way
// the report time will be between the start and end times of the appointment
// so that equipment usage can be tracked on an appointment-by-appointment basis
CANCEL_WAIT 'RMSSrcTrkReportWait'
WAIT RMS_RPT_DELAY 'RMSSrcTrkReportWait'
RMSSrcTrkReport(TRUE)
}
}


I was creating recurring meetings today at, say, 7:30 AM to trigger the control function. The default meeting time is something like 30 minutes, and I just said "ok". Now the heat pump cycles on and off all day, but when the source usage module takes a look at the length of the meeting and calculates the hours, a very small decimal results!

Solution: create back to back meetings, or use the scheduling function built-in to the macro so we are independent of this little snippet of code.
Sign In or Register to comment.