Is it possible to use RM4 to control/report on my Genie Aladdin Garage (based on Postman success)?

I am able to control my Genie Aladdin Garage door via Postman after following the instructions here. Genie Aladdin Connect

It was exciting getting my garage door to open/close and report back the current status (open, opening, closing, closed)

This was my first time ever using Postman, and I barely understand the difference between POST and GET.

Things I would like to be able to do:

  • Have my Garage Door show on my Dashboard with the valid state (Open, Closed, etc)
  • Be able to open/close my garage door via my dashboard
  • Get an alert when my garage door is open
  • Have my garage door close at a certain time of night if it was left open
  • Activate scenes when arriving home and opening the garage

My plan to achieve what I want to do, above:

  • Create a Virtual Garage Door for my dashboard
  • Use RM and API calls to detect the state of the door, and use that to update the state of the Virtual Garage door
  • Use RM and the Virtual Garage Door use that as a trigger for some of the actions above

What I can't figure out - my questions for you folks much smarter than me:

  • How do I turn what I have working in Postman into the appropriate API calls in RM4 to achieve my goals above?
  • Because the state of the door is based on a GET and not a PUSH, do I have to regularly query the garage door API (every minute or 2) to get an update on the state of the door, or is there a better/more efficient way?

I feel like I'm close after getting the Garage door fully working with Postman. But I only got it working because I followed a tutorial, not because I am a dev (I am not a dev), and now I'm clueless on how to get this into Hubitat with the various API possibilities in RM.

On a tangent - it feels like someone with solid Groovy chops could create a slick Driver using the code samples from Postman above. Such a driver would ask a user to enter user ID/password, convert that to Base64, grab the other values necessary, and give full control of the door through Hubitat. Then my wacky rules above would be a lot easier to create! I am not the person with the chops to do that, unfortunately. :slight_smile:

PS: I was inspired by this thread over on the 'other' message board which led me to Postman: Genie Aladdin garage door - Devices & Integrations - SmartThings Community There is no DTH I could find as a starting point to create a device driver, unfortunately.

RM really isn’t the best tool to do this. If you get it to work it will definitely be slow. RM isn’t designed to be polling a device. The best way to do this is building an app and driver. It sounds like that’s something you might not be comfortable doing, but I think RM is not going to work out well for you for this task.

It is going to be hard to get the door state. I would look at getting a contact sensor or two to detect the position of the door. However sending the api calls should be easy to do from within RM. There are some pretty afordable contact sensors out there.

There are dedicated tilt sensors (or multi sensors) that don't require anything special to use with Hubitat. Contact sensors often require some bracket or other work/modifications to make them work as a tilt sensor.

Most people use the $20 Samsung multi-sensor for Zigbee applications, but there are Zwave sensors from Ecolink and probably others if that is the protocol you want.

I found this to be a brilliant solution

I created drivers for Aladdin Connect based on the tutorial that @craigspree linked. Thanks for the help with testing, @craigspree.

2 Likes

Thanks everyone - I already had a contact sensor to detect if the door was open or closed, but I wanted more functionality than that. And it was @tomw to the rescue!

Thanks @tomw !

The driver works great for everything I need. I was able to get my Aladdin Connect Garage Door hooked up to my Homebridge via Hubitat. The WAF went up considerably when we came back from a bike-ride and opened the garage with voice assist on our watch from a half-block away. I found the performance to be the same as using the Aladdin Connect app to operate the door (which uses the same APIs)

2 Likes

This is really helpful. Worked for me too!

1 Like

I have three different Genie Aladdin Connect garage doors; each door is a stand-alone garage door, not one controller for three doors. I followed the instructions on the Github page... creating the two device codes. I was able to add a virtual device of the Connect System and I was able to make ONE child Garage door. For my house, I have a 1-car and a 2-car attached garage and I have a detached garage with a 1-car door that is my office/computer center. Apparently, the one and only door I'm able to control is the 1-car door of my attached garage. I've tried changing the child to be door #2 or #3, but nothing happens if I try to open/close those... the only one that works is #1.

When @tomw was creating the driver, we only had access to a single door to test with. He might have ideas on how to resolve this for you if you're open to some trial/error, and if he has the time to work on this. He was super generous with his time to get the original driver created.

@bigron, please PM the log output to me that is shown when you click Configure after saving your login details. Just open the Logs view in Hubitat in a separate browser tab or window, then enter your password, save, and hit Configure. We'll see if there is an easy way to make it work. :sunglasses:

1 Like

@pkell19 had the same issue with multiple openers, and we think we figured it out.

I updated both drivers in the github repo, here: GitHub - tomwpublic/hubitat_aladdinConnect

I tried to make the additions so that anyone using the old version with a single opener won't have to update any devices. @craigspree and @bigron, will you please give it a try and let me know how it goes?

If this checks out for you guys, I'll add it to HPM so that it is easier to manage upgrades and installs.

Hi @tomw I’m hopeful I’ll have time to test this today for you. Sorry for the delay!

1 Like

No problem or rush- I mainly just want to make sure that the new changes don't break your setup. I hope that you all have a Happy Thanksgiving.

1 Like

I was able to test and it seems to be working. I did have to make a minor tweak on my child device page for my garage door. In the screenshot below notice that the opener number is 0. When I hit ‘save device’ after updating the driver, all of the status messages on this child page said ‘unknown’, Then I changed the opener number to 1 and hit save it updated the status messages appropriately. Now when I navigate back to the child page again, it looks like opener number has reverted to 0 but it seems to be working now. So a little weird, but all’s well that ends well. :slight_smile:

1 Like

Cool, thanks for the feedback, @craigspree

The opener number is a bit weird, I agree. Doors are numbered starting from 1, but openers are numbered starting from 0.

I think I know what was happening in your case. If you hit Save Preferences again without changing opener number, does it say Unknown but then eventually update correctly after a short time? If not, do you see anything amiss in the logs?

FYI to anyone following this thread, I just added HPM installation support. You can find it using the "Garage Doors" tag or keywords Genie or Aladdin Connect.

I hit save preferences and then yea all the parameters changed to unknown. Here is what I see:

I waited a minute or so and didn’t see them revert back. I opened the parent device and hit ‘refresh’ then went back to the child device and all the parameters were showing properly again.

The door still works and all so it seems like a very minor inconvenience that doesn’t bother me at all. :slight_smile:

1 Like

Ah, good catch. Your debugging notes helped me track it down. I added a step for the child to request a refresh from the parent when the child is updated. That should fix it, but, as you said, it's sort of a one-time hiccup when updating the child (which wouldn't typically be necessary). But your feedback helped me make it a bit more reliable, so thanks again. :+1:

1 Like

Dude, thank YOU for writing the driver!

1 Like