browse

| Overview

Predefined alerts are a set of alerts that are preprogrammed and prepopulated in the 75F alerting system. They are defined and programmed based on an approach that is derived from the research made on the different types of buildings. 

They also include alerting for possible failures or breaches of parts of the 75F system, knowing how the predefined alerts are designed to produce the required, the support personnel can make better decisions on what alerts to be used for a building, and what alerts can be used as a base for creating a custom alert.

| Predefined Alerts Explained

Below is a table that talks about all the predefined alerts in the system, their purpose, usage, and replicability for a custom alert.

ALERT NAME ALERT DEFINITION ALERTING EXPLAINED
CM DEAD {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "CM DEAD",
"mMessage": "For %s, %s has stopped reporting data. Please contact 75F support.",
"mNotificationMsg": "For %s, %s has stopped reporting data. Please contact 75F support.",
"mSeverity": "SEVERE",
"mEnabled": true
}
}
As shown in the alert definition the "CM DEAD" alert notifies the facility manager when the CM board/ boards in the building stop reporting data.
CCU DISCONNECTED {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 60,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "CCU DISCONNECTED",
"mMessage": "#site #ccu has been offline/unresponsive for more than #offset minutes",
"mNotificationMsg": "#site #ccu has been offline/unresponsive for more than #offset minutes",
"mSeverity": "SEVERE",
"mEnabled": true
}
}
The "CCU DISCONNETED" alert notifies the facility manager when the CCU in the building is offline/ not responding for more than a preset interval of 60 minutes.
ZONE TEMPERATURE DEAD {
"conditionals": [
{
"order": 1,
"key": "zone and current and temp",
"value": "tuner and building and limit and min",
"grpOperation": "equip",
"condition": "<"
},
{
"order": 2,
"operator": "||"
},
{
"order": 3,
"key": "zone and current and temp",
"value": "tuner and building and limit and max",
"grpOperation": "equip",
"condition": ">"
},
{
"order": 4,
"operator": "||"
},
{
"order": 5,
"key": "zone and status and not the message",
"value": "3",
"grpOperation": "equip",
"condition": "=="
}
],
"offset": 5,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "ZONE TEMPERATURE DEAD",
"mMessage": "Equip #equipname1 is reporting a temperature of #pointval1 °F outside the defined building limit #condval1 °F ~ #condval3 °F",
"mNotificationMsg": "Equip #equipname1 is reporting a temperature of #pointval1 °F outside the defined building limit #condval1 °F ~ #condval3 °F",
"mSeverity": "SEVERE",
"mEnabled": true
}
}

@ Order 1 and 3

The "ZONE TEMPERATURE DEAD" alert looks for the currentTemp point in the zone and compares it with the building tuner, building LimitMax value, and generates an alert when the currentTemp > building LimitMax 

 

@ Order 5

The "ZONE TEMPERATURE DEAD" alert looks for the euipStatus  point generates an alert when the euipStatus = "3"

