[Broken] MyQ Lite Application

yes , this is new, I am using an Smart Things tilt sensor, it was working fine, as stated, I reinstalled, and the same issue, it does not seem to poll for some reason.

1 Like

@eaton.blumenstein and @ridl8349

What does your door sensor (the Samsung sensor) show in their device page? Can you screenshot the first part of that page up at least up to the Save Preferences section.

There is another similar thread where someone has one door of two working, and I wonder if there is something in common between all of you.

The MyQ app is working for me with a Samsung sensor, but I have been using this for a year or more so I am not sure if your issue is a new user thing, or what. I didn't write this app, but I have used it a fair amount, and reinstalled a couple times for various reasons, so I am at least going to give it a shot at fixing this.

Here are the settings I have on one of them. The other is the same.

My "Do you want to use this sensor on a garage door?" is set to Maximum.

The settings look fine, although you could try to use the other setting for XYZ events ON (Do you want to use this on a garage door?) and see if that makes any difference. It shouldn't though.

What happens if you actually operate the door? Does the Current States section change? Which things change?

The sensor should react fairly fast, in my case it only takes maybe 1 second of the door moving to make the sensor change state from [acceleration : inactive] to [acceleration : active] and once the door starts going up the contact says [open] almost right away. There is a slight lag on contact saying [closed], but it can't be much more than 1.5-2 seconds after the door is closed before it changes.

The sensor works great and updates within seconds.

The MyQ lite status does not update unless I select the poll option. Once I select the poll option it updates to the correct position.

Yes what they said. The sensor reads open or closed correctly. But the myq app shows the wrong staus. Until I hit poll. This is new, and that's the odd part. Not sure when I updated the app, but I think I did update something recently. (Sorry I don't remember exactly what) bit now it does not poll like it used it used to..

1 Like

Yes exactly @eaton.blumenstein . The app updated through Hubitat Package Manager then it stopped working.

1 Like

I’ll look into this this weekend. There was a small change in the ST app that I copied over that was related to door status.

1 Like

I am not having any issues with my door status.

I have switched over to using the HPM for the driver.

I also changed my ST sensor from tilt to contact mode. I mounted the magnet to the trolley and mounted the sensor on the track so they align when the door is in the closed position.

I’m highlighting this just in case the driver handles it differently in contact mode vs tilt mode.

Side note - my wife has the habit of only opening the garage door about a foot during the day so it doesn't get to hot in the garage. That wasn’t sufficient to tilt the upper panel 45 degrees to change the sensor status.

1 Like

I seem to have the same issue as @brandonjyoung8. Here's my setup:
App ver 3.1.3 (no package manager installed, yet).
Device driver: MyQ Garage Door Opener 3.1.1
I do not have the momentary push buttons installed nor the device driver code for them.
Contact sensor: Virtual contact switch that is confirmed working via IFTTT

