Connect your SIA-DCS compatible alarm system to node-red.
EXAMPLE OF CONFIGURING AJAX HUB
The SIA-DCS node listens from incoming SIA messages from your alarm device.
Everytime a SIA message arrives, the node decodes it and outputs it to the flow.
In this example, the node retrieves all messages from the SIA client. You'll see that the device list (in the server configuration window), is also filled with some devicenames/id samples.
Copy this code and paste it into your flow
[{"id":"90f04fe351adfd9b","type":"debug","z":"4e8eb9b80650f523","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":470,"y":120,"wires":[]},{"id":"2fc45b7cddeb3150","type":"SIAUltimate","z":"4e8eb9b80650f523","name":"","topic":"Banano","server":"bea9e0c70f4e12c6","discardAutomaticTest":"no","x":200,"y":140,"wires":[["90f04fe351adfd9b"],["30898bf6227f9439"]]},{"id":"30898bf6227f9439","type":"debug","z":"4e8eb9b80650f523","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":470,"y":160,"wires":[]},{"id":"169dd9a9fdde7c6c","type":"comment","z":"4e8eb9b80650f523","name":"SIA-DCS Messages receiver","info":"","x":240,"y":100,"wires":[]},{"id":"bea9e0c70f4e12c6","type":"siaendpoint-config","port":"4628","name":"Server","acktimeout":"12","hex":"no","aes":"no","heartbeatTimeout":"120","deviceList":"0000,Alarm Panel\n1,PIR Bedrom\n2,Microwave Front Door\n4,PIR Soggiorno","credentials":{}}]
SERVER CONFIGURATION
NODE CONFIGURATION
Output PIN 1
Pin 1 emits the current received SIA message
msg = {
"connection":"TCP", // (Or UDP, in case of UDP connections)
"decoded":{
"lf":10,
"len":37,
"crc":53406,
"crcformat":"hex",
"cr":13,
"str":"\"SIA-DCS\"0119L0#000[#000|Nri0/RP0000]",
"calc_len":37,
"calc_crc":53406,
"id":"SIA-DCS",
"seq":"0119",
"rpref":"",
"lpref":"0",
"act":"000",
"pad":"",
"data_message":"#000|Nri0/RP0000",
"data_extended":"",
"ts":""
},
"topic":"Banano",
"payload":{ // This contains the message decoded
"deviceName": "PIR Badroom", // The device name is taken from the list you filled in the server configuration node
"deviceID": "4", // Device ID that fired the event
"code":"RP",
"description":"AUTOMATIC TEST"
},
"_msgid":"9e49e52528dbfac5"
}
Output PIN 2 (connection error)
If, after the elapsed intervall, no messages have been received, it raises an error
msg = {
"topic": "",
"errorDescription": "" // This will contain the error rescription, in case of errors.
}
This is a partial porting/revisiting from iobroker.sia by schmupu. They did a very good job.