Satel Integra Alarm

The satel_integra component will allow Home Assistant users who own a Satel Integra alarm panel to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a ETHM extension module that must be installed in the alarm. Compatible with ETHM-1 Plus module with firmware version > 2.00 (version 2.04 confirmed).

There is currently support for the following device types within Home Assistant:

  • Binary Sensor: Reports on zone or output statuses
  • Alarm Control Panel: Reports on alarm status, and can be used to arm/disarm the system

The module communicates via Satel’s open TCP protocol published on their website. It subscribes for new events coming from alarm system and reacts to them immediately.


Please note that ETHM-1 module is currently not supported: it does not provide functionality used by this extension. At the moment only ETHM-1 Plus module is supported. That might change in the future, but no promisses are given.

The library currently doesn’t support encrypted connection to your alarm, so you need to turn off encryption for integration protocol. In Polish: “koduj integracje” must be unchecked. You will find this setting in your DloadX program.

A list of all zone and output IDs can be acquired by running DloadX program and connecting to your alarm.

For the Binary Sensor check the type/class list for a possible visualization of your zones. Note: If no zones or outputs are specified, Home Assistant will not load any binary_sensor components.”


A satel_integra section must be present in the configuration.yaml file:

# Example configuration.yaml entry
  host: IP_ADDRESS

Configuration Variables


(string)(Required)The IP address of the Satel Integra ETHM module on your home network, if using socket type.

Default value: localhost


(integer)(Optional)The port on which the ETHM module listens for clients using integration protocol.

Default value: 7094


(integer)(Optional)The partition to operate on. Integra can support multiple partitions, this platform only supports one.

Default value: 1


(integer)(Optional)The mode in which arm Satel Integra when ‘arm home’ is used. Possible options are 1,2 or 3. For more information on what are the differences between them, please refer to Satel Integra manual.

Default value: 1


(integer | list)(Optional)This parameter lists the zones (or inputs) that will be visible by Home Assistant. For each zone, a proper ID must be given as well as its name. The name is arbitrary and does not need to match the one specified in Satel Integra alarm configuration.


(string)(Required)Name of the zone.


(string)(Optional)The zone type.

Default value: motion


(integer | list)(Optional)Very similar to zones, but with outputs. Satel Integra uses outputs to inform external systems about different events. For example power failure, or that alarm started counting for exit or some other user-defined condition. They may be used for simple alarm-based automation. For more information please refer to Satel homepage and forums.


(string)(Required)Name of the zone.


(string)(Optional)The zone type.

Default value: motion

Full examples

# Example configuration.yaml entry
  port: 7094
  partition: 1
  arm_home_mode: 1
      name: 'Bedroom'
      type: 'motion'
      name: 'Hall'
      type: 'motion'
      name: 'Kitchen - smoke'
      type: 'smoke'
      name: 'Entry door'
      type: 'opening'
      name: 'Garden lights trigger'
      type: 'light'
      name: 'Gate opening trigger'
      type: 'opening'
      name: 'Alarm triggered'
      type: 'safety'
      name: 'Alarm power problem'
      type: 'safety'

Having configured the zones and the outputs, you can use them for automation, such as to react on the movement in your bedroom. For example:

  alias: Flick the input switch when movement in bedroom detected
      platform: state
      entity_id: 'binary_sensor.bedroom'
      to: 'on'
      service: input_boolean.turn_on
        entity_id: input_boolean.movement_detected