Custom Component: Ajax Systems

Ajax Security System - Unofficial Home Assistant Integration

:warning: Important Notice - Testing & Limitations

This integration is currently in early development and has limited testing.

I have developed this integration based on reverse engineering of the Ajax mobile app’s gRPC protocol. However, I can only test with the equipment I personally own:

  • Ajax Hub
  • Basic alarm control (arm/disarm/night mode)
  • Motion detectors

I do NOT have access to test:

  • Door/window sensors
  • Smoke detectors
  • Water leak detectors
  • Other Ajax devices and sensors

Community help needed! If you have additional Ajax devices and are willing to test this integration, your feedback would be invaluable. Please report any issues, missing features, or bugs on the GitHub repository.


:lock: About This Integration

This is an unofficial integration for Ajax Security Systems, allowing you to control and monitor your Ajax alarm system directly from Home Assistant.

Key Features

:white_check_mark: Alarm Control Panel

  • Real-time security mode control (Armed, Disarmed, Night Mode)
  • Live status updates via gRPC streaming
  • Instant synchronization with Ajax app

:white_check_mark: Sensors

  • Battery level monitoring for all devices
  • Temperature readings from supported devices
  • Hub status monitoring

:white_check_mark: Action Buttons

  • Panic button activation
  • Siren test functionality

Technical Highlights

  • Real-time updates: Uses gRPC streaming for instant state synchronization
  • Efficient polling: 60-second intervals for minimal API load
  • Native protocol: Direct communication using Ajax’s mobile app protocol
  • No cloud dependencies: Works with Ajax’s official API infrastructure

:package: Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to “Integrations”
  3. Click the three dots (⋮) in the top right corner
  4. Select “Custom repositories”
  5. Add repository URL: https://github.com/foXaCe/ajax-hass
  6. Select category: “Integration”
  7. Click “Add”
  8. Find “Ajax Security System” in HACS and click “Download”
  9. Restart Home Assistant

Manual Installation

  1. Download the latest release from GitHub Releases
  2. Extract the ajax folder from ajax-hass.zip
  3. Copy the ajax folder to your Home Assistant custom_components directory
  4. Restart Home Assistant

:gear: Configuration

  1. Go to Settings > Devices & Services
  2. Click “+ Add Integration”
  3. Search for “Ajax Security System”
  4. Enter your Ajax Systems credentials:
    • Email address (same as Ajax mobile app)
    • Password

The integration will automatically discover your hub and devices.


:dart: Supported Entities

Alarm Control Panel

  • alarm_control_panel.ajax_[hub_name]
  • States: armed_away, armed_night, disarmed
  • Services: alarm_arm_away, alarm_arm_night, alarm_disarm

Sensors

  • Battery levels: sensor.ajax_[device_name]_battery

Buttons

  • Panic button: button.ajax_[hub_name]_panic

:wrench: Requirements

  • Home Assistant 2023.8.0 or newer
  • Valid Ajax Systems account
  • Ajax Hub with internet connection
  • Network connectivity to Ajax cloud services

:bug: Known Limitations & Issues

  1. Binary sensors not implemented (motion, door/window, smoke detectors)

    • Currently in development
    • Requires real-time event streaming implementation
    • Community testing needed when ready
  2. Limited device testing

    • Only tested with Ajax Hub and basic sensors
    • Additional device types may not work correctly
  3. No offline mode

    • Requires connection to Ajax cloud services
    • No local network communication (not supported by Ajax)
  4. Rate limiting

    • Uses 60-second polling interval to avoid API throttling
    • Real-time updates work via streaming for alarm status

:handshake: Contributing & Testing

Help Wanted!

If you own Ajax equipment that I cannot test, please consider:

  1. Testing the integration with your devices
  2. Reporting issues on GitHub Issues
  3. Sharing debug logs for unsupported devices
  4. Suggesting features you’d like to see

Reporting Issues

When reporting an issue, please include:

  • Your Ajax device model(s)
  • Home Assistant version
  • Integration version
  • Debug logs (see below)

Enable Debug Logging

Add to your configuration.yaml:

logger:
  default: info
  logs:
    custom_components.ajax: debug

Restart Home Assistant and reproduce the issue, then check the logs.

:balance_scale: Legal Disclaimer

This integration is NOT affiliated with, endorsed by, or connected to Ajax Systems in any way. It is an independent, community-developed project.

  • Use at your own risk
  • No warranty or guarantee provided
  • Security systems are critical - always maintain proper monitoring
  • Always test thoroughly before relying on automation

:pray: Acknowledgments

  • Thanks to the Home Assistant community
  • Inspired by the need for local Ajax control
  • Built with reverse engineering of Ajax mobile app protocol

:telephone_receiver: Support & Links


:speech_balloon: Discussion

Feel free to share your experience, ask questions, or provide feedback in this thread. Your input helps improve the integration for everyone!

Special thanks to anyone willing to test with devices I don’t have access to! :pray:

1 Like