Open Source Garage Door controller - integration request

Hello,
I’m Denis - creator of Garadget - Open source garage door controller.

In community forum I noticed some Garadget users are connecting their units to Home Assistant using controller’s REST protocol. There are several home automation plugins already available for other Home Automation systems (SmartThings, OpenHab) and I wonder if there’s any interest here in creating a proper Garadget integration for Home Assistant.

Please reach to me if you can help with it and I’ll be happy to assist in any way I can.

1 Like
2 Likes

Getting one of your devices into the hands of one of the superb developers here would usually result in a native first class component for your device. It’s just too hard to develop something for something you don’t have.

Much like IFTTT, I browse the logo list to figure out what devices to buy (as I am sure others do)

@balloob / @robbiet480 / @fabaff

Of course, I’ll be happy to ship a unit to the qualified developer taking on the task.
There’s also a developer account for testing the code with multiple units.

1 Like

I’d be happy to spear-head this development. Feel free to contact me.

I have recently submitted a Pull Request to include the GE Concord 232 alarm system into Home Assistant, and my next to do is to figure out my garage door, this product sound right up my alley.

1 Like

Thanks @JasonCarter80!
Please check out the following:

At the beginning it’s easier to skip Authentication and just go with Auth Token. Later proper login form can be added.
Please PM me if above makes sense.

I don’t have a garage door :(.

If @JasonCarter80 wasn’t interested then I could see @maddox implementing this. Big bonus would be I bet he would implement homebridge-homeassistant support too :slight_smile:

Thanks for the reference @robbiet480!
I’m open to all the options. @maddox, please PM me if this is you would like to participate.

I don’t have a garage door either.

The worst part is that it means I don’t have a garage. And it sucks not having a garage.

Without having one in my hands, here is what I think will work:

https://github.com/JasonCarter80/home-assistant/blob/garadget/homeassistant/components/cover/garadget.py

2 Likes

Great progress, @JasonCarter80, thanks! :thumbsup:
The development account details are in PM.

If you need someone to test this new integration, I can help.
I already have the garage door. So I only need the garadget!

Regards,
Michel.

Thanks for your offer Michael.

I can’t promise demo units to testers but I’ll be happy to offer a discount to several early adopters of the Garadget’s Home Assistant integration. Please PM me if interested.

Any progress on this so far? I have a garage door and my Garadget just got here =).

Just got mine today!

Let me get it hooked up and should have a version you can install and test with.

Here’s my todo list as of now, it might change as I move forward:

  • Handle offline garadget, if you have two+, the online ones should report and the other should show as offline.
  • Write Test
3 Likes

Awesome! Looking forward to what you come up with.

If anyone is interested in integrating Garadget into HASS here is a fairly painless way, until we have a component that is.

Prerequisites:

  1. cURL - Can be installed for Windows based HASS implementations if needed instructions

Gather info:
First, you’ll need to find:

Device ID - a string that uniquely identifies each Garadget unit.
Authentication Token - a secret string your app receives to use instead of the username/password after you successfully log in.

The simplest way is to login into the web interface and use the document inspector to pick at the background requests it sends:

  • In Google Chrome click anywhere in blank space of the page and select “Inspect” from the context menu
  • Navigate to the Network Tab
  • Filter by text: setState and resource type XHR
  • Use web interface to open and close the door
  • See the requests appearing in the list, you can find the details under Headers tab

1. In your configuration.yaml add:

cover:
- platform: command_line
  covers:
    garage_door:
      command_open: curl -X POST https://api.particle.io/v1/devices/YOURDEVICEID/setState -d arg="open" -d access_token=YOURACCESSTOKEN
      command_close: curl -X POST https://api.particle.io/v1/devices/YOURDEVICEID/setState -d arg="close" -d access_token=YOURACCESSTOKEN
      command_stop: curl -X POST https://api.particle.io/v1/devices/YOURDEVICEID/setState -d arg="stop" -d access_token=YOURACCESSTOKEN
      friendly_name: Garage Door

Optional:

If you have an MQTT broker setup and a SmartThings hub you can connect Garadget to SmartThings. After connecting your Garadget to SmartThings you can listen for the MQTT state of the garage door. I created a switch to show if the door is open or closed.

Example switch:

- platform: mqtt
  name: "Garage Door"
  state_topic: "smartthings/Garage/contact"
  command_topic: "smartthings/Garage/contact"
  payload_on: "open"
  payload_off: "closed"
  retain: true
1 Like

PR has been submitted, feel free to copy the code and give it at try:

https://github.com/home-assistant/home-assistant/pull/4031

2 Likes

Great work! Hopefully it makes the next release.

1 Like

My garadget shipped today! I cant wait to test this out when it comes in.

2 Likes