Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
node-red-contrib-hikvision-ultimate
Advanced tools
A native set of node for Hikvision Cameras, Alarms, Radars etc.
A native set of node for Hikvision Cameras, Alarms, Radars, NVR etc.
This is a set of nodes to handle ISAPI Hikvision messages. It works exclusively with HIKVISION devices.
Works with cameras, NVR and also with specialized devices, like Radar (for example DS-PR1-60, DS-PR1-100 and DS-PR1-120).
Digest authentication: it should work with all devices.
All nodes are capable of auto reconnect if the connection is lost and are able to actively monitor the connection.
The node uses pipelines to handle streams, so you need at least Node V.10.0.0, or newer, installed. To check Node version, type node -v in a command prompt.
The alarm node connects to NVR, Camera, Alarm system, Radars etc... and outputs true/false whenever an alarm occurs.
You can choose from different alarms, for example:
For other advanced alarms, not present in this node, use the RAW Alarm node instead.
Flow Messages
The node outputs a payload on PIN 1, true if alarm starts, false when alarm ended. Some alarm type doesn't support the alarm end event, so the node sends only a true payload when alarm occurs.
The node outputs a payload on PIN 2, representing a connection error. TRUE if error, otherwise FALSE
This below is an example of msg output:
Output PIN 1
msg = {
"payload":true, // True if alarm starts, false if ends.
"channelid":"1", // If you have many video channels on your camera, this represents the channel number.
"description":"Motion alarm", // Type of alarm
"_msgid":"28f2b9e6.7c74f6"
}
Output PIN 2 (connection error)
msg = {
"topic": "",
"errorDescription": "", // This will contain the error rescription, in case of errors.
"payload": false, // Or TRUE if error
"_msgid": "dd5b3622.884a78"
}
This node works with Hikvision ANPR cameras.
Flow Messages
The payload contains the license plate number and the property "plate" contains other useful informations.
Output PIN 1
msg.payload = {
"topic":"",
"payload":"AB123CD", // This is the license plate
"plate":{
"captureTime":"20201130T114200+0100",
"plateNumber":"AB123CD",
"picName":"202011301142008600", // This is the picture's name of the license plate.
"country":"ITA",
"laneNo":"1",
"direction":"forward",
"matchingResult":"otherlist"
}
}
Output PIN 2 (connection error)
msg = {
"topic": "",
"errorDescription": "", // This will contain the error rescription, in case of errors.
"payload": false, // Or TRUE if error
"_msgid": "dd5b3622.884a78"
}
This node works with Hikvision PTZ cameras.
Just select the preset in the configuration window and recall it by passing true as payload.
Flow Messages
The node outputs true on PIN 1 if the command is executed, otherwise an error on PIN 2.
Input
msg.payload = true; // Recalls the preset
Output PIN 1
msg.payload = {
{
"payload": true, // true after the camera has reached the PTZ preset position
"_msgid": "b07e50f6.86a72"
}
Output PIN 2 (connection error)
msg = {
"topic": "",
"errorDescription": "", // This will contain the error rescription, in case of errors.
"payload": false, // Or TRUE if error
"_msgid": "dd5b3622.884a78"
}
This node gets a picture from camera, ready to be shown in the dashboard UI.
The image can be rotated and resized as well.
Pass true as payload to obtain the image.
You can, for example, link the Alarm node to the Picture node to get an image whenever an alarm occurs.
The Template node in this example, contains this code:
<img src="{{payload}}"/>
The Dashboard node in this example, contains this code:
<div ng-bind-html="msg.payload"></div>
Flow Messages
The node outputs the image in base64 string format, ready for the UI Dashboard, on PIN 1, otherwise an error on PIN 2.
Input
msg.payload = true; // To get the image
Output PIN 1
msg.payload = {
{
"payload": image in base64 format, // Ready for the Dashboard UI
"_msgid": "b07e50f6.86a72"
}
Output PIN 2 (connection error)
msg = {
"topic": "",
"errorDescription": "", // This will contain the error rescription, in case of errors.
"payload": false, // Or TRUE if error
"_msgid": "dd5b3622.884a78"
}
This node works with Hikvision Radars.
Flow Messages
The node outputs a message whenever an alarm starts or ends. It uses CID codes to identify the alarm type.
The payload is TRUE whenever alarm occurs, otherwise FALSE whenever alarm ends.
The complete alarm event is stored in the "alarm" property of the payload.
In an unknown CID event arrives from the Radar, the node will output a message containing the CID code, the full alarm and a null payload.
Output PIN 1
msg.payload = {
{
"zone": 1, // This is the zone number that fired the alarm
"payload": true, // true if alarm, otherwise false if alarm ended.
"alarm": {
"ipAddress": "192.168.1.25",
"ipv6Address": "",
"portNo": 80,
"protocol": "HTTP",
"macAddress": "9banana",
"channelID": 1,
"dateTime": "2012-01-13T03:58:19+01:00",
"activePostCount": 1,
"eventType": "cidEvent",
"eventState": "active",
"eventDescription": "CID event",
"CIDEvent": {
"code": 3103,
"standardCIDcode": 3130,
"type": "zoneAlarm",
"trigger": "2012-01-13T03:58:19+01:00",
"upload": "2012-01-13T03:58:19+01:00",
"CameraList": [],
"NVRList": [
{
"id": 1,
"ip": "192.168.1.32",
"port": 8000,
"channel": 1
}
],
"zone": 1
}
}
"_msgid": "b07e50f6.86a72"
}
Output PIN 2 (connection error)
msg = {
"topic": "",
"errorDescription": "", // This will contain the error rescription, in case of errors.
"payload": false, // Or TRUE if error
"_msgid": "dd5b3622.884a78"
}
The RAW alarm node reacts to every message sent. You can use this node when the other nodes doesn't fit your needs. It connects to NVR, Camera, Alarm system, Radars etc... and outputs the alarm received.
Flow Messages
The node outputs a payload on PIN 1 that can vary, depending on the alarm type sent by the connected device.
The node outputs a payload on PIN 2, representing a connection error. TRUE if error, otherwise FALSE
This below is an example of msg output (in this case, a movement detected from a radar)
Output PIN 1
msg.payload = {
"topic": "",
"payload": {
"ipAddress": "192.168.1.25",
"ipv6Address": "",
"portNo": 80,
"protocol": "HTTP",
"macAddress": "banana",
"channelID": 1,
"dateTime": "2012-01-13T04:32:47+01:00",
"activePostCount": 1,
"eventType": "MultiRadarTargetEvent",
"eventState": "active",
"eventDescription": "MultiRadar Target Event",
"MultiRadarTargetEventList": [
{
"targetID": 25,
"isTargetDisappear": false,
"targetType": "people",
"Coordinate": {
"angle": 101.49,
"distance": 24.59
},
"speed": -0.2,
"signalStrength": "strong",
"TrackedInfoList": [],
"trackedByIPC": false
}
]
},
"_msgid": "dba1850a.2dc5e8"
}
Output PIN 2 (connection error)
msg = {
"topic": "",
"errorDescription": "", // This will contain the error rescription, in case of errors.
"payload": false, // Or TRUE if error
"_msgid": "dd5b3622.884a78"
}
FAQs
A native set of nodes for Hikvision (and compatible) Cameras, Alarms, Radars, NVR, Doorbells, etc.
The npm package node-red-contrib-hikvision-ultimate receives a total of 127 weekly downloads. As such, node-red-contrib-hikvision-ultimate popularity was classified as not popular.
We found that node-red-contrib-hikvision-ultimate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.