[RELEASE] Konnected Garage Door Opener Official Driver

It's @nate from Konnected here with some good news for this community -- I just released an official driver for our Smart Garage Door Opener for Hubitat.

The integration is 100% local and requires no third-party app or cloud! The firmware is based on ESPHome, and we're leveraging the excellent ESPHome API Library by @jonathanb for super fast local connectivity with Hubitat. More info about our choice of firmware platforms and direction on Konnected's Community forum.

Konnected's current Garage Door Opener GDOv1-S is designed for typical overhead garage door openers that toggle open or closed using a dry contact push-button. This includes most garage door openers except those by Chamberlain and LiftMaster with a yellow learn button (Security+ 2.0 openers). We're working on a solution for those newer encrypted garage door openers to fill the gap for the MyQ refugees.

A key feature of our product is a laser time-of-flight sensor that detects the distance of an object in front of it. This is how it detects if the garage door is open or closed, by "seeing" the rolled-up garage door a few feet below it when it's opened. There's also an input for a wired contact or limit switch sensor, or it can be used as an input for a PIR sensor in the garage.

It has a built-in flashing LED and warning sound prior to closing to alert anyone in the garage before the door is about to close and to meet (U.S.) federal safety requirements.

There's also a 12V switched output for an auxilary warning device or light/LED if you desire.

The compact device comes in sleek plastic enclosure and includes hookup wire, mounting screws and a 12V power adapter. It's normally $89 but as I'm writing this it's 25% off for Black Friday on konnected.io. Also available on Amazon.

Take LOCAL control of your garage door opener with Konnected!

Documentation links:

  1. Installing the Garage Door Opener in Hubitat
  2. Calibrate and Use the Garage Door Opener in Hubitat

Recommended Installation:
Download the latest release from konnected-hubitat for your product, and import as a Bundle in Hubitat. We have a PR open to also get it in HPM.

Let me know what you think!
Nate

8 Likes

konnected garage door opener Anyone implemented yet?

I have a GDO Blaq connected to one of my garage doors and integrated with Hubitat using the above driver; it seems to me working well within Hubitat.

I'd like to be able to close the garage door using voice command from Google Home and have to figure out the best way to make that happen. We use Hubitat's Google Home integration, so I exposed the Blaq to Google Home and I can use a voice command to "turn on" or "turn off" the garage door - but this does not open or close it. Maybe it turns on/off the Konnected's 12V STR output.

Has anyone figured out how to open/close the garage door through Hubitat via Google Home voice command?

The on/off commands will control the garage opener light. The open/close commands are what you want to control the door.

I don't know enough about the Google Home integration to know if those commands are exposed to Google or not.

1 Like

Thanks, it looks like Hubitat's own Google Home integration can't handle a door opener device. A community-sourced Google Home integration looks like it's capable:

Hello
I am not sure if I should start a new topic or ask my question here so if it should be a dedicated thread sorry and let me know and I will change repost the question.

I would like to add a dedicate button to my dashboard to set the position to a set value, such as 20%. I see the blaq driver package has set position option but I have no idea how to get it over to the dash board or how to set the variable to a fixed value. Can someone give me some guidance on how to accomplish this?

I just installed the blaQ version and am having some issues with the Hubitat integration, and by extension SharpTools.

From the units webpage opening and closing the garage door works fine. From Hubitat sometimes it works and sometimes it does not.

It appear that Hubitat is interpreting the open command as a lock command. I did built the firmware with the Hubitat integration, and I’m using the Konnected package from Hubitat Package Manager.

Here’s the log captured when I selected Open on the Hubitat device page for the blaQ:

dev:14512024-06-16 11:24:17.023 AMinfoLock is unlocked (physical)

dev:14512024-06-16 11:24:16.974 AMinfo[I][secplus_gdo:056][gdo_main_task]: Lock: Unlocked

dev:14512024-06-16 11:24:16.442 AMinfoLock is locked (physical)

dev:14512024-06-16 11:24:16.276 AMinfo[I][secplus_gdo:056][gdo_main_task]: Lock: Locked

dev:14512024-06-16 11:24:15.621 AMinfoContact is null (digital)

dev:14512024-06-16 11:24:15.619 AMinfoDoor is opening (digital)

The door did not open.

This behavior carries over to SharpTools where both the Door and Contact attributes actually invoke Lock.

Maybe I missed a step, or maybe a conflict between the most recent firmware and the drivers.

