[BETA] Abode Alarm system driver

Based on @ogiewon's suggestion and @Ryan780's advice about displayed , I've pushed a revision to the master branch. It seems to work in a basic sense,

https://github.com/jorhett/hubitat-abode/blob/master/AbodeAlarm.groovy

I'd like you to hammer on it before I cut a release. It seems you should be able to subscribe to events from abodeTimeline

I'm using the Type field to indicate the source device, which is possibly bad TBD. Let me know if you can see this field.

Also feel free to comment on placement of the data. I pretty much detest all of the code involved in formatting these messages because it's crazy bespoke. Abode is utterly inconsistent about what data goes in which fields, so the event formatting is basically a hell of if/else on different event types :frowning: Anyone who thinks they have a better idea, I'm all ears

1 Like

Quick test - it looks like this did the trick for my purposes - which is to enable Maker API to send it to my automation software via HTTP Post.
Here's the key part of what gets passed through Maker API and posted:

{"content":{"name":"abodeTimeline","value":"Fam Rm Rear Rt Opened","displayName":"Abode System","deviceId":"xxx","descriptionText":"Fam Rm Rear Rt Opened","unit":null,"data":null}}"

I can parse this in Home Control Assistant and pull out Opened/Closed and the device name - that gets me what I need - can't thank you enough!
I'm not doing anything to subscribe - I just needed Maker API to be able to recognize the events and post them.

Happy to test more though if it's helpful.

Okay so it looks like the type field isn't available in the event, so I'll need to add that to the message.

Just to follow from what I understood the earlier discussion to be regarding child devices, etc. If there were devices created by the driver in such a way that they were visible to Maker API similar to the way your "isArmed" child device is created - i could import those directly into Home Control Assistant (HCA), and it would create mapped devices and be able to get device state updates directly from the Maker API posts.

RIght now, what I'll do is create devices in HCA manually for each sensor and put code in the HCA event handler to recognize the posts and update status that way. .

However, I totally understand that the child device approach that was discussed earlier is a bunch of work. The critical part for me was being able to get the information out of HE and posted - and that now works. If you do ever decide to do the rest, I'm more than happy to help with testing.

I believe there is a feature request to the Hubitat team to add "type" to the Maker API's output. It should be coming in an upcoming release.

2 Likes

Version 0.7.0 has been posted with a number of minor improvements. The most important is that all com.goabode.gateway.timeline events can now be subscribed to from other apps, or used as Trigger events by Rule Manager.

@hokfujow The name of the attribute has changed to gatewayTimeline based on some feedback, a desire for consistency with both the Abode event class and the existing mode attribute.

Great - thanks for the heads up and the improvements.

fwiw seems like there's gonna be a 0.7.1 that involves completely rewriting the message parsing. There's seriously no consistency to their messages. None. I'm gonna end up with a separate parser for every message class :frowning:

Sorry they're making it so hard!
I created some rules to act on virtual devices in hubitat (it's a bit less work to create the rule in hubitat and import virtual devices into HCA than to use Maker API events and then parse it out in HCA. )
First I created a rule for Front Door Open/Close and then a second one for storm door. What was strange is that Front Door seems to remain in the rule definition in some way.


I'm not sure if it's because the first rule I created was for Front Door Closed - but when I create a rule from scratch, this is what I see.

I think RM is showing you in black text the current value of that attribute. So for instance, right now the value does not match and thus will not trigger.

Version 0.7.1 is out. This is mostly an internal refactoring, simplifying the timeline event parsing code. But it also fixed an issue with Geofence events not being logged.

Stable? 7 day timer to v1 release.

Definitely following this, that’s been the only thing stoping me from getting the Abode.

I never got one because it didn’t interact with rule machine, buy if this will allow that then I’m on board.

See the wiki page Creating-Triggers-from-Abode-events

@claytonelliott did you follow the instructions at Getting Started · jorhett/hubitat-abode Wiki · GitHub?

I read them. Didn't really want to disable the fault confirming so I did not set Abode to Direct Arm. Is that an absolute requirement? I'm OK if Hubitat can't arm the system. I really just want the data from Abode to flow to Hubitat.

All I did was load the driver code and save it. I didn't get a prompt for my Abode credentials. Is there something I need to do to get the prompt? Or is the Direct Arm setting causing this issue?

You don't see a username and password fields on the driver page? Like this?

If not, look for this flag and change it. Although it shouldn't be masked until after you login:

Screen Shot 2020-04-15 at 12.49.25 AM

endorphin_junkie - I got it working. I had added the driver code but didn't realize I needed to create a VIRTUAL device. After doing that and logging in all seems to be working (except arming the system due to the fault confirm setting still being on). Sorry I didn't read far enough into your links as I already knew how to add a driver and I thought it would be an actual device. But it all makes sense now. May want to spell out the VIRTUAL device part in your main how to instructions. I will do some basic testing. My main goal is to make my lights flash when the alarm is sounding. Think that is possible?

Absolutely. You'll probably want to set off your alarm and double-check the messages to be certain how you want to filter, but it should work this easily:

FYI: this has been updated with more explicit instructions. Thanks for the feedback Getting Started · jorhett/hubitat-abode Wiki · GitHub

Closed per OP's request.