[OBSOLETE] MyQ Lite Door and Lamp Control (for Liftmaster/Chamberlain)

Thanks for your efforts.

Appreciate all the fine work you have been doing Brian! Iā€™ve been using your integration for years and itā€™s been awesome. Question, for those of use who are unlikely to go down the road of self-hosting I assume there is no other work-around that would leverage your app, post groovy?

If not, in a post groovy world and for those using contact or tilt sensors and running Alexa, couldnā€™t we create virtual (Edge driver) GDOā€™s in SmartThings connected to those contact sensors, and then use virtual switches to send open and close commands to Alexa? Since Alexa can connect with Simple Commands, I think that can serve to trigger the open and close commands to MyQ, meanwhile the virtual GDO updates status to Smarthings based on the contact sensors? Maybe I am missing something but that would seem to be a solution that doesnā€™t require self hosting and isnā€™t all that technical, for those of us less inclined. I guess it would rely on 4 cloud services operating, though in the current state I think your integration still requires 3 cloud services, assuming one is also using Alexa for voice access.

Thoughts? Thanks in advance!

How were you planning on doing this? Iā€™m not sure why the server side needs to notice IP address changes of the client side (hub) though. The client would use UPnP/SSDP to find running servers on its local network, connecting to it. If you really need the server to know the clientā€™s IP, you could get the local IP on the client and pass it over the tunnel, or the server could request the remote IP address of its connected TCP socket.

Iā€™m looking forward to testing your new driver. I have a MyQ bridge arriving this week in fact.

1 Like

Iā€™m only using SSDP during discovery. Once the device is created and IP is known, it makes normal http calls. Or at least, thatā€™s my current implementation. This stuff is still kinda wide open in terms of making it do what you want.

Perhaps use a SSDP subscription on the client side, have the server send out its SSDP updates every 60 seconds. Have the client cache the last known IP address/port for any HTTP requests. This is similar how Control4 would find and track devices on the network.

I had considered something like this. Really not a bad idea as long as itā€™s not too chatty.

1 Like

Self-hosting is pretty much it, either via something on your LAN or something on a cloud service that operates as a new smartApp that hits the SmartThings API.

This seems technically possible. Iā€™d say give it a shot.

Possibly of interest to this thread

1 Like

Would it be possible to make the self hosted part a little docker that could be dropped on RaspberryPi?

Yep, Iā€™ll definitely have a docker image available - I plan to run it on my Unraid server.

1 Like

Hi just checking to see if you have cone up with a way to keep the myq garage door working with smartthings. Not sure if i missed it in the thread on

In progress, not released yet.

@brbeaird Have you seen this?

Thanks for the update. Just making sure I didnā€™t miss anything

I think Iā€™ve got something stable enough to share. Working now on a docker config and other distributable binaries. Very close now.

11 Likes

At last, it is finally ready. New thread of the future is here: [ST Edge] SmartThings MyQ Edge. For anyone brave enough to give this first round a shot, have at it. Iā€™m sure there are issues I have not anticipated, but at this point, I feel very confident we can get this working for anyone willing to host the bridge server piece - I have done my very best to make that as simple as possible. If youā€™ve got any kind of machine on your LAN that is always on and can run an executable (raspberry pi is a good option), this should be doable for you.

As a sidenote, it is hard to believe I first wrote this SmartApp version over 6 years ago. It seems silly in some ways to think of all the hours I have poured into this just so we can all have our garage doors open and close automatically in tune with SmartThings automations, but for whatever reason, it brings me a lot of joy to have been able to share this with so many others. It has certainly had ups and downs with many sudden MyQ changes requiring quick pivoting and reverse-engineering, but overall, this has been a solid integration.

For that reason, it was an easy decision for me to do a rewrite and keep this going. Doing this integration on the Edge platform is more complex in some ways but as a whole is a huge improvement over the Groovy SmartApp. I hope you all will have a similar experience with it - looking forward to seeing how it goes.

14 Likes

@brbeaird this is great. Thank you so much.

I have already setup the service on my home server and it is running perfectly. I ran the EXE, becuase I am not familiar with Docker but Iā€™ll play around with that later. What is the downside of using the EXE?

One issue that I ran into was that I was not able to download the config.json file from GitHub, download was not an option. My workaround was to copy and paste of the code into a local Notepad file and saved it with the same config.json filename and made sure it was in the same folder, and that worked. Iā€™m not sure if I just missed the download button for this config file. Does GitHub allow you to add a TXT file that would allow a simple download?

Iā€™ll continue to test and play around with Docker, but thank you again for the great work on this. Itā€™s awesome!

1 Like

Iā€™ll be using Docker because it allows me to set up the LAN component on my NAS. If I had an always-on Windows machine I would probably use the exe as itā€™s a more familiar interface for me. Since I donā€™t, and Iā€™m already running a Docker container for my backup service, this is the most convenient way to for me to get the new MyQ up and running quickly.

No downsides, really. I just like Docker a bit more because itā€™s a more isolated and predictable environment. It also has the ability to be set up to do auto-updates if server code changes.

Not really. The best you can do is click the ā€œrawā€ button and then right-click + save as to download it. Iā€™ll think about modifying the executables to just prompt for username/password if the config file does not already exist (and then write to it automatically for future runs).

1 Like

Holy Cow!

That was soooo easy, and my testing has had ZERO hiccups. @brbeaird Youā€™re a Stud!

Thanks
Chet

1 Like