Use an Avigilon 32-Input Expansion Board to connect a generic sensor to Alta Protect

Last modified: Wednesday June 25, 2025.

You can connect input devices, such as sensors, to an Avigilon 32-Input Expansion Board, and then use them as triggers in Alta Protect zones.

Configure a generic sensor in Alta Protect, wire the sensor into a 32-Input Expansion Board connected to an Access Control Core (ACC) provisioned in Alta Access, and then integrate the two systems using rules and webhooks.

Before you start

Step 1 — Configure a generic sensor in Alta Protect

  1. Use the Devices tool to add a generic sensor to Alta Protect:
    1. See Add generic sensors to Alta Video. The process is the same in both apps.
    2. Adjust the configuration according to the type of sensor.
  2. Set the Disconnect timeout to 0. Alta Access webhooks do not send a periodic heartbeat or keep-alive signal.
  3. Note the Webhook URL and any used CHANNEL ID. You need to enter these in Alta Access.

Step 2 — Configure the sensor port in Alta Access

  1. In the Alta Access web app, open Devices > ACUs.
  2. Select the Access Control Core connected to the expansion board.
  3. Open the Ports tab.
  4. Edit the port-settings-button Port settings for the port used to connect the sensor to the expansion board.
    1. If you can’t see the edit button, scroll the sidebar window to the right.
  5. Select Generic Input as the Input type.
  6. Click Save.

Step 3 — Create a rule for the sensor in Alta Access

Create a rule in Alta Access that responds when the sensor triggers and sends a webhook to Alta Protect.

  1. In the Alta Access web app, open alta access config button Config > Rules.
  2. Click + Add rule.
  3. Enter a name and description.
  4. In TRIGGER:
    1. Select Input as the Type.
    2. Select an Event appropriate for the type of sensor. Refer to the manufacturer instructions.
  5. In CONDITIONS:
    1. Click + Add condition.
    2. Select ACU port filter as the Type.
    3. Select the ACC with the sensor as the ACU to match.
    4. Click + Add condition.
    5. Select State filter as the Type.
    6. For State to match:
      1. Choose High if the sensor is normally closed (NC).
      2. Choose Low if the sensor is normally open (NO).
  6. In ACTIONS:
    1. Select Webhook as the Type.
    2. Select Block next action until finished and quit on error.
    3. Enter the Alta Protect webhook address as the URL (see Step 1).
    4. Select POST as the HTTP method.
  7. Go back to CONDITIONS and select Use JSON editor.
  8. In the editor, replace the value of the body attribute with the required payload to trigger the webhook in Alta Video:
    1. The value must be an array, with four key/pair values: channel_id, value, timestamp, and status:
      1. Use the channel ID set for the sensor in Alta Protect (see Step 1).
      2. The value field requires a float. For boolean detections, set the value as 0 or 1.
      3. The timestamp must be a Unix timestamp.
      4. The status can be normal, warning, or alarm.
    2. To use the sensor as a trigger for an Alta Protect zone, you can set the value as 1, use any Unix timestamp, and set the status as Normal, for example:
      1. [{ "channel_id": "1","value": 1, "timestamp": 1750161131,"status": "normal"}]
    3. For more information, see Developing a sensor integration
  9. Click Save.

Step 4 — Add the sensor as a trigger in an Alta Protect zone

  1. In Alta Protect, open the Zones tool.
  2. Either select an existing zone, or click + and create a new zone.
  3. In TRIGGERS, open the Sensors tab.
  4. Select the sensor added in Step 1.
  5. Add ALARM ACTIONS taken when the zone makes a detection, such as sending a pop-up notification.
  6. Configure the other zone settings as required.
  7. Click Done.

When the sensor is triggered, the Alta Access rule should register the detection and send the webhook to Alta Protect. The payload should activate the generic sensor in Alta Protect, and trigger an alarm for the zone.

Troubleshooting

  • If you can’t see the necessary tools, settings, or options in Alta Protect or Alta Access:
    • Check you have the correct licenses.
    • Check you have the correct user permissions to create zones and rules and add devices.
    • Check the documentation and compatibility of any third-party devices.
  • You can test the webhook for the generic sensor in Alta Protect by using Postman or similar:
    • Create an HTTP POST request with the body containing the JSON from Step 3, 8b.
    • Set the payload type as raw JSON.
    • Make sure the JSON payload is an array, starting and ending with [ ], even if you only send data for one channel.
  • Check the channel ID set for the generic sensor in Alta Protect (Step 1) is the same as that passed in the webhook JSON from Alta Access.
  • Check the details for the rule in Alta Access by selecting Use JSON editor.
    • Check the correct access control unit or core is selected.
    • Check the port numbers.
    • Check the wiring of the sensor to the board.