If someone has some thoughts I’d appreciate the help. I hoping to say a farewell, to MyQ given how consumer-unfriendly they’ve become.

Thanks.

This is strange. Haven't seen this particular problem before. Can you post a log from the device's web page while you're doing the open/close commands from Hubitat so we can see what's coming through?

Thanks for the quick reply, Nate.

I was unable to duplicate the problem exactly. Sometimes commands work and sometimes they don’t.

Here’s som Hubitat logging that might help.

I started with the door open. I was able to close it and open it from Hubitat. Since I could not duplicate immediately I moved onto the SharpTools issue which seems to be close to what I experienced with the log snippet I posted in my earlier message.

I started with the door closed and tried to open it via the SharpTools/Hubitat integration. That failed, and instead of there being an open command the lock command ran.

I successfully issued the unlock command from the Hubitat app. I then hit open in the Hubitat. That failed, and to open the door I needed to use the MyQ app.

I was then able to close the door in the Hubitat app.

Thanks for helping. Here are Hubitat debug logs for the actions I mentioned, reading up.

dev:14512024-06-16 03:49:21.522 PMinfoPosition is 13 (physical)

dev:14512024-06-16 03:49:21.520 PMinfoContact is null (physical)

dev:14512024-06-16 03:49:21.517 PMdebugESPHome received: [type:state, platform:cover, isDigital:false, key:1402501725, legacyState:1, position:0.1333999931812286376953125, tilt:0, currentOperation:1]

dev:14512024-06-16 03:49:21.479 PMdebug[D][cover:186][gdo_main_task]: Current Operation: OPENING

dev:14512024-06-16 03:49:21.425 PMdebug[D][cover:173][gdo_main_task]: Position: 13%

dev:14512024-06-16 03:49:21.381 PMdebug[D][cover:170][gdo_main_task]: 'Garage Door' - Publishing:

dev:14512024-06-16 03:49:21.320 PMinfo[I][secplus_gdo:063][gdo_main_task]: Door: Opening, 13%, target: 100%

dev:14512024-06-16 03:49:21.242 PMinfoLight is on (physical)

dev:14512024-06-16 03:49:21.238 PMdebugESPHome received: [type:state, platform:light, isDigital:false, key:113374867, state:true, masterBrightness:1, colorMode:1, colorModeCapabilities:[ON/OFF], colorBrightness:1, red:1, green:1, blue:1, white:1, colorTemperature:0, coldWhite:1, warmWhite:1, effect:]

dev:14512024-06-16 03:49:21.165 PMinfo[I][secplus_gdo:052][gdo_main_task]: Light: On

dev:14512024-06-16 03:49:21.033 PMinfoContact is null (physical)

dev:14512024-06-16 03:49:21.031 PMdebugESPHome received: [type:state, platform:cover, isDigital:false, key:1402501725, legacyState:1, position:0, tilt:0, currentOperation:1]

dev:14512024-06-16 03:49:20.989 PMdebug[D][cover:186][gdo_main_task]: Current Operation: OPENING

dev:14512024-06-16 03:49:20.948 PMdebug[D][cover:173][gdo_main_task]: Position: 0%

dev:14512024-06-16 03:49:20.906 PMdebug[D][cover:170][gdo_main_task]: 'Garage Door' - Publishing:

dev:14512024-06-16 03:49:20.866 PMinfo[I][secplus_gdo:063][gdo_main_task]: Door: Opening, 0%, target: 100%

dev:14512024-06-16 03:48:57.772 PMinfoContact is null (digital)

dev:14512024-06-16 03:48:57.770 PMdebugESPHome received: [type:state, platform:cover, isDigital:true, key:1402501725, legacyState:1, position:0, tilt:0, currentOperation:1]

dev:14512024-06-16 03:48:57.731 PMdebug[D][cover:186]: Current Operation: OPENING

dev:14512024-06-16 03:48:57.699 PMdebug[D][cover:173]: Position: 0%

dev:14512024-06-16 03:48:57.668 PMdebug[D][cover:170]: 'Garage Door' - Publishing:

dev:14512024-06-16 03:48:57.602 PMdebug[D][gdo_cover:179]: Door is already moving in target direction; target position: 1%

dev:14512024-06-16 03:48:57.574 PMdebug[D][cover:084]: Position: 100%

dev:14512024-06-16 03:48:57.547 PMdebug[D][cover:076]: 'Garage Door' - Setting

