Chamberlain MyQ Garage
-
pixelknave
- Posts: 7
- Joined: Fri Apr 18, 2014 1:57 pm
Chamberlain MyQ Garage
Hi folks,
I just set up a Chamberlain MyQ Garage (http://www.chamberlain.com/smartphone-c ... -myq-g0201), and would love to integrate this into my Indigo setup. As far as I know, Chamberlain hasn't made any sort of API available, but I'm wondering if anyone has sniffed around and figured out a way to have 3rd party apps communicate with the system (presumably via mychamberlain.com).
Thanks!
-Chris
I just set up a Chamberlain MyQ Garage (http://www.chamberlain.com/smartphone-c ... -myq-g0201), and would love to integrate this into my Indigo setup. As far as I know, Chamberlain hasn't made any sort of API available, but I'm wondering if anyone has sniffed around and figured out a way to have 3rd party apps communicate with the system (presumably via mychamberlain.com).
Thanks!
-Chris
Re: Chamberlain MyQ Garage
I would like to know as well.
Because it has to do with security it might be tough to get it going.
Because it has to do with security it might be tough to get it going.
Re: Chamberlain MyQ Garage
I'm looking to install two Liftmaster 8500's but my big concern is integration and remote operation...yet another vendor with their own proprietary automation system. I don't like the idea of having to use the intermediary mychamberlain.com and their internet gateway add-on. I currently use IOLINCs with traditional overhead openers. Are the 8500's different where the push button remote connects? Can I just add my IOLINC's to the 8500?
- jay (support)
- Site Admin
- Posts: 19202
- Joined: Wed Mar 19, 2008 11:52 am
- Location: Austin, Texas
- Contact:
Re: Chamberlain MyQ Garage
This is a better question for INSTEON since they sell the garage door kit and probably know which brands and models work.
Re: Chamberlain MyQ Garage
any luck with this? I just got a new Chamberlain garage door opener this week, and want to integrate it into indigo.crofford wrote:I'm looking to install two Liftmaster 8500's but my big concern is integration and remote operation...yet another vendor with their own proprietary automation system. I don't like the idea of having to use the intermediary mychamberlain.com and their internet gateway add-on. I currently use IOLINCs with traditional overhead openers. Are the 8500's different where the push button remote connects? Can I just add my IOLINC's to the 8500?
Re: Chamberlain MyQ Garage
Good luck with this. They are famous for closed systems.
Honestly I'd simply perform the following:
1. Pickup a Chamberlain Remote and pair to your openers.
2. Open it up and solder wires to the button contacts for how ever many doors you want to control.
3. Connect wires to any ZWave in Insteon etc Dry Contact Relay device.
4. Program those relays as "Garage Door Opener"
5. Activate relay(s) and enjoy.
You might also try adding a battery eliminator circuit to power the remote but then again, they last for years on the coin cells so might be a waste of effort.
I did something similar to this with my Motorcycle using a "double tap" device. I simply double tap my fog light switch and it activates a relay wired to a garage door opener buried inside my frame. Works brilliantly.
Then wire up a door contact of some sort so you can keep a live status of the door as well.
Cheers
Tim
Honestly I'd simply perform the following:
1. Pickup a Chamberlain Remote and pair to your openers.
2. Open it up and solder wires to the button contacts for how ever many doors you want to control.
3. Connect wires to any ZWave in Insteon etc Dry Contact Relay device.
4. Program those relays as "Garage Door Opener"
5. Activate relay(s) and enjoy.
You might also try adding a battery eliminator circuit to power the remote but then again, they last for years on the coin cells so might be a waste of effort.
I did something similar to this with my Motorcycle using a "double tap" device. I simply double tap my fog light switch and it activates a relay wired to a garage door opener buried inside my frame. Works brilliantly.
Then wire up a door contact of some sort so you can keep a live status of the door as well.
Cheers
Tim
Re: Chamberlain MyQ Garage
I just bought a Ford Escape that has a 'universal' 3 button garage door opener. I have a carport and not a garage, so I have no door and no opener. Is is possible to buy an interface that I could connect to Indigo that would allow me to use this transmitter to control Indigo devices without buying a garage door opener? I basically need some sort of transponder/protocol convertor.
-
acesandeights18
- Posts: 12
- Joined: Fri Mar 11, 2016 9:57 am
Re: Chamberlain MyQ Garage
I found unpublished APIs.
http://docs.unofficialliftmastermyq.apiary.io/#
Will this make it possible for a Indigo plugin?

http://docs.unofficialliftmastermyq.apiary.io/#
Will this make it possible for a Indigo plugin?
Re: Chamberlain MyQ Garage
They have it running on the ISY994 so looks like it is possible:
https://github.com/Einstein42/myq-garage
https://github.com/Einstein42/myq-garage
Re: Chamberlain MyQ Garage
Keying of what Thorvald wrote I would suggest:
Instead of hacking a garage door transmitter, just take the Zwave/Indigo relay device and wire it in parallel to the garage door button. Then create a "on" trigger event with an auto off in 1 second. This would emulate someone pressing the garage door button for 1 second.
Pair it up with a siren to make some noise before the door moves (action group). Think that makes it OSHA (?) complaint.
Instead of hacking a garage door transmitter, just take the Zwave/Indigo relay device and wire it in parallel to the garage door button. Then create a "on" trigger event with an auto off in 1 second. This would emulate someone pressing the garage door button for 1 second.
Pair it up with a siren to make some noise before the door moves (action group). Think that makes it OSHA (?) complaint.
Re: Chamberlain MyQ Garage
I was told by my Garage door guy that it uses a circuit board so I wouldn't be able to use the insteon contact switch. I would love to figure out how to get it to work with Indigo.
Re: Chamberlain MyQ Garage
As luck would have it, my garage door opener broke and I had to replace it yesterday. Given my requirements, I wound up getting the MyQ. Based on the comprehensive script at https://github.com/Einstein42/myq-garage here are a couple of scripts I hacked up. Note that this script requires the REQUESTS module. Documenting that is outside my scope.
Although I'm not a fan of needing internet connectivity to open a garage door, this is actually a fairly economical solution compared to the alternative. The highest-end door at Home Depot is the Chamberlain HD950WF and it was $238 yesterday http://www.homedepot.com/p/Chamberlain- ... /205880822 . The Insteon Garage Door Control & Status IO-Linc is $80 on its own http://www.smarthome.com/insteon-74551- ... s-kit.html
The security token seems to have a short expiration, so I get a new one each time my scripts run. I don't know how often it's safe to poll -- I have the status script scheduled for 1 minute.
There are ways to make the scripts cleaner and more useful, but these just pull the elements I needed and I just made them Action Groups so I could make a Virtual Device.
Getting Current System Status
Open Garage Door
Change 'AttributeValue' to 0 to Close Garage Door
Toggle Garage Door
Although I'm not a fan of needing internet connectivity to open a garage door, this is actually a fairly economical solution compared to the alternative. The highest-end door at Home Depot is the Chamberlain HD950WF and it was $238 yesterday http://www.homedepot.com/p/Chamberlain- ... /205880822 . The Insteon Garage Door Control & Status IO-Linc is $80 on its own http://www.smarthome.com/insteon-74551- ... s-kit.html
The security token seems to have a short expiration, so I get a new one each time my scripts run. I don't know how often it's safe to poll -- I have the status script scheduled for 1 minute.
There are ways to make the scripts cleaner and more useful, but these just pull the elements I needed and I just made them Action Groups so I could make a Virtual Device.
Getting Current System Status
Code: Select all
import requests
from requests.auth import HTTPBasicAuth
from requests.utils import quote
appid = (indigo.variables['chamberlainAppID'].value)
key = (indigo.variables['chamberlainSecurityToken'].value)
username = (indigo.variables['chamberlainUserID'].value)
password = (indigo.variables['chamberlainPassword'].value)
login_url = 'https://myqexternal.myqdevice.com/Membership/ValidateUserWithCulture?appid=' + appid + '&securityToken=null&username=' + username + '&password=' + password + '&culture=en'
r = requests.get(login_url)
data = r.json()
# indigo.server.log(str(data))
key = data['SecurityToken']
indigo.variable.updateValue('chamberlainSecurityToken', value=(key))
login_url = 'https://myqexternal.myqdevice.com//api/UserDeviceDetails?appId=' + appid + '&securityToken=' + key
r = requests.get(login_url)
data = r.json()
statRangeRover = data['Devices'][2]['Attributes'][3]['Value']
statRangeRoverDevice = data['Devices'][2]['DeviceId']
statTesla = data['Devices'][3]['Attributes'][3]['Value']
statTeslaDevice = data['Devices'][3]['DeviceId']
if statRangeRover == '1':
statRangeRoverStr = 'Open'
if statRangeRover == '2':
statRangeRoverStr = 'Closed'
if statRangeRover == '3':
statRangeRoverStr = 'Stopped'
if statRangeRover == '4':
statRangeRoverStr = 'Opening'
if statRangeRover == '5':
statRangeRoverStr = 'Closing'
if statTesla == '1':
statTeslaStr = 'Open'
if statTesla == '2':
statTeslaStr = 'Closed'
if statTesla == '3':
statTeslaStr = 'Stopped'
if statTesla == '4':
statTeslaStr = 'Opening'
if statTesla == '5':
statTeslaStr = 'Closing'
indigo.variable.updateValue('chamberlainRangeRoverStat', value=str(statRangeRoverStr))
indigo.variable.updateValue('chamberlainRangeRoverStatDeviceID', value=str(statRangeRoverDevice))
indigo.variable.updateValue('chamberlainTeslaStat', value=str(statTeslaStr))
indigo.variable.updateValue('chamberlainTeslaStatDeviceID', value=str(statTeslaDevice))Change 'AttributeValue' to 0 to Close Garage Door
Code: Select all
import requests
from requests.auth import HTTPBasicAuth
from requests.utils import quote
appid = (indigo.variables['chamberlainAppID'].value)
key = (indigo.variables['chamberlainSecurityToken'].value)
username = (indigo.variables['chamberlainUserID'].value)
password = (indigo.variables['chamberlainPassword'].value)
deviceid = (indigo.variables['chamberlainTeslaStatDeviceID'].value)
login_url = 'https://myqexternal.myqdevice.com/Membership/ValidateUserWithCulture?appid=' + appid + '&securityToken=null&username=' + username + '&password=' + password + '&culture=en'
r = requests.get(login_url)
data = r.json()
indigo.server.log(str(data))
key = data['SecurityToken']
indigo.variable.updateValue('chamberlainSecurityToken', value=(key))
post_url = 'https://myqexternal.myqdevice.com/api/deviceattribute/putdeviceattribute'
# AttributeValue of 1 is Open, 0 is Closed
payload = {
'ApplicationId': appid,
'AttributeName': 'desireddoorstate',
'DeviceId': deviceid,
'AttributeValue': 1,
'SecurityToken': key
}
r = requests.put(post_url, data=payload)
indigo.server.log(str(r))
data = r.json()
indigo.server.log(str(data))Code: Select all
import requests
from requests.auth import HTTPBasicAuth
from requests.utils import quote
appid = (indigo.variables['chamberlainAppID'].value)
key = (indigo.variables['chamberlainSecurityToken'].value)
username = (indigo.variables['chamberlainUserID'].value)
password = (indigo.variables['chamberlainPassword'].value)
deviceid = (indigo.variables['chamberlainTeslaStatDeviceID'].value)
# Get Security Token
login_url = 'https://myqexternal.myqdevice.com/Membership/ValidateUserWithCulture?appid=' + appid + '&securityToken=null&username=' + username + '&password=' + password + '&culture=en'
r = requests.get(login_url)
data = r.json()
key = data['SecurityToken']
indigo.variable.updateValue('chamberlainSecurityToken', value=(key))
# Check Door Status
indigo.variable.updateValue('chamberlainSecurityToken', value=(key))
login_url = 'https://myqexternal.myqdevice.com//api/UserDeviceDetails?appId=' + appid + '&securityToken=' + key
r = requests.get(login_url)
data = r.json()
statRangeRover = data['Devices'][2]['Attributes'][3]['Value']
statRangeRoverDevice = data['Devices'][2]['DeviceId']
statTesla = data['Devices'][3]['Attributes'][3]['Value']
statTeslaDevice = data['Devices'][3]['DeviceId']
if statRangeRover == '1':
statRangeRoverStr = 'Open'
if statRangeRover == '2':
statRangeRoverStr = 'Closed'
if statRangeRover == '3':
statRangeRoverStr = 'Stopped'
if statRangeRover == '4':
statRangeRoverStr = 'Opening'
if statRangeRover == '5':
statRangeRoverStr = 'Closing'
if statTesla == '1':
statTeslaStr = 'Open'
if statTesla == '2':
statTeslaStr = 'Closed'
if statTesla == '3':
statTeslaStr = 'Stopped'
if statTesla == '4':
statTeslaStr = 'Opening'
if statTesla == '5':
statTeslaStr = 'Closing'
indigo.variable.updateValue('chamberlainRangeRoverStat', value=str(statRangeRoverStr))
indigo.variable.updateValue('chamberlainRangeRoverStatDeviceID', value=str(statRangeRoverDevice))
indigo.variable.updateValue('chamberlainTeslaStat', value=str(statTeslaStr))
indigo.variable.updateValue('chamberlainTeslaStatDeviceID', value=str(statTeslaDevice))
#Toggle State If Closed, Then Open
if statTesla == '1':
desiredState = '0'
elif statTesla == '2':
desiredState = '1'
else:
sys.exit()
post_url = 'https://myqexternal.myqdevice.com/api/deviceattribute/putdeviceattribute'
payload = {
'ApplicationId': appid,
'AttributeName': 'desireddoorstate',
'DeviceId': deviceid,
'AttributeValue': desiredState,
'SecurityToken': key
}
r = requests.put(post_url, data=payload)
data = r.json()
indigo.server.log(str(data))Insteon / Z-Wave / Bryant Evolution Connex /Tesla / Roomba / Elk M1 / SiteSage / Enphase Enlighten / NOAA Alerts
-
gregjsmith
- Posts: 946
- Joined: Tue Apr 01, 2003 9:41 am
- Location: Rio Rancho, NM
- Contact:
Re: Chamberlain MyQ Garage
What is the Requests module?
Re: Chamberlain MyQ Garage
it's a Python add-on that simplifies dealing with accessing data over the internet.gregjsmith wrote:What is the Requests module?
When I get home tonight, I'll find the references on how to install it on this forum.
Insteon / Z-Wave / Bryant Evolution Connex /Tesla / Roomba / Elk M1 / SiteSage / Enphase Enlighten / NOAA Alerts
-
gregjsmith
- Posts: 946
- Joined: Tue Apr 01, 2003 9:41 am
- Location: Rio Rancho, NM
- Contact:
Re: Chamberlain MyQ Garage
Thanks. I would like to try these scripts out.