Trigger Hexagon Event
Trigger an alarm, alarm recording, or bookmark in HxGN dC3 Video
Overview
This node triggers HxGN dC3 Video actions through the SeeTec Gateway Service (SGS) REST API. A trigger can perform any combination of these supported actions:
- Trigger an existing alarm scenario.
- Start alarm recording for a camera and stop it after a configured duration.
- Create a bookmark for a camera.
The node uses HTTPS and creates an SGS interface session automatically. It does not create alarm scenarios: alarm_name is matched case-insensitively against the alarm scenarios available to the configured Hexagon user.
Inputs & Outputs
- Inputs: 1, Media Format: Raw Video
- Outputs: 1, Media Format: Raw Video
- Output Metadata: None
Properties
| Property | Description | Type | Default | Required |
|---|---|---|---|---|
enabled | Enabled | bool | true | No |
hexagon_host | Hostname or IP address of the HxGN dC3 Video SeeTec Gateway Service (SGS). Conditional on enabled being true. | string | null | Yes |
hexagon_port | The SOAP/REST port configured for the SeeTec Gateway Service. Conditional on enabled being true. | number | 62000 | Yes |
hexagon_username | Dedicated HxGN dC3 Video user with access to the required alarm scenarios and cameras. Conditional on enabled being true. | string | null | Yes |
hexagon_password | Hexagon password. Conditional on enabled being true. | string | null | Yes |
verify_ssl | Verify the HTTPS certificate presented by the SeeTec Gateway Service. Conditional on enabled being true. | bool | false | No |
hexagon_camera_id | Camera number for alarm recording and bookmarks. Found at Hexagon client -> Configuration mode -> System -> Entity numbering -> Video sources -> Number. Conditional on enabled being true. | string | null | No |
trigger_alarm | Trigger an existing HxGN dC3 Video alarm scenario matched by name. | bool | true | No |
alarm_name | Exact name of an existing alarm scenario available to the configured user. Matching is case-insensitive. Conditional on trigger_alarm being true. | string | null | Yes |
trigger_recording | Start alarm recording for the configured Hexagon camera, then stop it after the configured duration. | bool | false | No |
recording_duration | How long alarm recording remains active after the latest trigger. A new trigger restarts this duration. Conditional on trigger_recording being true. Range: minimum 0.1. Unit: seconds. | float | 10 | Yes |
trigger_bookmark | Create a new bookmark for the configured Hexagon camera. | bool | false | No |
interval | Min. time between consecutive actions. Unit: seconds. | float | 0 | Yes |
event_source | Trigger Hexagon actions from events generated by previous nodes or from a custom condition. Options: Events from previous nodes (built_in); Custom Event (custom). | enum | built_in | Yes |
trigger | Run the selected Hexagon actions when this condition evaluates to true. Conditional on event_source being custom. | trigger-condition | null | Yes |
event_name | Bookmark name for a custom event. Events from previous nodes use their event names. If blank, the configured alarm name is used. Conditional on event_source being custom. | string | null | No |
event_description | Bookmark description. Accepts Jinja templates. A description supplied by an upstream event takes precedence. | string | null | No |
Event and bookmark behavior
With Events from previous nodes, the node extracts unique event names and descriptions from upstream node metadata, top-level events, and search metadata. Bookmark names are converted from snake case to title case. If an upstream event includes an event description, it takes precedence over the configured bookmark description and is sent as plain text, without interpreting template syntax.
With Custom Event, trigger determines when actions run. event_name and event_description become the bookmark name and description. The alarm action always uses alarm_name, independently of the triggering event name.
If multiple upstream events occur on the same frame, the node triggers the configured alarm once, starts recording once, and creates one bookmark per unique event.
When alarm recording is enabled, each start attempt schedules Stop_Alarm_Recording after recording_duration seconds. This includes unconfirmed starts because SGS may have started recording even if its response was lost. A new trigger cancels the previous stop and restarts the duration.
If a stop cannot be confirmed after the initial HTTP retries, the node keeps retrying with exponential backoff from 5 seconds up to 5 minutes between retry batches, while the deployment is running. A new start supersedes pending stop retries. A service outage can delay stopping beyond the configured duration. On deployment shutdown, the node cancels pending retries and makes a final best-effort stop attempt; check recording in Hexagon if that attempt fails.
Bookmark description template
event_description uses Jinja2 Template Syntax. Available variables are:
| Variable | Description |
|---|---|
deployment_id | Deployment ID. |
deployment_name | Deployment name. |
application_id | Application ID. |
application_name | Application name. |
gateway_id | Gateway ID. |
gateway_name | Gateway name. |
node_id | Node ID. |
meta.nodes | Node metadata. |
meta.objects | Object metadata. |
meta.custom_property | Custom properties inserted by a Custom Function node. |
Example:
{{ deployment_name }}: count={{ meta.nodes.counter1.count }}Hexagon configuration
Create a dedicated HxGN dC3 Video user for this integration. The user must be able to access the selected camera and alarm scenario and must have permission to trigger alarms through SGS.
Use the SGS SOAP port as hexagon_port; SGS listens for SOAP and REST on that same configured port. The node always connects over HTTPS. Enable verify_ssl when SGS presents a certificate trusted by the gateway.
Alarm scenarios and cameras must already exist in HxGN dC3 Video.
Find and assign the Hexagon camera number
For recording and bookmarks, enter the camera's assigned entity number in Hexagon camera number (hexagon_camera_id):
- Open Configuration mode -> System -> Entity numbering -> Video sources in the Hexagon client.
- Find the camera by its name and path. Set its Number to a unique, non-negative number if it is currently unassigned (
-1), then save. - Enter that number in the node's Hexagon camera number setting.
The node uses Request_EntityNumber_List to resolve a VideoSourceNumber to its internal SGS EntityID, checks that the camera appears in Request_Camera_List for the configured user, and caches the successful result for the deployment's lifetime. Restart the deployment after changing the selected camera's number in Hexagon. Missing, inaccessible, or ambiguous mappings prevent recording and bookmark actions and are logged as errors; they do not prevent an independently configured alarm scenario from being triggered.
The Camera ID field under Camera Settings -> General is a different value. Do not use it as the entity number.
Output Metadata
Node does not insert any output metadata; upstream metadata continues through the pipeline
Updated about 1 hour ago
