Gogo gate component?

Hi,

Has anyone had any luck integrating gogo gate ( https://www.gogogate.com ) into HA?

It look like it is basically an RPi2 with a fancy cover and custom image on the sd card, but I am a bit nervous to tinker too much…

Well it mentions IFTTT integration and HA supports that so that may be a start. If they have an API, please link to it.

I am not sure, there must be, I have emailed them to ask.

Any luck with this ?

I’ve been trying to integrate gogogate2 to my HA using some pretty crude command line cover templates. It’s only partially working though. A plugin would be nice…

Hi, are you able to share your solution or code? By partially working what do you mean? Can you open/close?

Hi sure, ive finally got this working 100% now.

Would like to thank this post : Can I create an empty/dummy binary_sensor? for getting me a head start

First you need to hook up with IFTTT, create an API Token and use the Maker channel to create the open/close commands. https://platform.ifttt.com/maker

Then, create a command line cover, then add the open, close commands so that they call the IFTTT maker channel to open/close your door.


To update the cover’s status , I use HA’s Rest API to call the cover.garage_door entity and do a http post the status to open/close.

To string these together I used an old android tablet with Tasker + AutoNotification to detect the gogogate application’s notifications on opening / closing. Once detected tasker triggers the HTTP Post to HA and updates the cover status.

Its really crude, but so far its working.

Config.yaml part - * Note that i have a gate and a garage hooked up to my GoGoGate2

cover:
  - platform: command_line
    covers:
      garage_door:
        command_open: "curl --silent -X GET 
https://maker.ifttt.com/trigger/Garage_Opened/with/key/YOUR KEY?
value1=Opened"
        command_close: "curl --silent -X GET 
https://maker.ifttt.com/trigger/Garage_Closed/with/key/YOUR KEY?
value1=Closed"
        friendly_name: 'Garage Door'
    
    
  - platform: command_line
    covers:
     gate_door:
        command_open: "curl --silent -X GET 
https://maker.ifttt.com/trigger/Gate_Opened/with/key/YOURKEY?
value1=Opened"
        command_close: "curl --silent -X GET 
https://maker.ifttt.com/trigger/Gate_Closed/with/key/YOURKEY?value1=Closed"
        friendly_name: 'Gate Door'

To update the cover: You can use tasker rather than curl to do this part.

curl -X POST -H "x-ha-access: APIPASSOWRD" \
     -H "Content-Type: application/json" \
     -d '{"state": "closed", "attributes": {"current_position": "0", "friendly_name": "Garage", 
"supported_features": "15", "homebridge_cover_type": "garage_door", "homebridge_name": 
"Garage", "device_class": "garage"}}'\
     http://10.0.4.6:8123/api/states/cover.garage_door

I then expose the cover to HomeKit, so it sees the door as a ‘Garage’ Door and updates the status when the door opens/closes !

cover.garage_door:
    homebridge_cover_type: garage_door
    friendly_name: Garage
    homebridge_name: Garage
    device_class: garage

cover.gate_door:
    homebridge_cover_type: garage_door
    friendly_name: Gate
    homebridge_name: Gate
    device_class: garage

Excuse my code indentations, you need to make sure you have the correct indentations.

I’ve managed to make a proof of concept in Java which connects directly to the GoGogate 2 device’s api.

Just trying to get some help now to convert this to Python and integrate it in to HomeAssistant.

It should be much faster than IFTTT as all the communication will inside the local network

1 Like

Oh my ! this is great news :clap:

indeed great news! Whilst I appreciate all your efforts involved in integrating your solution, my primary focus was moving away from IFTTT… IFTTT is great for some things where time is not critical, but pretty useless for things like switches where you dont want to wait for the events to fire…

Just an update, Ive updated to Hass.io 0.60 and the API call doesnt work anymore :frowning:

wish someone would make a gogogate2 component

Hi, Do you have any documentation for the Gogogate 2 api? I would like to have a look at this.

TIA.

They initially said that I could have access if I registered for it’s use… after 3 months heard nothing and then after chasing said that they no longer issued the API…

Quite frankly I hated mine, the integration with IFTT is utterly useless, the call was so slow, it negated the need for itself as it was quicker to simply press a remote to open the door when I got home…

I replaced the gogogate with Opengarage (circa $50) which integrates as a component with HA seemlessly…

Bummer… I thought it was a pretty good product, but when they try to sell you plugins for video, for extra users… plus they don’t release the api… Will have to look into opengarage then.

I actually still have both, as the gogo gate is handy to use the “users” function to give out access to the house to the nanny, cleaners etc… (There is no user control in Home Assitant)

The gogogate2 component will be in the next version of home assistant 0.67

2 Likes

I think there’s a typo on line in __init__.py.

In the __init__ function, on line 36, is: self.api_code = None

In the rest of the code in the class the attribute is referred to as self.apicode - no underscore.

I changed api_code to apicode on my system to fix an error caused by code referring to self.apicode before it had been defined.

Since the code is working for others It doesn’t seem to prevent the code from working.

Thanks for the code.