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:
    1. if have mongoConf and mongo not connected, then connect mongo
    2. if have mqttConf and mqtt not connected, then connect mqtt

quit

  • Purpose: Quit Alarm Manager
  • Logical description:
    1. if mongo is connected, then disconnect mongo
    2. 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:

    1. check startTs and endTs format
    2. 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:

    1. 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:
    1. check if alarmId, scadaId, deviceId, tagName, value are exist
    2. check ts format
    3. update alarm status, return updated
      • alarmStatus.triggerAlarmStatus(alarmId, scadaId, deviceId, tagName, ts)
    4. if updated is true, then insert Trigger record
      • alarmLog.inserTriggerAlarmLog(records)

results matching ""

    No results matching ""