JSON_OutputCap

JSON message about the configuration capability of logical relays

{
  "OutputCap":{
    "id":{  
/*required, relay No. range*/
      "@min": ,
      "@max":
    }, 
    "name":{ 
/*optional, range of relay name length*/
      "@min": ,
      "@max":
    }, 
    "related":{  
/*required, whether to link to the physical relay (the channel of the output module)*/
      "@opt":"true,false"
    }, 
    "outputModuleNo":{  
/*required, range of output module No. length*/
      "@min": ,
      "@max":
    },  
    "channelNo":{  
/*required, range of channel No. of output module*/
      "@min": ,
      "@max":
    }, 
    "linkage":""{  
/*required, event types linked to the relay: "alarm", "arming", "disarming", "manualCtrl"-manual control, "system"-system event, "zone". When this field is "arming", "disarming", or "alarm", one or more partitions can be configured to link*/
      "@opt":"alarm,arming,disarming,manualCtrl,system,zone"
    },
    "minorType":{
/*optional, array, minor event type: "zoneAlarmTamper"-zone alarm and tampered event, "exDevTamper"-peripheral device tampered, "hostTamper"-control panel tampered, "emergency"-panic alarm, "medical"-medical alarm, "fire"-fire alarm, "gas"-gas event. When linkage is "alarm", one or all minor event types can be selected. The data type of elements in the array is string*/
      "@opt":["zoneAlarmTamper", "exDevTamper", "hostTamper", "emergency", "medical", "fire", "gas"]
    }, 
    "subSystem":{
/*optional, number of linked partitions*/
      "@min": , 
      "@max": 
    }, 
    "subSystemNo":{
/*optional, range of partition No.*/
      "@min": , 
      "@max": 
    }, 
    "LinkageList":{
/*optional, linked event list. If the device supports multiple linkage event types linking to multiple minor event types and multiple partitions, this node can be used. For compatibility, one linkage event types linking to multiple minor event types and multiple partitions should also be supported*/
      "@size":2,
/*int, maximum number of linkage event types*/
      "linkage":""{
/*optional, string, event types that can be linked to the relay: "alarm", "arming", "disarming", "manualCtrl"-manual control, "zone"*/
        "@opt":"alarm,arming,disarming,manualCtrl,zone"
      },
      "alarmMinorType":{
/*optional, array, minor event type: "zoneAlarmTamper"-zone alarm and tampered event, "exDevTamper"-peripheral device tampered, "hostTamper"-control panel tampered, "emergency"-panic alarm, "medical"-medical alarm, "fire"-fire alarm, "gas"-gas event. When linkage is "alarm", one or all minor event types can be selected. The data type of elements in the array is string*/
        "@opt":["zoneAlarmTamper","exDevTamper","hostTamper","emergency","medical","fire","gas"]
      },
      "zoneEvent ":{
        "@min":1,
/*optional, int, minimum zone No.*/
        "@max":2,
/*optional, int, maximum zone No.*/
        "@size":2
/*optional, int, maximum number of zones that can be linked*/
      }
      "subSystem":{
        "@min":1,
/*optional, int, minimum partition No.*/
        "@max":2,
/*optional, int, maximum partition No.*/
        "@size":2
/*optional, int, maximum number of partitions that can be linked*/
      } 
    },
    "durationConstOutputEnable":{
/*optional, boolean, whether it supports configuring relay output duration: "true"-not support (the duration cannot be configured and the relay will output continuously), "false"-support (the duration can be configured and it can be between 5s and 600s)*/
      "@opt":"true,false"
    },
    "isLinkageSupportMultiSelect": ,
/*optional, boolean type, whether the node linkage supports multiple selections, "false" or this node is not returned-not support, "true"-support*/
    "alarmEvent":""{
/*optional, string type, alarm event types, this node is valid only when the node linkage is "alarm", e.g., "1,3" indicates that the zone 1 and zone 3 is enabled; if this node is not configured, it indicates that all zones are enabled*/
      "@opt":"1,2,3,4"
    },
    "zoneEvent":{
/*optional, string, zone event type, this node is valid when linkage contains "zone". For example, [1,3] indicates that zone 1 and zone 3 are enabled. If this node is not configured when linkage contains "zone", it indicates enabling all zones*/
      "@opt":[0,1,2,3]
    },
    "systemEvent":""{
/*optional, string type, system event types: "ACOff"-AC power off, "networkAbnormal"-network fault, "dismantleAlarm"-tampering alarm, "hidAlarm"-device blocking alarm, "preventMoveEvent"-motion event, "radarAbnormal"-radar fault. This node is valid only when the node linkage is "system"; if this node is not configured, it indicates that all system event types are selected*/
      "@opt":"ACOff,networkAbnormal,dismantleAlarm,hideAlarm,preventMoveEvent,radarAbnormal"
    },
    "duration":{   
/*optional, output duration of the relay*/
      "@min": ,
      "@max":
    }, 
    "moduleType":{
/*optional, read-only, module type: "localWired"-local wired module, "extendWired"-extended wired module, "localWireless"-local wireless module, "extendWireless"-extended wireless module*/
      "@opt":["localWired","extendWired","localWireless","extendWireless"]
    },
    "scenarioType": {  
/*optional, object, scenario type, you can select one or multiple types*/
      "@opt": ["alarm", "schedule", "arm", "disarm", "clearAlarm", "fault", "manual"]
    },
    "alarmCfg": {  
/*optional, object, alarm configuration, this node is valid when scenarioType is "alarm"*/
      "alarmType": {  
/*optional, object, alarm type, you can set one or multiple types*/
        "@opt": ["zoneAlarmAndTamper", "exDevTamper", "panicAlarm", "medicalAlarm", "hostTamper", "fireAlarm"]
      },
      "relayMode": {  
/*optional, object, relay mode*/
        "@opt": ["pulse", "latch"]
      },
      "pulseDuration": {  
/*optional, object, pulse interval, this node is valid when relayMode is "pulse"*/
        "@min":  0,  
/*optional, int, the minimum value*/
        "@max":  0  
/*optional, int, the maximum value*/
      },
      "contactStatus": {  
/*optional, object, relay status after events occurred*/
        "@opt": ["normalOpen", "normalClose"]
      },
      "supportAssociatedZone": {  
/*optional, object, zones that can be linked, this node is valid when alarmType is "zoneAlarmAndTamper"*/
        "@min":  1,  
/*optional, int, the minimum value*/
        "@max":  2,  
/*optional, int, the maximum value*/
        "@size":  1  
/*optional, int, the maximum number of zones that can be linked*/
      },
      "associateZoneCfg": {  
/*optional, object, zones that have been linked with this relay, this node is valid when alarmType is "zoneAlarmAndTamper"*/
        "@min":  1,  
/*optional, int, the minimum value*/
        "@max":  2,  
/*optional, int, the maximum value*/
        "@size":  1  
/*optional, int, the maximum number of zones that can be linked with this relay*/
      },
      "alarmLogic": {  
/*optional, object, alarm logic: "and", "or", this node is valid when alarmType is "zoneAlarmAndTamper"*/
        "@opt": ["and", "or"]
      },
      "supportLinkageChannelID": {  
/*optional, object, No.s of the channels that can be linked with network cameras, this node is valid when alarmType is "zoneAlarmAndTamper"*/
        "@min":  1,  
/*optional, int, the minimum value, range:[1,4]*/
        "@max":  4,  
/*optional, int, the maximum value, range:[1,4]*/
        "@size":  4  
/*optional, int, the maximum number of channels that can be linked with network cameras, range:[1,4]*/
      },
      "linkageChannelID": {  
/*optional, object, No.s of the channels to be linked with network cameras, this node is valid when alarmType is "zoneAlarmAndTamper"*/
        "@min":  1,  
/*optional, int, the minimum value, range:[1,4]*/
        "@max":  4,  
/*optional, int, the maximum value, range:[1,4]*/
        "@size":  4  
/*optional, int, the maximum number of channels to be linked, range:[1,4]*/
      }
    },
    "address":{
/*optional, read-only, module address, this node is only returned by wired modules*/
      "@opt":[1,2,3]
    },
    "linkageAddress":{
/*optional, read-only, linked module address, this node is only returned by wireless modules*/
      "@opt":[1,2,3]
    },
    "moduleChannel":{
/*optional, module channel No.*/
      "@min": ,
      "@max":
    },
    "method":{  
/*required, methods supported by the function: "put"-edit, "getAll"-get all, "getCond"-get by conditions*/
      "@opt":"put,getAll,getCond"
    },
    "alarmLine":{
/*optional, integer type, number of linked trigger lines' No.*/
      "@min": ,
      "@max": 
    },
    "alarmLineNo":{
/*optional, integer type, range of trigger line No., the minimum No. is 1*/
      "@min":1,
      "@max": 
    },
    "followModeEnabled":{
/*optional, boolean type, whether to enable following mode. If this node is set to "true": 1) duration is invalid for zone alarms, and after the zone or trigger line is triggered, the relay can remain open until the zone or trigger line is restored; 2) only zone or trigger line events can be linked, system events and arming and disarming events cannot be linked*/
      "@opt":[true,false]
    },
    "maxOutputsResults": ,
/*optional, integer, maximum number of records that can be obtained each time by calling this URI. This node is valid only when method is "getCond"*/
    "isSupportSignalTest":  true,  
/*optional, boolean, whether it supports signal strength detection, if the value is false or the node is not returned, it indicates that this function is not supported*/
    "isSupportZoneTest":  true,  
/*optional, boolean, whether it supports zone detection, if the value is false or the node is not returned, it indicates that this function is not supported*/
    "notRelatedOutputNo": {  
/*optional, object, No. of unlinked relay*/
      "@size":  1,  
/*optional, int, the maximum number of unlinked relays*/
      "@min":  1,  
/*optional, int, the minimum value*/
      "@max":  2  
/*optional, int, the maximum value*/
    },
    "modifiedOutputNo": {  
/*optional, object, relay No. that has been modified*/
      "@min":  1,  
/*optional, int, the minimum value*/
      "@max":  2  
/*optional, int, the maximum value*/
    },
    "accessModuleType": {  
/*optional, object, access module type*/
      "@opt": ["transmitter", "multiTransmitter", "localTransmitter", "localRelay", "keypad"]
    },
    "relatedAccessModuleID": {  
/*optional, object, No. of the linked access module*/
      "@min":  0,  
/*optional, int, the minimum value*/
      "@max":  255  
/*optional, int, the maximum value*/
    },
    "relayAttrib": {  
/*optional, object, relay attribute: "wired", "wireless" (default)*/
      "@opt": ["wired", "wireless"]
    }
  }
}

Remarks

Zone parameters configured by alarmEvent and zoneEvent should be the same and they both start from 0.