Dahualarmhub
The DAHUAALARMHUB I/O Server allows HSYCO to receive alarms from and send commands to the Dahua Alarm Hub 2 security panel. Communication between HSYCO and the panel requires the SIA (Security Industry Association) protocol to be configured on the panel.
Communication
Section titled “Communication”The driver listens for incoming SIA messages over a TCP connection initiated by the Dahua Alarm Hub 2 panel, decodes the received messages, and exposes the most relevant fields as datapoints. It also supports sending control messages.
SIA protocol notification must be activated on the DMSS app of the panel.
In the app, under Hub Settings, select Alarm Receiving Center then Alarm Receiving Center1
- Select SIA DC-09 as the protocol.
- Set the preferred IP address to the IP of the HSYCO server.
- Set the heartbeat interval to 10 seconds or less if you need to notify alarms to HSYCO in real time.
- Configure the central account as preferred — for example, "12345".
- Enable AES-128 encryption.
- Configure the panel to upload all events to HSYCO.
Remember to enable the Alarm Receiving Center, the first toggle button in the configuration.
HSYCO Configuration
Section titled “HSYCO Configuration”Add a DAHUALARMHUB I/O Server in the I/O Servers section of the Settings and set its parameters:
| Name | Default | Values | Description |
|---|---|---|---|
| port | 6410 | number | TCP port number on which the server listens |
| threads | 1 | number | number of threads used to handle connections |
| secret | string | secret key for AES encryption. Must match the key configured in the DMSS app. | |
| centralaccount | string | Central Account number. Must match the key configured in the DMSS app. | |
| heartbeat | 60 | number | The heartbeat interval must match the one configured on the panel. |
| discardnotvalidtimestamps | true | boolean | If set to true, SIA messages received with a timestamp differing by more than ±60 seconds from the current system timestamp do not trigger a datapoint change. Setting this attribute to true is necessary when you want to avoid generating datapoints in all cases where HSYCO is offline and an event occurs on the control panel. This is because the panel stores events in memory and sends them one by one when the connection with HSYCO is restored, using the original event timestamp. As a result, when HSYCO comes back online, datapoints related to old panel alarms and events would otherwise be generated. |
High Availability
Section titled “High Availability”- Shutdown when inactive: defaults to false
Datapoints
Section titled “Datapoints”| Datapoint | Type | R/W | Description |
|---|---|---|---|
| connection | online | R | the panel is communicating with HSYCO |
| offline | R | no communication has been received from the panel for more than one hour | |
| area.<n>.armed | 0 | R | area <n> is not armed |
| 1 | R | area <n> is armed | |
| area.<n> | away | R | area <n> is armed in away mode |
| away | W | arm the area <n> in away mode | |
| force | R | area <n> is armed in force mode | |
| force | W | arm the area <n> in force mode | |
| home | R | area <n> is armed in home mode | |
| home | W | arm the area <n> in home mode | |
| area.<n> | disarm | R | area <n> is not armed |
| disarm | W | disarm area <n> | |
| area.<n>.alarm | 0 | R | area <n> is not in alarm |
| 1 | R | area <n> is in alarm | |
| area.<n>.panic | 0 | R | area <n> is not in panic alarm |
| 1 | R | area <n> is in panic alarm | |
| device.<n>.bypass | 0 | R | device <n> is not bypassed |
| 0 | W | unbypass device <n>. This command can be used to restore from bypass and tamper bypass | |
| 1 | R | device <n> is bypassed | |
| 1 | W | bypass device <n> | |
| device.<n>.bypasstamper | 0 | R | device <n> tamper is not bypassed |
| 1 | R | device <n> tamper is bypassed | |
| device.<n>.deactivate | 1 | W | device <n> is deactivated |
| device.<n>.reactivate | 1 | W | device <n> is reactivated |
| commands.queue | clear | W | clear the commands queue |
Sending Commands
Section titled “Sending Commands”Examples of EVENTS commands. The I/O server ID is set to dahua:
time : IO dahua.area.1 = away
time : IO dahua.area.1 = disarm
time : IO dahua.area.1 = home
time : IO dahua.area.1 = force
time : IO dahua.device.1 = bypass
time : IO dahua.device.1 = unbypass
time : IO dahua.device.1 = bypasstamper
time : IO dahua.device.2 = deactivate
time : IO dahua.device.2 = reactivate
Using JavaScript:
TIME : {
ioSet("dahua.area.1", "1");
}
3.10.1
Section titled “3.10.1”- fixed the heartbeat option, that was ignored, leaving the heartbeat interval at 60 seconds
3.10.0
Section titled “3.10.0”- initial release
DAHUA ALARM HUB is a trademark of Dahua Technology Co., Ltd