BATTERY LEVEL LOW FATAL {
"conditionals": [
{
"order": 1,
"key": "diag and battery and level",
"value": "20",
"grpOperation": "",
"condition": "<"
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "BATTERY LEVEL LOW FATAL",
"mMessage": "The battery level of your CCU #ccuname has dropped below 20% and is not charging. Please check that the tablet is secured to it's mount. if it is plugged in, please contact 75F support.",
"mNotificationMsg": "The battery level of your CCU #ccuname has dropped below 20% and is not charging. Please check that the tablet is secured to it's mount. if it is plugged in, please contact 75F support.",
"mSeverity": "SEVERE",
"mEnabled": true
}
}
The "BATTERY LEVEL LOW FATAL" alert looks for the DiagEquip-bateryLevel point in the building and generates an alert when the DiagEquip-bateryLevel < 20%
INCORRECT PASSWORD ENTERED(ERROR) {
"conditionals": [
{
"order": 1,
"key": "password and attempt",
"value": "10",
"grpOperation": "security",
"condition": ">="
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "INCORRECT PASSWORD ENTERED[ERROR]",
"mMessage": "Incorrect password entered 10 times in a row. Please have your admin or security team check the intrusion.",
"mNotificationMsg": "Incorrect password entered 10 times in a row. Please have your admin or security team check the intrusion.",
"mSeverity": "MODERATE",
"mEnabled": true
}
}
The "INCORRECT PASSWORD ENTERED(ERROR)" alert looks for the passwordAttempt  point in the building and generates an alert when the point name value >= 10 attempts.
DEVICE DEAD {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "DEVICE DEAD",
"mMessage": "For %s, %s has stopped reporting data. Please contact 75F support.",
"mNotificationMsg": "For %s, %s has stopped reporting data. Please contact 75F support.",
"mSeverity": "MODERATE",
"mEnabled": true
}
}
As shown in the alert definition the "DEVICE DEAD" alert notifies the facility manager when the CM board/ boards in the building stop reporting data.
VOC ABOVE TARGET ERROR {
"conditionals": [
{
"order": 1,
"key": "zone and air and voc and sensor",
"value": "tuner and zone and voc and target",
"grpOperation": "equip",
"condition": ">"
}
],
"offset": 15,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "VOC ABOVE TARGET ERROR",
"mMessage": "#equipname reports VOC level of #pointval above 10% of the target value #condval for 15 minutes",
"mNotificationMsg": "#equipname reports VOC level of #pointval above 10% of the target value #condval for 15 minutes",
"mSeverity": "MODERATE",
"mEnabled": true
}
}
The "VOC ABOVE TARGET ERROR" alert looks for the voc point in the zone and compares it with applicable the, zoneVOCTarget, and generates an alert when the voc point value is 10% > zoneVOCTarget for more than 15 minutes preset interval.
CO2 ABOVE TARGET ERROR {
"conditionals": [
{
"order": 1,
"key": "zone and air and co2 and sensor",
"value": "zone and co2 and target",
"grpOperation": "equip",
"condition": ">"
}
],
"offset": 15,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "CO2 ABOVE TARGET ERROR",
"mMessage": "#equipname reports CO2 level of #pointval above 10% of the target value #condval for 15 minutes",
"mNotificationMsg": "#equipname reports CO2 level of #pointval above 10% of the target value #condval for 15 minutes",
"mSeverity": "MODERATE",
"mEnabled": true
}
}
The "CO2 ABOVE TARGET ERROR" alert looks for the co2 point in the zone and compares it with the applicable  zoneCO2Target, and generates an alert when the co2 point value is 10% > zoneCO2Target for more than 15 minutes preset interval.
CO ABOVE THRESHOLD WARN {
"conditionals": [
{
"order": 1,
"key": "zone and air and co and sensor",
"value": "tuner and zone and co and target",
"grpOperation": "equip",
"condition": ">"
}
],
"offset": 15,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "CO ABOVE THRESHOLD WARN",
"mMessage": "#equipname reports CO level of #pointval above the threshold of #condval for 15 minutes",
"mNotificationMsg": "#equipname reports CO level of #pointval above the threshold of #condval for 15 minutes",
"mSeverity": "LOW",
"mEnabled": true
}
}

The "CO ABOVE THRESHOLD WARN"alert looks for the co point in the zone and compares it with the applicable zoneCOThreshold and generates an alert when the co point value is 10% > zoneCOThreshold for more than15 minutes preset interval.

(We do not support a CO sensor as of now.)

MAT OUTSIDE RANGE {
"conditionals": [
{
"order": 1,
"key": "mixed and air and temp and sensor",
"value": "oao and outside and damper and mat and min",
"grpOperation": "oao",
"condition": "<"
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "MAT OUTSIDE RANGE",
"mMessage": "The Mixed air Temperature in your Roof Top Unit is #pointval1 °F which is lesser than the expected value #condval1 °F",
"mNotificationMsg": "The Mixed air Temperature in your Roof Top Unit is #pointval1 °F degrees which is lesser than the expected value #condval1 °F",
"mSeverity": "LOW",
"mEnabled": true
}
}
The "MAT OUTSIDE RANGE" alert looks for the MatTemp point in the zone and compares it with the building tuner, outsideDamperMixedAirTarget, and generates an alert when the MatTemp < outsideDamperMixedAirTarget
DEVICE LOW SIGNAL {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "DEVICE LOW SIGNAL",
"mMessage": "For %s, %s is having an issues and has reported low signal for last 50 updates. If you continue to receive this alert, please contact 75F support.",
"mNotificationMsg": "For %s, %s is having an issues and has reported low signal for last 50 updates. If you continue to receive this alert, please contact 75F support.",
"mSeverity": "LOW",
"mEnabled": true
}
}
The "DEVICE LOW SIGNAL" alert notifies the facility manager when the devices in the building report low signal for last 50 updates.
ABNORMAL CUR TEMP {
"conditionals": [
{
"order": 1,
"key": "zone and current and temp",
"value": "5",
"grpOperation": "delta",
"condition": ">"
},
{
"order": 2,
"operator": "||"
},
{
"order": 3,
"key": "zone and current and temp",
"value": "-5",
"grpOperation": "delta",
"condition": "<"
}
],
"offset": 5,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "ABNORMAL CUR TEMP",
"mMessage": "#equipName reported a sudden change in current temperature. New temperature is #presentVal °F and previous temperature is #oldVal °F. If you continue to receive this alert, please contact 75F Support.",
"mNotificationMsg": "#equipName reported a sudden change in current temperature. New temperature is #presentVal °F and previous temperature is #oldVal °F. If you continue to receive this alert, please contact 75F Support.",
"mSeverity": "LOW",
"mEnabled": true
}
}

