[RELEASE] Abode Alarm system driver

Figured out how to do it.

The Abode Motion sensor will not report to the Abode timeline when the Abode status does not trigger a motion sensor alarm. So if Abode is in standby, and no motion sensors are set to trigger an alarm in Standby, Abode ignores the motion sensor event and it does not report to the timeline.

So per @jbondc 's post above, I created a CUE Automation triggered by the motion sensor detecting movement.

Per @jbondc 's image of the Abode timeline above, that will cause the motion sensor to report motion to the timeline even when the motion does not trigger an alarm.

However, also per @jbondc 's post above, you can only use the first instance of this event as a Hubitat trigger. In other words, Hubitat ignores a timeline event that is an exact duplicate of the previous timeline event.

I solved for this using an extra "Abode Smart Power Switch" (a plug). In Abode, I made a CUE automation with the Motion Sensor as the trigger, and turning on the smart switch for x duration as the action. Abode reports both the trigger and the smart switch action to the timeline.

First I just toggled the smart switch, but since the motion immediately toggled the smart switch, Abode was inconsistent in which of the two it reported first, so sometime the timeline would report the switch toggle before the motion sensor trigger. This could then cause two motion sensor trigger reports in a row, and Hubitat ignores the second. By setting the smart switch to stay on for x minutes, the smart switch will also report going off to the timeline.

So:

  1. Abode timeline reports the CUE automation triggered by the motions sensor as well as the Abode switch going on. It can report these in any order

  2. Hubitat triggers on the specific CUE automation (motion sensor triggered) reported by Abode

  3. Hubitat action resulting from the trigger is to turn on a light for Y minutes.

  4. Abode CUE automation action defines the switch to only stay on for x minutes (note: x MUST be less than y for this to work). At the end of x minutes, Abode CUE automation reports to the timeline that the switch is off. Hubitat recognizes this timeline report but takes no action.

  5. Another trigger of the Abode motion sensor starts the sequence described above in item 1. Since the last timeline entry is the switch going off, Abode will recognize the next instance of the timeline CUE automation triggered by the motion sensor as a new, unique event, and keep the light on.

Seems to work...and does not involve IFTTT, unique email addresses, and other hackery.
The key is just to get a DIFFERENT timeline event to show in Abode between the triggers of the motion sensor, so that Hubitat will recognize subsequent instances of the timeline event. I suspect that the Abode to Hubitat integration is written to recognize CHANGES to the timeline, rather than simply new reports/updates to the timeline. I suspect there is probably some way to cause Hubitat to recognize sequential but duplicate Abode timeline entries using the "Last Message Received" field that shows up in the Hubitat Abode device, but the method I described above seemed the simplest to me.

If someone knows how to use the "Last Message Received" field to improve upon this, that would be great.

1 Like