dev:14512024-06-16 03:48:57.197 PMdebugESPHome send msg type #30 with [1:[1402501725, 5], 4:[1, 0], 5:[1.0, 5], 6:[0, 0], 7:[null, 5], 8:[0, 0]]

dev:14512024-06-16 03:48:57.176 PMinfoGarage Door open

dev:14512024-06-16 03:48:46.153 PMdebugESPHome received: [type:state, platform:sensor, key:2654868797, state:-46, hasState:true]

dev:14512024-06-16 03:48:46.115 PMdebugESPHome received: [type:state, platform:sensor, key:513204495, state:100, hasState:true]

dev:14512024-06-16 03:48:44.893 PMinfoContact is null (digital)

dev:14512024-06-16 03:48:44.890 PMdebugESPHome received: [type:state, platform:cover, isDigital:true, key:1402501725, legacyState:1, position:0, tilt:0, currentOperation:1]

dev:14512024-06-16 03:48:44.842 PMdebug[D][cover:186]: Current Operation: OPENING

dev:14512024-06-16 03:48:44.775 PMdebug[D][cover:173]: Position: 0%

dev:14512024-06-16 03:48:44.738 PMdebug[D][cover:170]: 'Garage Door' - Publishing:

dev:14512024-06-16 03:48:44.690 PMdebug[D][gdo_cover:179]: Door is already moving in target direction; target position: 1%

dev:14512024-06-16 03:48:44.650 PMdebug[D][cover:084]: Position: 100%

dev:14512024-06-16 03:48:44.607 PMdebug[D][cover:076]: 'Garage Door' - Setting

dev:14512024-06-16 03:48:44.469 PMdebugESPHome send msg type #30 with [1:[1402501725, 5], 4:[1, 0], 5:[1.0, 5], 6:[0, 0], 7:[null, 5], 8:[0, 0]]

dev:14512024-06-16 03:48:44.437 PMinfoGarage Door open

dev:14512024-06-16 03:48:40.656 PMinfo[I][secplus_gdo:056][gdo_main_task]: Lock: Unlocked

dev:14512024-06-16 03:48:39.398 PMinfoLock is unlocked (physical)

dev:14512024-06-16 03:48:39.393 PMdebugESPHome received: [type:state, platform:lock, key:489674504, state:2]

dev:14512024-06-16 03:48:39.337 PMdebug[D][lock:054]: 'Lock': Sending state UNLOCKED

dev:14512024-06-16 03:48:39.016 PMdebugESPHome send msg type #60 with [1:[489674504, 5], 2:[0, 0], 3:[0, 0], 4:[null, 2]]

dev:14512024-06-16 03:48:38.976 PMinfoGarage Door unlocked

dev:14512024-06-16 03:48:38.639 PMdebugESPHome send msg type #60 with [1:[489674504, 5], 2:[1, 0], 3:[0, 0], 4:[null, 2]]

dev:14512024-06-16 03:48:38.638 PMinfoESPHome sending message type #60 (4 retries left)

dev:14512024-06-16 03:48:36.608 PMinfoUptime is 5142 (physical)

dev:14512024-06-16 03:48:36.606 PMdebugESPHome received: [type:state, platform:sensor, key:1324261225, state:5142.1162109375, hasState:true]

dev:14512024-06-16 03:48:33.644 PMdebugESPHome send msg type #60 with [1:[489674504, 5], 2:[1, 0], 3:[0, 0], 4:[null, 2]]

dev:14512024-06-16 03:48:33.623 PMinfoGarage Door locked

dev:14512024-06-16 03:48:17.800 PMinfo[I][secplus_gdo:056][gdo_main_task]: Lock: Locked

dev:14512024-06-16 03:48:17.695 PMdebugESPHome received: [type:state, platform:light, isDigital:false, key:113374867, state:false, masterBrightness:1, colorMode:1, colorModeCapabilities:[ON/OFF], colorBrightness:1, red:1, green:1, blue:1, white:1, colorTemperature:0, coldWhite:1, warmWhite:1, effect:]

dev:14512024-06-16 03:48:17.647 PMinfo[I][secplus_gdo:052][gdo_main_task]: Light: Off

dev:14512024-06-16 03:48:17.586 PMinfoContact is null (digital)

dev:14512024-06-16 03:48:17.585 PMinfoDoor is opening (digital)

dev:14512024-06-16 03:48:17.583 PMdebugESPHome received: [type:state, platform:cover, isDigital:true, key:1402501725, legacyState:1, position:0, tilt:0, currentOperation:1]

