Method (alarm-manager.js)
Function Name | Description |
---|---|
init | Init Alarm Manager |
quit | Quit Alarm Manager |
getAlarmLog | Get alarms' log |
getAlarmStatus | Get alarms' status |
triggerAlarm | Trigger alarm |
init
- Purpose: Init Alarm Manager
- Input:
Name | Data Type | Description |
---|---|---|
options | Object | connection options |
options mongoConf | Object | mongo connection config |
options.mqttConf | Object | mqtt conneciton config |
- Logical description:
- if have mongoConf and mongo not connected, then connect mongo
- if have mqttConf and mqtt not connected, then connect mqtt
quit
- Purpose: Quit Alarm Manager
- Logical description:
- if mongo is connected, then disconnect mongo
- if mqtt is connected, then disconnect mqtt
getAlarmLog
- Purpose: Get alarms' log
- Input: | Name | Data Type | Description | | :---: | :---: | :---: | | params | Object | filter object | | params.alarmId | Number | filter alarm Id | | params.scadaId | String | filter scada Id | | params.startTs | Date | filter alarm trigger ts | | params.endTs | Date | filter alarm trigger ts | | params.count | Number | retrieve count. default: 1 | | params.order | Boolean | data order. default: true |
- output
Array of Alarm Log Object
Logical description:
- check startTs and endTs format
- alarmLog.getAlarmLog({alarmId, scadaId, startTs, endTs, count, order})
getAlarmStatus
- Purpose: Get alarms' status
- Input: | Name | Data Type | Description | | :---: | :---: | :---: | | params | Object | filter object | | params.alarmId | Number | filter alarm Id | | params.scadaId | String | filter scada Id | | params.deviceId | String | filter device Id | | params.tagName | String | filter tagName | | params.acked | Boolean | filter acked | | params.status | Boolean | filter status |
- output
Array of Alarm Status Object
Logical description:
- alarmStatus.getAlarmStatus({alarmId, scadaId, deviceId, tagNAme, acked, status})
triggerAlarm
- Purpose: Trigger Alarm
- Input: | Name | Data Type | Description | | :---: | :---: | :---: | | records | Array | record | | record.alarmId | Number | alarm Id | | record.scadaId | String scada Id | | record.deviceId | String | filter device Id | | record.tagName | String | filter tagName | | record.value | Boolean | value | | record.ts | Boolean | trigger ts |
- Logical description:
- check if alarmId, scadaId, deviceId, tagName, value are exist
- check ts format
- update alarm status, return updated
- alarmStatus.triggerAlarmStatus(alarmId, scadaId, deviceId, tagName, ts)
- if updated is true, then insert Trigger record
- alarmLog.inserTriggerAlarmLog(records)