@ Order 1

The "ABNORMAL CUR TEMP" alert looks for the currentTemp point in the zone and generates an alert when the difference between the last two historized values of the currentTemp is > 5 degrees Fahrenheit, and it remains the same for an offset of 5 mins

 

@ Order 3

The "ABNORMAL CUR TEMP" alert looks for the currentTemp point in the zone and generates an alert when the difference between the last two historized values of the currentTemp is <- 5 degrees Fahrenheit, and it remains the same for an offset of mins.

CONSTANT CUR TEMP {
"conditionals": [
{
"order": 1,
"key": "zone and current and temp",
"value": "0",
"grpOperation": "delta",
"condition": "=="
}
],
"offset": 45,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "CONSTANT CUR TEMP",
"mMessage": "#equipname is reporting same temperature #presentVal °F for last #offsetVal minutes",
"mNotificationMsg": "#equipname is reporting same temperature #presentVal °F for last #offsetVal minutes",
"mSeverity": "LOW",
"mEnabled": true
}
}

 

The "CONSTANT CUR TEMP" alert looks for the currentTemp point in the zone and generates an alert when the difference between the last two historized values of the currentTemp is = 0 degrees Fahrenheit, and it remains the same for an offset of 45 mins.

CM ERROR REPORT {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "CM ERROR REPORT",
"mMessage": "CM error: %s",
"mNotificationMsg": "CM error: %s",
"mSeverity": "INTERNAL_MODERATE",
"mEnabled": false
}
}
As shown in the alert definition the "CM ERROR REPORT" alert notifies the facility manager when the CM board/ boards in the building reports data error.
CM RESET {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "CM RESET",
"mMessage": "CM Reset request sent for %s",
"mNotificationMsg": "CM Reset request sent for %s",
"mSeverity": "INTERNAL_INFO",
"mEnabled": true
}
}
The "CM RESET" alert notifies the facility manager when a reset request is sent for the CM.
CCU IN SAFE MODE {
"conditionals": [
{
"order": 1,
"key": "point and diag and safe and mode and status",
"value": "1",
"grpOperation": "",
"condition": "=="
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "CCU IN SAFE MODE",
"mMessage": "#site #ccu has entered a crash loop and has been placed into safe mode",
"mNotificationMsg": "#site #ccu has entered a crash loop and has been placed into safe mode",
"mSeverity": "INTERNAL_SEVERE",
"mEnabled": true
}
}
The "CCU IN SAFE MODE" alert is generated when the CCU in the building is affected with a number of crashes back-to-back and enters a safe mode.
CCU CRASH {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "CCU CRASH",
"mMessage": "CCU Crash info - %s",
"mNotificationMsg": "CCU Crash info - %s",
"mSeverity": "INTERNAL_SEVERE",
"mEnabled": true
}
}
The "CCU CRASH" alert is generated when the CCU in the building crashes for at least once, it provides the information related to the crash.
DEVICE REBOOT
{
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "DEVICE REBOOT",
"mMessage": "Device reboot info - %s",
"mNotificationMsg": "Device reboot info - %s",
"mSeverity": "INTERNAL_LOW",
"mEnabled": true
}
}
The "DEVICE REBOOT" alert is generated when the CCU in the building rebooted.
DEVICE RESTART COMMAND {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "DEVICE RESTART COMMAND",
"mMessage": "Command sent for Device restart",
"mNotificationMsg": "Command sent for Device restart",
"mSeverity": "INTERNAL_INFO",
"mEnabled": true
}
}
The "DEVICE RESTART COMMAND" alert notifies the facility manager when a restart request is sent for the CCU.
FIRMWARE OTA UPDATE STARTED {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "FIRMWARE OTA UPDATE STARTED",
"mMessage": "Firmware OTA update for %s started for SmartNode %d with version %s",
"mNotificationMsg": "Firmware OTA update for %s started for SmartNode %d with version %s",
"mSeverity": "INTERNAL_INFO",
"mEnabled": true
}
}
The "DEVICE REBOOT" alert is generated when the an OTA update has started for any device in the building.
FIRMWARE OTA UPDATE ENDED {
"conditionals": [
{
"order": 1,
"key": "",
"value": "",
"grpOperation": "alert",
"condition": ""
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER INVISIBLE",
"mTitle": "FIRMWARE OTA UPDATE ENDED",
"mMessage": "Firmware OTA update for %s ended for SmartNode %d with version %s",
"mNotificationMsg": "Firmware OTA update for %s ended for SmartNode %d with version %s",
"mSeverity": "INTERNAL_INFO",
"mEnabled": true
}
}
The "DEVICE REBOOT" alert is generated when the an OTA update has ended for any device in the building.
INCORRECT PASSWORD ENTERED(ERROR) {
"conditionals": [
{
"order": 1,
"key": "password and attempt",
"value": "3",
"grpOperation": "security",
"condition": ">="
}
],
"offset": 0,
"alert": {
"mAlertType": "CUSTOMER VISIBLE",
"mTitle": "INCORRECT PASSWORD ENTERED[WARN]",
"mMessage": "Incorrect password entered 3 times in a row. Please have your admin or security team check the intrusion.",
"mNotificationMsg": "Incorrect password entered 3 times in a row. Please have your admin or security team check the intrusion.",
"mSeverity": "LOW",
"mEnabled": true
}
}
The "INCORRECT PASSWORD ENTERED(ERROR)" alert looks for the password attempt point in the building and generates an alert when the password attempt value is >= 3 attempts.

 

| Alert Definition Components

The table below talks about the component in an alert definition.

KEY WORDS

USAGE

Conditionals

Main Key for all the data point variables check which will need to be fetched before an Alert is raised

Order

This order "number"  will specify the placement of the JSON section within the "conditionals" key

Key

This forms the main part of the conditional which will be made up of numerous or a single tag to filter out point or points, else it can also be a pointref trying to reference a point. This will become part of the main query that will be sent for points fetch wrt to the Equip, Floor, System, Tuner . This can be used on either side LHS and RHS of the condition. Example :

"key" : "desired and temp and cooling", / "key": "id == @c11a6ceb-0bf2-4580-9925-afbe663fb534",

"value" : "tuner and temp and cooling",

               "condition": "=="

Value

"value" can  be a verifiable number which will be used for verifying a key fetched data point.

Value can also be a query which will give points against which the point results from Key will be verified against.

"value" : "tuner and temp and cooling",

Condition

Conditions are different comparison operators like "<", ">", "<=", ">=", "==", "!="

Operator

This key "operator" is used to join two condition blocks together like "AND","OR"

Grpoperation

This defines the group operation. It can be equip, delta, min max or avg.

* ""         : run the key query system wide and fetch the matching point for evaluation with condition and value.

* "equip"    : fetch all zone equips matching key query for individual evaluation with condition and value.

* "delta"    : fetch all zone equips matching key query. For each equip, find the difference between the last two history values and use that for evaluation with condition and value.

* "min" or "max" or "avg"   : find all points matching the key query system wide, and take their min/max/ave for evaluation with condition and value.

* "bottom NN" or "top NN"  : (where NN is a percentage) find the values of all points matching the key query system wide. Take the bottom or top NN percent of the points. Use the closest value to that percentage and evaluate with condition and value.

* "oao"      : fetch all zone equips matching key query with the "oao" tag. For each, evaluate with condition and the history value of the point for the same equip matching the value query.

* "security" : Special logic evaluating the number of password attempts against value with condition.

* "alert"    : Special hard-coded logic on the CCU defines these alerts

Offset

The Time interval after which the alerts needs to be generated.

Alert

Alert Key section will contain

mAlertType

This can be of two types : INTERNAL and CUSTOMER VISIBLE

mTitle

This will need to be unique set of alphanumeric characters[Space also included] which will differentiate one Alert to another alert.

mMessage

A short description that will sent when Alerts are sent out to CCU, FAC apps

mNotificationMsg

A detailed Message that can be seen when the Short Alert messages are clicked. These messages also are sent for notification alerts options like the emails, Push Notifications.

mSeverity

Severe

Moderate

Low

Internal_Severe

Internal_Moderate

Internal_Low

Internal_Info

mEnabled

TRUE/FALSE :  This will be set to TRUE only if this has been enabled for a site by the Support Personnel in Internal portal in the Alerts Configuration Section

 

Messages To follow #defined nomenclature for dynamic inclusion of variable names and values

#equipname

substituted by the equipRef of  the shortlisted alertable points

#zonename

substituted by the roomRef of  the shortlisted alertable points

#floorname

substituted by the floorRef of  the shortlisted  alertable points

#systemname

substituted by the systemRef of  the shortlisted alertable  points

#sitename1

Obtained from the siteRef of  the shortlisted alertable  points

#pointVal1

pointVal1 is obtained when we evaluate the #condval1 , and pick its value

#pointVal2

pointVal2 is obtained when we evaluate the #condval2 , and pick its value

#pointVal3

pointVal3 is obtained when we evaluate the #condval3 , and pick its value

#pointVal4

pointVal4 is obtained when we evaluate the #condval4 , and pick its value

#pointName1

pointName1 is obtained when we evaluate the #condval1 , and pick its name

#pointName2

pointName2 is obtained when we evaluate the #condval2 , and pick its name

#pointName3

pointname3 is obtained when we evaluate the #condval3 , and pick its name

 

 

 

Previous
Next

Comments

0 comments

Please sign in to leave a comment.

Was this article helpful?

0 out of 0 found this helpful
Powered by Zendesk