RMS Source Usage tied to meeting length!
veraview
Posts: 44
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.
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.
0