RMS Source Usage tied to meeting length!
veraview
Junior Member
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.
Categories
- All Categories
- 2.5K AMX General Discussion
- 922 AMX Technical Discussion
- 514 AMX Hardware
- 502 AMX Control Products
- 3 AMX Video Distribution Products
- 9 AMX Networked AV (SVSI) Products
- AMX Workspace & Collaboration Products
- 3.4K AMX Software
- 151 AMX Resource Management Suite Software
- 386 AMX Design Tools
- 2.4K NetLinx Studio
- 135 Duet/Cafe Duet
- 248 NetLinx Modules & Duet Modules
- 57 AMX RPM Forum
- 228 MODPEDIA - The Public Repository of Modules for Everyone
- 943 AMX Specialty Forums
- 2.6K AMXForums Archive
- 2.6K AMXForums Archive Threads
- 1.5K AMX Hardware
- 432 AMX Applications and Solutions
- 249 Residential Forum
- 182 Tips and Tricks
- 146 AMX Website/Forums