The garage device gets the correct status from the contact sensor and also works when pressing the on/off buttons in the device. However, I can't control the device from the dashboard. The Garage (control) device doesn't show the right status (I also tried garage and switch but they didn't work, either).

What [simple] thing am I missing? TIA.

2020-08-01_07-52-25

This is where I created virtual switches using the rule machine app. Let me know if you need more detail and I can get some screenshots/notes.

For someone experiencing the issue, could you please try this and let me know if it works:

  1. Go to App Code and open the MyQ Lite App
  2. Go to line 709 which should be def currentDoorState = doorToUpdate.latestValue("door")
  3. Change it to def currentDoorState = doorToUpdate.latestValue("contact")

Does that resolve the issue?

I have installed the app and the driver with the sensor version as my myq has that built in. However I get the follow error Device type 'MyQ Garage Door Opener-NoSensor' in namespace 'brbeaird' not found. Which is strange as I did not install the nosensor driver. Logs below.

app:132020-08-03 07:42:42.848 am debugMyQ Lite changes saved.

app:132020-08-03 07:42:42.749 am warndebug logging is: true

app:132020-08-03 07:42:40.684 am debugError at line number 609: java.lang.NullPointerException: Cannot get property 'deviceNetworkId' on null object

app:132020-08-03 07:42:40.407 am debug[org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60), org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190), org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46), org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299), user_app_brbeaird_MyQ_Lite_66.createChilDevices(user_app_brbeaird_MyQ_Lite_66.groovy:609), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98), groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325), org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352), groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034), org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68), org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:193), user_app_brbeaird_MyQ_Lite_66$_initialize_closure17.doCall(user_app_brbeaird_MyQ_Lite_66.groovy:389), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98), groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325), org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264), groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034), groovy.lang.Closure.call(Closure.java:420), groovy.lang.Closure.call(Closure.java:436), org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2125), org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2110), org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2151), org.codehaus.groovy.runtime.dgm$163.invoke(Unknown Source), org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274), org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56), org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128), user_app_brbeaird_MyQ_Lite_66.initialize(user_app_brbeaird_MyQ_Lite_66.groovy:388), user_app_brbeaird_MyQ_Lite_66.summary(user_app_brbeaird_MyQ_Lite_66.groovy:298), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98), groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325), groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225), groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034), groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:815), groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:46), groovy.lang.Script.invokeMethod(Script.java:80), groovy.util.DelegatingScript.invokeMethod(DelegatingScript.java:116), groovy.lang.GroovyObject$invokeMethod$1.call(Unknown Source), com.hubitat.handler.AppHandler.executeMethod(AppHandler.groovy:178), sun.reflect.GeneratedMethodAccessor978.invoke(Unknown Source), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210), org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59), org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177), com.hubitat.handler.AppHandler.runAppMethodWithException(AppHandler.groovy:137), com.hubitat.handler.AppHandler$runAppMethodWithException.call(Unknown Source), com.hubitat.helper.AppHelper.getDynamicPage(AppHelper.groovy:33), com.hubitat.helper.AppHelper$getDynamicPage$1.callStatic(Unknown Source), com.hubitat.helper.AppHelper.getAppConfigPage(AppHelper.groovy:15), com.hubitat.helper.AppHelper$getAppConfigPage$0.call(Unknown Source), com.hubitat.hub.route.AppRoute.buildConfigPageModel(AppRoute.groovy:1758), com.hubitat.hub.route.AppRoute.buildConfigPageModel(AppRoute.groovy), sun.reflect.GeneratedMethodAccessor1261.invoke(Unknown Source), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98), groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325), org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352), groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034), org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68), org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177), com.hubitat.hub.route.AppRoute$_configureInstalledAppPages_closure31.doCall(AppRoute.groovy:862), sun.reflect.GeneratedMethodAccessor1066.invoke(Unknown Source), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98), groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325), org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264), groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034), groovy.lang.Closure.call(Closure.java:420), org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:54), org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:124), com.sun.proxy.$Proxy24.handle(Unknown Source), spark.RouteImpl$1.handle(RouteImpl.java:72), spark.http.matching.Routes.execute(Routes.java:61), spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:134), spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50), org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1671), org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144), org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61), org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132), org.eclipse.jetty.server.Server.handle(Server.java:505), org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370), org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267), org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305), org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103), org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117), org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333), org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310), org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168), org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126), org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366), org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698), org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804), java.lang.Thread.run(Thread.java:748)]

app:132020-08-03 07:42:40.402 am debugError! com.hubitat.app.exception.UnknownDeviceTypeException: Device type 'MyQ Garage Door Opener-NoSensor' in namespace 'brbeaird' not found

app:132020-08-03 07:42:40.396 am debugCreating door with no sensor

app:132020-08-03 07:42:40.394 am debugCreating child door device CG08430B2FD7

app:132020-08-03 07:42:40.385 am debugInitializing...

app:132020-08-03 07:42:29.477 am debugGot valid door: Small Garage Door type: garagedoor status: closed type: virtualgaragedooropener

app:132020-08-03 07:42:29.475 am debugFound door: Small Garage Door

app:132020-08-03 07:42:29.473 am debugGot valid door: Big Garage Door type: garagedoor status: closed type: virtualgaragedooropener

app:132020-08-03 07:42:29.472 am debugFound door: Big Garage Door

app:132020-08-03 07:42:29.470 am debugGot result: 0

app:132020-08-03 07:42:29.468 am debugGot response: STATUS: 200

app:132020-08-03 07:42:05.603 am warndebug logging is: false

app:132020-08-03 07:41:31.660 am warnforceLogin: Refreshing login token

Welcome to Hubitat!

Unfortunately, the built-in MyQ sensor is not exposed to Hubitat. Therefore, you'll need to either add an external z-wave/zigbee tilt/contact sensor, or install the no-sensor version of @dman2306's MyQ application/driver. Of those two choices, I would recommend adding a zigbee/z-wave contact or tilt sensor.

There are other ways around this. For example, the Homebridge MyQ integration supports the built-in sensor. Using a Homekit automation and Hubitat's Homebridge integration, you could bring sensor status into Hubitat (using a virtual sensor). Another choice would be to use Hubitat's and MyQ's IFTTT integration to set sensor status (again, using a virtual sensor).

3 Likes

What are some good and reliable zigbee and zwave tilt sensors?

Zigbee:

https://www.amazon.com/Samsung-SmartThings-Multipurpose-Sensor-GP-U999SJVLAAA/dp/B07F956F3B/

Z-wave:

https://www.amazon.com/Z-Wave-Plated-Reliability-Garage-TILT-ZWAVE2-5-ECO/dp/B01MRZB0NT/

3 Likes

Thank you!

@dman2306 ... I am planning to add a gate to MyQ in the near future. Do you know if your app will support the Open/Close feature like a garage?

It won't matter, it will see it as a gate or garage. I had a MyQ gate and was able to control it just as if it was a garage. As long as you can see it in the MyQ app (which it will) it will be able to be controlled.