v1.9.7 - Fix rule chain control & validation

Automate your
Axis camera

A powerful If-This-Then-That style rule engine that runs directly on the camera. Triggers, conditions, actions.
No server or cloud required.

Disclaimer: This is an independent, community-developed ACAP package and is not an official Axis Communications product. It was developed entirely on personal time and is not affiliated with, endorsed by, or supported by Axis Communications AB. Use at your own risk. For official Axis software, visit axis.com.
8
Trigger Types
7
Condition Types
35+
Action Types
42
Ready-Made Templates
Trigger Motion Detected
Condition After Sunset
Action Send Alert + Record

Everything runs on the edge

No cloud subscriptions, no middleware, no VMS plugins. Event Engine runs as an ACAP directly on your Axis camera.

Zero Latency

Rules trigger and execute locally on the camera. Sub-second response from detection to action.

🌐

Cross-Device Automation

One camera detects, a second verifies, a third acts. Chain devices across your network - no middleware.

📡

Built-in MQTT

Native MQTT client with TLS, wildcards, and QoS. Integrate with Home Assistant, Node-RED, or any broker.

🔗

Webhooks & REST

Trigger rules via HTTP POST. Send data to Slack, Teams, Telegram, InfluxDB, or any API endpoint.

📊

Smart Scheduling

Cron, intervals, daily time, and astronomical sunrise/sunset triggers with latitude/longitude and offset support.

🛡️

Arm / Disarm Patterns

System-level arming via MQTT or variables. Build full security workflows with conditional rule execution.

If this, then that - your way

Combine any trigger with any condition and any sequence of actions. Every field supports dynamic {{variables}}.

Triggers

8 trigger types
  • 📹 Device Events
    Every event on every Axis device
  • Schedules & Cron
    One-time, recurring, or cron expressions
  • 🌅 Sunrise / Sunset
    Astronomical events based on GPS location
  • 📨 MQTT Messages
    Subscribe to topics with wildcard filters
  • 🔌 HTTP Webhooks
    Receive POST requests from external systems
  • 🔘 I/O Input
    Physical input port state changes
  • #️⃣ Counter Threshold
    Fire when a counter crosses a value
  • 🔗 Rule Chain
    Trigger when another rule fires

Conditions

7 condition types
  • 🕐 Time Window
    Only allow during specific hours
  • 🔘 I/O State
    Check physical port high/low
  • #️⃣ Counter Compare
    Gate on counter value thresholds
  • 📐 Variable Compare
    Compare stored variables to values
  • 🌐 HTTP Check
    Query an endpoint and check the response
  • 👥 AOA Occupancy
    Gate on live people-count thresholds
  • 🌙 Day / Night
    Check IR cut filter state

Actions

35+ action types
  • 🌐 HTTP Request
    Call any REST API or webhook
  • 📡 MQTT Publish
    Publish to any topic
  • 📧 Email (SMTP)
    Send with attachments
  • 💬 Slack
    Channel notifications
  • 💬 Teams
    Channel notifications
  • 💬 Telegram
    Bot messages
  • 📸 Snapshot Upload
    Capture and send JPEG
  • 📁 FTP Upload
    Push files to FTP server
  • 🎥 Recording
    Start/stop SD card recording
  • 📝 Overlay Text
    Dynamic text on video stream
  • 🎯 PTZ Preset
    Move to saved position
  • 🔄 Guard Tour
    Start or stop a tour
  • 🌙 IR Cut Filter
    Force day/night mode
  • 🔒 Privacy Mask
    Enable or disable masks
  • 🧹 Wiper
    Activate lens wiper
  • 💡 Light Control
    Toggle white light/IR LED
  • 🔊 Audio Clip
    Play stored audio file
  • 📟 Paging Console Execute
    Trigger paging action by UUID
  • 📟 Paging Console Button
    Swap button layout dynamically
  • 🚨 Siren / Light
    Activate strobe siren profiles
  • 📺 Speaker Display
    Show text on display speaker
  • 🔌 I/O Output
    Toggle relay or output port
  • 📋 Notification Digest
    Batch alerts into summaries
  • ⏱️ Delay
    Wait before next action
  • 📐 Set Variable
    Store dynamic values
  • #️⃣ Increment Counter
    Add/subtract from counters
  • ▶️ Run Rule
    Chain to another rule
  • 🔀 Enable / Disable Rule
    Toggle rules on or off
  • Fire ACAP Event
    Emit a VAPIX event
  • 🔍 Device Event Query
    Poll event state via VAPIX
  • ⚙️ Set Device Parameter
    Change any device setting
  • 📦 ACAP Control
    Start/stop/restart ACAPs
  • 📊 InfluxDB Write
    Write time-series data points
  • 👥 AOA Get Counts
    Fetch live occupancy counts
  • 📓 Send Syslog
    Forward to syslog server

Multi-camera automation,
zero infrastructure

Detect on one camera, check a condition on a second, and trigger an action on a third. All over the local network - no server or cloud.

📷
Camera A
Motion Trigger
Verify
🌡️
Air Quality Sensor
Environment Check
Act
🔊
Speaker
Display + Audio Alert

Built for developers

Full REST API, real-time alert stream, dynamic template variables, and 42 downloadable rule templates to get started fast.

Webhook Trigger
curl -u admin:pass -X POST \
  "http://<camera-ip>/local/acap_event_engine/fire" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "my-secret-token",
    "payload": {
      "source": "doorbell",
      "zone": "front-entrance"
    }
  }'
Alert Stream
curl --digest -u admin:pass -N \
  "http://<camera-ip>/local/acap_event_engine/alertStream"

// Response stream:
{"connected": true}
{
  "eventType": "RuleFired",
  "rule_name": "Motion Alert",
  "dateTime": "2026-04-10T12:00:00Z",
  "trigger_data": { ... }
}

Ready to automate
your Axis cameras?

Download the ACAP, install it on your camera, and start building rules in minutes. No licenses. No subscriptions. Free forever.