I refuse to allow a cloud service to have control over my house. Having to solder to a button is… not very elegant.
The whole thing annoyed me to the point that I decided to reverse engineer the wired serial encryption and release an ESP8266 shield that gives full local control over the door with dry contacts or with mqtt.
After months of work, I have a solution that is ready for some beta testers. As of this writing I have a batch of boards on order and expect to receive them in a couple of weeks. If you are interested in testing, please DM me!
Main Features:
Shield wires to the door opener’s terminals
MQTT control to open, close and toggle the light on the door opener. Status feedback for obstructions and door positions (opening, open, closing, closed, obstructed, clear).
Dry contacts for open/close/light and status contacts for obstruction/door state
WiFi & MQTT are optional, can be setup in dry contact mode only
Effort to fully document the solution with instructions and diagrams is ongoing…
It would be cool to have a version of this with the ability to solder buttons and lights, i.e. one that works like a regular physical garage door opener.
Is it possible to use this in combination with the regular wired door opener?
I’d be interested but when I tried to buy 3 of the shields from your site with either my pixel phone or my computer browser, nothing happens. That’s using the GPay option.
Thanks for letting me know. It’s a square checkout url. I’ll have to figure out why it won’t let you checkout by trying to buy one from myself
So I don’t have gpay. I was able to checkout with credit card and with Apple Pay. Did you get an error message at the bottom near the place order button?
I think you would have a broader acceptance in the HA community if you develop an ESPHome version that uses the ESPHome API and doesn’t rely on MQTT.
If possible of course.
I’m already using the “soldered wires to a relay” hack for the controls and a Ultrasonic distance sensor for the position feedback. Both use ESPHome as the interface and work pretty well for me.
I’m not averse to using MQTT since I already have a broker set up and use it for a couple of other things but I like the direct connection of ESPHome to HA. So if I could use your board with ESPHome I might just buy one.
Does your board do the security encryption or is it done in the firmware somehow?
Native integration with ESP Home will come once I figure out how to do it (or someone from here wants to help and create a PR)
First I had to get a fully functional solution. Second, gauge the interest - if only 3 people end up using this, then there isn’t any reason to develop it further. I have no way of really gauging how many people own these door openers, and then of that group, how many want local control.
If the interest is there, I’ll keep developing it!
And regarding the rolling code & encryption - I reverse engineered it and in doing so discovered a major design flaw in the whole scheme that allows me to use a special set of static commands to control the door opener.
That way industrious people like yourself could come along later and find a way to add local control to their own equipment and not rely on the (often unreliable) MyQ app.
I expect to receive my boards by end of day so I’ve been reviewing the current docs on Github and have a few clarifying questions.
I intend to use MQTT as I already have the infrastructure in place for it and am integrated into HA. I will solder the board to the GDO for power, etc.
Looking at the wiring diagram, what are the minimum connections I need to make for MQTT feedback and control? The written instructions state 3.3V, RPM1, and RPM2 and then reconnect the original button wires to the shield, not the GDO. No ground connection? I’m assuming I can ignore the dry contact side of the board.
What are the MQTT commands we can publish for control and what are the status messages we expect to see back? I don’t intend to use Node Red and Home Assistant configuration details aren’t yet included. I can help with that once I have this configured.
There are six wires: 3.3v power (soldered), ground (white terminal on gdo), door control (red terminal), obstruction detect (black terminal), rpm1 (soldered) & rpm2 (soldered).
You could leave out the 3.3v power if you wanted to power it from a USB brick.
The button and ratgdo are wired in parallel so it doens’t matter if you use the GDO terminals or the ratgdo terminals. ratgdo’s terminals are bigger and have a screw to tighten them so it will accept more wires, but either will work.
The white terminal on the GDO is ground. The dry contact side of the board is not needed at all if you are only using MQTT.
Thought I had some spare D1 minis around but turns out they were NodeMCUs. Waiting on next day Amazon delivery now. Next hurdle will be bracing for the Texas heat in the garage to take out and solder the control board.
Well I took my GDO apart and looked at the control board which is significantly different than the one posted in the docs. Mine is from 2015. The rotary encoder connection looks the same (6 pins) and I’d like to hear if you think the pinout there is the same. Unfortunately, there is no silkscreened 3.3V connection, so I will likely have to go fishing on the board. Looks like a PIC microprocessor on the control board so I have some candidates to test looking at the data sheet.