dev:14512024-06-16 03:48:17.546 PMdebug[D][cover:186]: Current Operation: OPENING

dev:14512024-06-16 03:48:17.508 PMdebug[D][cover:173]: Position: 0%

dev:14512024-06-16 03:48:17.487 PMdebug[D][cover:170]: 'Garage Door' - Publishing:

dev:14512024-06-16 03:48:17.453 PMdebug[D][gdo_cover:112]: Sending OPEN action

dev:14512024-06-16 03:48:17.419 PMdebug[D][gdo_cover:207]: Open command received

dev:14512024-06-16 03:48:17.382 PMdebug[D][cover:084]: Position: 100%

dev:14512024-06-16 03:48:17.320 PMdebug[D][cover:076]: 'Garage Door' - Setting

dev:14512024-06-16 03:48:17.216 PMinfoLock is locked (physical)

dev:14512024-06-16 03:48:17.213 PMdebugESPHome received: [type:state, platform:lock, key:489674504, state:1]

dev:14512024-06-16 03:48:17.181 PMdebug[D][lock:054]: 'Lock': Sending state LOCKED

dev:14512024-06-16 03:48:17.096 PMinfoLight is off (digital)

dev:14512024-06-16 03:48:17.092 PMdebugESPHome received: [type:state, platform:light, isDigital:true, key:113374867, state:false, masterBrightness:1, colorMode:1, colorModeCapabilities:[ON/OFF], colorBrightness:1, red:1, green:1, blue:1, white:1, colorTemperature:0, coldWhite:1, warmWhite:1, effect:]

dev:14512024-06-16 03:48:17.057 PMdebug[D][light:047]: State: OFF

dev:14512024-06-16 03:48:17.028 PMdebug[D][light:036]: 'Garage Light' Setting:

dev:14512024-06-16 03:48:16.925 PMdebugESPHome send msg type #30 with [1:[1402501725, 5], 4:[1, 0], 5:[1.0, 5], 6:[0, 0], 7:[null, 5], 8:[0, 0]]

dev:14512024-06-16 03:48:16.898 PMinfoGarage Door open

dev:14512024-06-16 03:48:16.887 PMdebugESPHome send msg type #60 with [1:[489674504, 5], 2:[1, 0], 3:[0, 0], 4:[null, 2]]

dev:14512024-06-16 03:48:16.821 PMinfoGarage Door locked

dev:14512024-06-16 03:48:16.810 PMdebugESPHome send msg type #32 with [1:[113374867, 5], 2:[1, 0], 3:[0, 0], 4:[0, 0], 5:[null, 5], 6:[0, 0], 7:[null, 5], 8:[null, 5], 9:[null, 5], 10:[0, 0], 11:[null, 5], 12:[0, 0], 13:[null, 5], 14:[0, 0], 15:[null, 0], 16:[0, 0], 17:[null, 0], 18:[0, 0], 19:[null, 2], 20:[0, 0], 21:[null, 5], 22:[0, 0], 23:[null, 0]]

dev:14512024-06-16 03:48:16.789 PMinfoGarage Door off

dev:14512024-06-16 03:48:03.833 PMinfoPosition is 0 (physical)

dev:14512024-06-16 03:48:03.818 PMinfoContact is closed (physical)

dev:14512024-06-16 03:48:03.815 PMinfoDoor is closed (physical)

On the SharpTools side of things, keep in mind that the device will be displayed with a default tile layout depending on what capabilities the device reports, but you can edit your dashboard and change to other tile layouts if the device has multiple capabilities/layouts available.

Same concepts as the above linked help article, but instead of the Hero Attribute layout, you would choose Garage Door if that's available or whatever you're interested in.

Thanks, Josh.

By default the Garage Door loaded in SharpTools as a Door Control Tile. All that did was lock the door when pressed. I changed the format to a Hero Attribute tile and tried several different attributes in the primary slot, but they did not work. Both the Door and Contact attributes locked the door, although the displayed status of the door - open or closed was correct. Only the action was incorrect.

Thanks for the clarification. That tile is only capable of sending open() and close() commands. I didn't read through the details of your post closely enough, so I thought the device was receiving the lock()/unlock() command directly from SharpTools and thus assumed it might have been using a different layout like the Lock Tile..

That's interesting that the open/close command is being sent, but you are seeing lock statuses.

I have the black blahQ installed with the GDO2-s driver and it seems to be working well. Is there a way to scale back the rssi logging?