IMA Protect Alarm component for Home Assistant

License HACS Community Forum pre-commit Black Project Maintenance BuyMeCoffee
This is a custom component for Home Assistant.
The imaprotect integration allows you to get information from your IMA Protect Alarm.

This work is inspired by on the work on Verisure Alarm by @frenck for Home Assistant.
It uses python package pyimaprotect to call the IMA Protect API, based on the work of of lplancke and chris94440 for Jeedom.

Documentation

See https://pcourbin.github.io/imaprotect

Installation

This integration requires a running Selenium server to retrieve images. Deploy the Selenium standalone Firefox Docker container below, and when creating the IMAProtect client set the remote_webdriver parameter to the correct WebDriver URL reachable from your Home Assistant instance (for example: http://localhost:4444 or http://selenium_firefox:4444).

Note

Make sure the WebDriver URL you provide in remote_webdriver is accessible from the environment where Home Assistant runs.

services:
  firefox:
    container_name: selenium_firefox
    image: selenium/standalone-firefox:130.0-20251025
    shm_size: 2g
    ports:
      - "4444:4444"
      - "7900:7900"

Usage: # 1. Save this as docker-compose.yml in the project folder. # 2. Start with: docker-compose up -d # 3. When creating IMAProtect, provide the WebDriver URL, for example: # remote_webdriver=’http://localhost:4444’ (adjust host/port to match your deployment)

Configuration

To add imaprotect to your installation:

  • go to Configuration >> Integrations in the UI,

  • click the button with + sign and from the list of integrations

  • select IMA Protect Alarm.

It will add a alarm_control_panel with the state of your alarm:

List of Alarm status values

Alarm Value

IMA State

disarmed

OFF

armed_home

PARTIAL

armed_away

ON

Then, you can define a code (number or digit) in the configuration of the integration. By default, no code is needed.

If your IMA Protect account lists security cameras, they will be added as camera entities. These entities do not currently refresh automatically, and only display the last picture taken.

Credits

This work is inspired by the work of Verisure Alarm by @frenck for Home Assistant.
This repo structure was inspired by oncleben31/cookiecutter-homeassistant-custom-component project template created with Cookiecutter.