Introduction
Contents
Example Status Report
<?xml version="1.0" encoding="utf-8"?> <StatusReport xmlns="ICDNAV001-StatusReport" StatusId="23232"> <Sender SenderId="SenderId1" NetworkAddress="127.0.0.1" NetworkPort="6317" /> <ModuleStatus Reported="2019-04-03T22:05:02.112" Name="Management Server" Status="Online" ModuleId="3dc5d6e3-5bda-4625-bdef-6d6ecef363c2" ModuleType="ManagementServer"> <Health Type="Database" MinValue="0" MaxValue="0" Value="0" Status="Warning" /> </ModuleStatus> <!-- Module Track Engine 1 is offline --> <ModuleStatus Name="TE1" Reported="2019-04-03T22:05:02.112" Status="Offline" ModuleId="710e8979-effb-4d2d-94d4-205aa4bd0eae" /> <ModuleStatus Name="TE2" Reported="2019-04-03T22:05:02.112" Status="Online" ModuleId="C565AE57-95C5-4C17-8CF3-E19609067500" /> <ModuleStatus Name="Camera Controller" Reported="2019-04-03T22:05:02.112" Status="Online" ModuleId="AF648F4D-3342-406E-888A-F4FAD05B36AA"/> <!-- Radar 1 being reported as offline - therefore no health metric can be reported --> <RadarHealth RadarId="1" Name="Radar 1" Reported="2019-04-03T22:05:02.112" Packets="0" Temp="0" Rotation="0" Status="Offline" /> <!-- Radar 2 being reported with a connection status of warning meaning a temporary loss of connection to the radar --> <RadarHealth RadarId="2" Name="Radar 2" Reported="2019-04-03T22:05:02.112" Packets="801" Temp="85" Rotation="2.0" Status="Warning" /> <!-- Radar 3 being reported as online but with a warning status because the temperature is too low --> <RadarHealth RadarId="3" Name="Radar 3" Reported="2019-04-03T22:05:02.112" Packets="1600" Temp="59" Rotation="4.01" Status="Online" HealthStatus="Warning"> <Health Type="Temperature" MinValue="-20" MaxValue="90" Value="-22" Status="Warning" xmlns="ICDNAV001-CommonTypes" /> </RadarHealth> <!-- The current system profile is the set to the default --> <SystemProfileStatus Name="Default" ProfileId="-1" Reported="2019-04-03T22:05:02.112" /> <AreaSummary Reported="2019-04-03T22:05:02.112"> <AreaStatus Type="General" Name="Front Gate" AreaId="1" Enabled="Enabled" /> <AreaStatus Type="Detection" Name="Detection North" AreaId="2" Enabled="Enabled" /> <AreaStatus Type="Alarm" Name="Alarm Zone A" AreaId="3" Enabled="Disabled" /> </AreaSummary> </StatusReport>
Status Report Element
The status report element has an optional StatusId attribute that will increment with every status report
Attribute | Description | Type | Unit |
StatusId | Incrementing Id of the status report | Long |
|
Module Status Element
The module status is essentially a heartbeat. Each module typically sends a heartbeat message every 5 seconds. For each module, assuming a heartbeat has been received, a status element will be added to the status report. If a status element is not present, then either the heartbeat has been delayed or the module has gone offline. When requesting a status report using a Command Message, the report can be filtered to only include the Module and Radar Health Status.
Module Status Attributes
Optional attributes are formatted in italics and highlighted with an asterisk.
Attribute | Description | Type | Unit |
Name | Name of the module. | String |
|
Reported | Time status was reported. | DateTime |
|
Status | Status of module connection – options are:·
| ConnectionStatusTypeList |
|
ModuleId* | Unique identifier for the module (optional). | String (representation of a GUID / UUID) | |
ModuleType* | Module type (optional). This is available in Witness 4.0 and higher. | String | |
HostIP* | IP of the server hosting the module (optional). This is available in Witness 4.0 and higher. | String |
Module Status Health Element (Optional)
Health elements of module status will only appear if the health elements are not heathy
Attribute | Description | Type | Unit |
---|---|---|---|
Type | Type of Health - options are:
| HealthInfoTypeList | |
Status | Health Status - options are:
| HealthStatusTypeList | |
MinValue | Not used | Double | |
MaxValue | Not used | Double | |
Value | Not used | Double |
Radar Health Element
The radar health element provides specific health details for each sensor in the system. If a radar is active and connected then the Witness system will receive regular health updates. The latest health report for each radar is added to the status report. If a recent health update has not been received for any of the radar then there will be no element for that radar.
Radar Health Attributes
Attribute | Description | Type | Unit |
RadarId | ID of the radar | Long |
|
Name* | User-friendly name of the radar (optional) | String |
|
Reported | Time health was reported | DateTime | |
Packets | Radar packet rate per second. Value will vary depending on the range and mode of the radar | Double | |
Temp | The current operating temperature of the sensor | Double |
|
Rotation | The current rotation rate of the radar. Some models of radar have different rotation speeds but the default is 1Hz. | Double | |
Status | Status of radar connection – options are:
| ConnectionStatusTypeList | |
HealthStatus | Health Status of Radar - options are:
If Status of radar is Offline then the health status will be Unknown. | HealthStatusTypeList |
Radar Health Status Element (Optional)
Radar health status items will only appear if the Radar has a HealthStatus of Warning or Unhealthy
Attribute | Description | Type | Unit |
---|---|---|---|
Type | Type of Health - options are:
| HealthInfoTypeList | |
Status | Health Status - options are:
| HealthStatusTypeList | |
MinValue | Minimum value can be | Double | |
MaxValue | Maximum value can be | Double | |
Value | Value | Double |
If the module or radar has been reported as being online, then if the system loses the connection to that application or device the status will change to reflect that. Typically, the application or device will change status from Online -> Warning -> Offline.
If a module or radar is removed from the list, then this would indicate the device has been shut down intentionally (i.e. a user stops a Bloodhound service) and should not be a cause for concern. In this situation the health will stop being reported for the removed device.
There is no status to indicate that any of the values contained within the health data are outside expected parameters. This checking should be performed by the 3rd party based on suitable criteria for their own application.
Be aware that radar health can only be reported if the tracker is active. If a tracker goes offline, then no radar health will be reported for that tracker.
Trackers and their attached radar will always share the same Id (i.e. tracker ID:1 will be connected to radar ID:1).
In situations where Witness is being used with recorded or simulated data then radar health updates will be simulated to ensure the system remains healthy. Detailed health data, such as temperature, will not be available.
System Profile Status Element
The system status element shows which system profile is currently active. The Id is the UserId of the profile and the name is also included to make the data more readable. When requesting a status report using a Command Message, the report can be filtered to only include the System Profile Status.
System Profile Status Attributes
Attribute | Description | Type | Unit |
Name | User-friendly name of the current system profile | String |
|
ProfileId | The profile Id of the current system profile | Integer |
|
Reported | Time and date that the status was last reported | DateTime |
Area Summary Element
The area summary element contains a list of Area Status elements. Each status element contains details on the area, including the user Id, name current state. When requesting a status report using a Command Message, the report can be filtered to only include the Area Summary Status.
Attribute | Description | Type | Unit |
Reported | Time and date that the status was last reported | DateTime |
|
Area Status Element
Attribute | Description | Type | Unit |
Type | The type of area. These map to the area types in Witness:
| AreaTypeList |
|
Name | The user friendly name of the area | String |
|
AreaId | The User Id for the area | Integer | |
Enabled | The current state of the area. Depending on the type of area, the state has different implications. For example, disabling an Alarm area means it cannot be used inside rules. If a Detection areas is disabled it means the tracker will not generate tracks in that area. Disabling an exclusion area will stop it excluding data from the tracker allowing it to generate tracks | Boolean |
Related Information
-
ICD-001 Track Filter Command (Witness 4.0)
-
ICD-001 Acknowledge Alarm Command (Witness 4.0)
-
ICD-001 Request Status Command (Witness 4.0)
-
ICD-001 Detection Command (Witness 4.0)
-
ICD-001 Update Entity Command (Witness 4.0)
-
ICD-001 System Profile Command (Witness 4.0)
-
ICD-001 External Trigger Command (Witness 4.0)
-
ICD-001 Plugin (Witness 4.0)
-
System Profiles (Witness 4.0)
-
ICD-001 Command Reply (Witness 4.0)
-
ICD-001 Camera Command (Witness 4.0)
-
ICD-001 Track Command (Witness 4.0)
-
ICD-001 Tracker Command (Witness 4.0)
-
ICD-001 Commands (Witness 4.0)
-
ICD-001 Change Log (Witness 4.0)