Homematic IP alarm siren (outdoor) and Home Assistant

05/10/2019 - Homematic IP, alarm, siren, HmIP-ASIR-O

Note: this article is for the outdoor siren - for the indoor siren, see here.

The Homematic IP alarm siren is an outdoor wireless alarm siren. I have one paired with a CCU3 central control unit, which in turn is connected to Home Assistant using the Homematic component.

The device has signal LEDs on the bottom, an audible siren and a built-in tamper switch. It is powered by a solar cell and rechargeable batteries.

This document describes the parameters that the siren has (HmIP-ASIR-O).

Home Assistant

The siren does not currently appear to be directly supported by:

  • Home Assistant 0.99.3
  • pyhomematic 0.1.60

This means that the device does not appear in Home Assistant, and it is not possible to catch events (e.g. from the tamper switch), but it is still possible to switch on and off the siren using direct commands.

You will need the address of the siren, which can be found in the CCU web interface (in the below example it is set to 000AD8B429ABFF.

Starting the alarm

The following Home Assistant script can be used to activate the alarm for 3 seconds with both the LEDs flashing and siren sounding (assuming that the Homematic component has been correctly setup in Home Assistant):

outdoor_alarm_sound:
  alias: "Sound outdoor alarm"
  sequence:
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: 'ACOUSTIC_ALARM_SELECTION'
        value: 'FREQUENCY_RISING'
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: 'OPTICAL_ALARM_SELECTION'
        value: 'BLINKING_BOTH_REPEATING'
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: 'DURATION_UNIT'
        value: 'S'
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: 'DURATION_VALUE'
        value: 10

You can adjust the DURATION_VALUE as needed, and the DURATION_UNIT can take values:

  • S = seconds
  • M = minutes
  • H = hours

The OPTICAL_ALARM_SELECTION parameter can take values:

  • DISABLE_OPTICAL_SIGNAL
  • BLINKING_ALTERNATELY_REPEATING
  • BLINKING_BOTH_REPEATING
  • DOUBLE_FLASHING_REPEATING
  • FLASHING_BOTH_REPEATING
  • CONFIRMATION_SIGNAL_0
  • CONFIRMATION_SIGNAL_1
  • CONFIRMATION_SIGNAL_2

The ACOUSTIC_ALARM_SELECTION parameter can take values:

  • DISABLE_ACOUSTIC_SIGNAL
  • FREQUENCY_RISING
  • FREQUENCY_FALLING
  • FREQUENCY_RISING_AND_FALLING
  • FREQUENCY_ALTERNATING_LOW_HIGH
  • FREQUENCY_ALTERNATING_LOW_MID_HIGH
  • FREQUENCY_HIGHON_OFF
  • FREQUENCY_HIGHON_LONGOFF
  • FREQUENCY_LOWON_OFF_HIGHON_OFF
  • FREQUENCY_LOWON_LONGOFF_HIGHON_LONGOFF
  • LOW_BATTERY
  • DISARMED
  • INTERNALLY_ARMED
  • EXTERNALLY_ARMED
  • DELAYED_INTERNALLY_ARMED
  • DELAYED_EXTERNALLY_ARMED
  • EVENT
  • ERROR

Stopping the alarm

The following script can be used to stop the alarm:

outdoor_alarm_stop:
  alias: "Stop outdoor alarm"
  sequence:
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: 'ACOUSTIC_ALARM_SELECTION'
        value: 'DISABLE_ACOUSTIC_SIGNAL'
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: OPTICAL_ALARM_SELECTION
        value: 'DISABLE_OPTICAL_SIGNAL'
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: 'DURATION_UNIT'
        value: 'S'
    - service: homematic.set_device_value
      data:
        address: '000AD8B429ABFF'
        channel: 3
        param: 'DURATION_VALUE'
        value: 0