Control Abode from HASS

I’m considering buying an Abode system to add to my Home Assistant installation. My only question is this: is it possible to arm and disarm the system from within the Home Assistant frontend?

Yes it is possible.

Can someone post a sample automation that would turn on the Abode alarm? Not understanding how the service can be turned on.

Sorry for formatting but I’m on mobile.

  • alias: Alarm tripped
    initial_state: true
    trigger:
    platform: event
    event_type: abode_alarm

    action:

    • service: script.security

Thanks that worked for me but I had to do it in two steps, first I added the following to my automations.yaml:

-id: …
trigger: …
action:
-service:homeassistant.turn_on
entity_id: script.abodehome

and then I added an section to the scripts.yaml file as follows:

abodehome:
alias: ‘Abode Home’
sequence:
- service: alarm_control_panel.alarm_arm_home
entity_id: alarm_control_panel.abode_alarm

Now I have another question, I have some Abode occupancy sensors and they are supposed to act like binary sensors, how can I trigger an action in my automations configuration when motion is detected? I tried the following but that did not work:

  • id: …
    trigger:
    platform: state
    entity_id: binary_sensor.master_bedroom_occupancy
    to: on

Thanks for any help

Did you get this to work? I just got the Abode system and when the window sensor is triggered HA is aware but this is not true with Motion sensor. It seems HA only knows if motion is online or offline, not if motion was detected.

I’m seeing the same thing. Door sensors respond immediately in HA but the motion aspect of the Occupancy Sensor remains in the ‘Detected’ state all the time. I confirmed the motion detection is working properly in the Abode app.

The temperature and lux measurements seem to work properly in HA (coming from the same Occupancy sensors)

Also seeing this in the log, not sure if it is related but looks likely:

2018-11-30 18:26:19 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 352, in _async_add_entity
    await entity.async_update_ha_state()
  File "/usr/src/app/homeassistant/helpers/entity.py", line 244, in async_update_ha_state
    unit_of_measurement = self.unit_of_measurement
  File "/usr/src/app/homeassistant/components/sensor/abode.py", line 81, in unit_of_measurement
    return self._device.humidity_unit
  File "/usr/local/lib/python3.6/site-packages/abodepy/devices/sensor.py", line 60, in humidity_unit
    if CONST.UNIT_PERCENT in self._get_status(CONST.HUMI_STATUS_KEY):
TypeError: argument of type 'NoneType' is not iterable
1 Like

Sorry to post again on this old thread but it is one of the top results on Google so putting this here in case it helps anyone.

First off, I have a Motion Sensor and an Occupancy Sensor setup. The Motion Sensor is setup to trigger the alarm in some cases. This means that when the alarm is in Standby the Motion Sensor does not fire. Therefore, I don’t see how a Motion Sensor tied to to an alarm can be used in HA. It may be worth noting that the Motion Sensor does sometimes “wake up” and fire an Online event that HA receives but I don’t think you could distinguish that from a normal time interval based “wake up”.

Now, the Occupancy Sensor. This sensor ends up creating two devices in abode. One is ‘LM’ which provides temperature and Lx (assume lux?). These seem to work okay in HA (although the error I posted above comes from trying to read humidity - which this sensor doesn’t have).

The other device in Abode is the motion sensor part. In the abode app, this shows as ‘Motion Detected!’ when you go near it, regardless of the state of the alarm system.

There seems to be some confusion caused by all these different types of motion sensors, but the ‘version’ of this particular sensor shows as ‘POVS_00.00.03.18TC’ and the ‘_type_tag’ is ‘device_type.povs’. In abodepy/init.py this gets registered as a ‘_generic_type’: ‘motion’ as opposed to occupancy - both make sense I guess - via the _new_sensor function.

All this is fine, and results in an AbodeBinarySensor instance that shows up properly in HA. In abodepy/devices/binary_sensor.py by default binary sensors only report ‘On’ when self.status not in (CONST.STATUS_OFF, CONST.STATUS_OFFLINE, CONST.STATUS_CLOSED). This works for door/window sensors but not motion sensors as their status varies between ‘Online’ and ‘Motion Detected!’.

So the hack that makes this work is to add a block to abodepy/devices/binary_sensor.py to handle this device type

    if self._type_tag == CONST.DEVICE_POVS:
        return self.status == 'Motion Detected!'
    else
        return self.status not in (CONST.STATUS_OFF, CONST.STATUS_OFFLINE,
                              CONST.STATUS_CLOSED)

This is brittle and not a clean fix (I’m happy to help anyone who knows how to fix properly!) but it does report motion detection in HA.

1 Like