Abode Iota motion sensor not transitioning to "off" state

I have an Abode system that now has the Iota as the base unit. The Iota has a motion sensor that always shows as “motion detected” in HA. After playing with the state of the motion sensor in HA, I’ve found that HA is seeing all status updates from the sensor as “on”. So with the sensor state set to “off”, after physically triggering motion the HA state goes to “on”. I can then set the internal state of the sensor back to “off” using the developer tool. Then, when the sensor is supposed to send an “off” report after a minute of no motion, the HA state again switches on “on”. Note that the Abode system itself knows the state has changed properly since its own CUE automations respond as expected to the sensor state change.

What I need to know is whether or not this is a bug in the Abode Code Integration code in HA, or is a problem with the Abode actually reporting the wrong state of the sensor when it triggers. Is there a way to debug the lower levels of this code at the point when the Abode integration code is setting the state of this motion sensor?

And as a workaround, Is there also a way to create an automation or script that changes the internal state of the motion sensor back to “off” shortly after it gets turned on? I see in the automation actions I can call services, but I haven’t seen how to change the internal state of the sensor without using the developer tool interface.

1 Like

WORKAROUND:

To work around this problem, I’ve created my own binary sensor to replace the problematic IOTA motion sensor notification. The basic steps are as follows:

  1. Create two CUE automations on Abode that are triggered by ON and OFF of the IOTA motion sensor. Since there’s no “no-op” type action in Abode, I had to create a dummy user account to where I could send a bogus notification. Let’s call these CUE automations iota_on and iota_off.
  2. In Home Assistant, create an input_boolean called “iota_motion_boolean”.
  3. In Home Assistant, create an automation that is triggered by the execution of those CUE automations with the Event:abode_automation trigger. Use the CUE automation name as the “device_name” field. For the action, use the input_boolean.turn_on or .turn_off service appropriately. When this is done, your iota_motion_boolean should follow the state of the motion sensor.
  4. Create a binary_sensor as follows:
- platform: template
  sensors:
    iota_motion_real:
      friendly_name: "IOTA Motion"
      value_template: "{{ is_state('input_boolean.iota_motion_boolean', 'on') }}"
      entity_id: input_boolean.iota_motion_boolean
      device_class: motion

Now I have a motion binary sensor that is tripped by the execution of the CUE automations on Abode instead of always showing “Motion Detected”. In the GUI, it behaves just as you would expect it should with motion state changes and icon color changes.

This doesn’t fix the underlying problem where the actual IOTA motion sensor state is not correctly being reported, only works around it with another sensor.

I have opened a bug report:
https://github.com/home-assistant/home-assistant/issues/29896

1 Like

Did you get any type of update on this bug? It appears to still be an issue in 0.104.2

I just updated the HA bug with the last response from Abode. They basically have assigned the issue to their engineering team. There’s no guarantee it will ever be fixed…in fact I had a hard time explaining to their support team exactly what the problem is.

Your best bet is to do the workaround I mentioned above and instead have the Iota motion action trigger a CUE automation for both ON and OFF, which Home Assistant can then detect and track in a custom binary sensor.

Another alternative is to use the HomeKit Controller integration in HA, and use that to connect Abode IOTA device within your local network. See links below for details.

Benefit: no need to create separate Helper (binary_sensor) and related automations in HA, and no need for additional CUE automations in Abode app, and no need to create junk email address to receive notifications from Abode automations…

Bonus Benefit: This method will create a direct connection between HA and IOTA device within your local network. That means there is no need to use Abode integration in HA and sign-in to Abode account and depend on the long route through cloud/internet to have HA talk to Abode IOTA device… as long as HA and IOTA are on the same in-home network/wifi.

The motion sensor in IOTA device is accurate and does correctly report the on/off status when motion is detected. However the issue reported above by troyc appears to be a bug in the Abode cloud api, such that motion sensor status coming back in reply/response from that api is always stuck as “on” (or “motion detected”). I can confirm that old bug still exists in Jan 2021, and alternative proposed by troyc above also works.

However I ended up using HomeKit Controller to link HA to Abode IOTA device due to the benefits described above.

1 Like