Closed sumocomputers closed 2 years ago
I am getting similar errors. See my post in Issue #27. My current error is: MyQ Error Error in plugin execution ExecuteAction:
File "plugin.py", line 320, in actionControlDevice File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/runners.py", line 44, in run File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete File "plugin.py", line 424, in pymyq_open type: ''
I have had my Liftmaster for about a month and have never been able to get it working in Indigo. I have the same setup as sumocomputers.
I suspect this is MyQ messing with their API to block the third party libraries, like the plugin uses. The devs for that library have been working on an update to fix this, and I'll push a new release as soon as I can after they do an update.
I'll test on my system again when I get home next week.
My main purpose for integrating MyQ with Indigo was to turn on some Z-Wave lights for my wife when she pulls the car in.
I think I’m going to just install an old school magnetic contact on the door hooked up to a Zooz box.
But I’m still interested in using this plugin for other things if MyQ ever stops messing with their API, and I appreciate you chasing this moving target.
Fixed in 2022.0.1, I think. Requires updating pymyq library to 3.1.5.
My error is still happening after updating to 2022.0.1. Does your fix apply to the error? See below
MyQ Error Error in plugin execution ExecuteAction:
File "plugin.py", line 328, in actionControlDevice
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/runners.py", line 44, in run
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
File "plugin.py", line 456, in pymyq_close
type: ''
I ran the terminal command: pip3 install pymyq==3.1.5
, with the following result. Is there anything else I can do?
Requirement already satisfied: idna>=2.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from yarl<2.0,>=1.0->aiohttp->pymyq==3.1.5) (3.3)
WARNING: There was an error checking the latest version of pip.
That pip3 command should have printed about 10 lines of output. Did your really only get one?
Please delete your door device and recreate it. Then turn on debug level logging and open/close it. Post the output if you get the error again.
No. I was trying to be brief. The full terminal output is below. I deleted the MyQ Door and MyQ Light and recreated them. One thing I did not mention but just realized it might be relevant. I have a MyQ HomeKit Bridge installed on my setup. The newly created devices still don't work. When I try to configure the device settings See Debug Log below.
MyQ Debug logLevel = 5
MyQ Debug logLevel = 5
MyQ Debug statusFrequency = 300.0
May 27, 2022 at 10:54:35 AM
MyQ Debug actionControlDevice: Unlock Garage Door-MyQ
MyQ Error Error in plugin execution ExecuteAction:
File "plugin.py", line 324, in actionControlDevice
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/runners.py", line 44, in run
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
File "plugin.py", line 428, in pymyq_open
type: ''
MyQ Debug actionControlDevice: TurnOn Garage Light-MyQ
MyQ Error Error in plugin execution ExecuteAction:
File "plugin.py", line 332, in actionControlDevice
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/runners.py", line 44, in run
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
File "plugin.py", line 484, in pymyq_turnon
type: ''
FULL TERMINAL OUTPUT
pgpappas@Mac-Mini-Rack ~ % pip3 install pymyq==3.1.5
Requirement already satisfied: pymyq==3.1.5 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (3.1.5)
Requirement already satisfied: beautifulsoup4 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pymyq==3.1.5) (4.11.1)
Requirement already satisfied: aiohttp in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pymyq==3.1.5) (3.8.1)
Requirement already satisfied: pkce in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pymyq==3.1.5) (1.0.3)
Requirement already satisfied: aiosignal>=1.1.2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from aiohttp->pymyq==3.1.5) (1.2.0)
Requirement already satisfied: frozenlist>=1.1.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from aiohttp->pymyq==3.1.5) (1.3.0)
Requirement already satisfied: attrs>=17.3.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from aiohttp->pymyq==3.1.5) (21.4.0)
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from aiohttp->pymyq==3.1.5) (2.0.12)
Requirement already satisfied: yarl<2.0,>=1.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from aiohttp->pymyq==3.1.5) (1.7.2)
Requirement already satisfied: multidict<7.0,>=4.5 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from aiohttp->pymyq==3.1.5) (6.0.2)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from aiohttp->pymyq==3.1.5) (4.0.2)
Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from beautifulsoup4->pymyq==3.1.5) (2.3.2.post1)
Requirement already satisfied: idna>=2.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from yarl<2.0,>=1.0->aiohttp->pymyq==3.1.5) (3.3)
WARNING: There was an error checking the latest version of pip
Please post the output of the "Write MyQ Data to Log" plugin menu item.
There's definitely something broken. My existing devices work fine, but I'm also having problems creating a new one.
Here is the writen log. I see mention of HomeKit. HomeKit is enable and working with my MyQ Garage door.
May 27, 2022 at 11:53:40 AM
MyQ MyQ Devices:
{
"CG08200D3FBD": {
"account_id": "74b45624-8624-4689-be8b-3729efcb3d86",
"created_date": "0001-01-01T00:00:00",
"device_family": "garagedoor",
"device_model": "wifigaragedooropener",
"device_platform": "myq",
"device_type": "wifigaragedooropener",
"href": "/accounts/74b45624-8624-4689-be8b-3729efcb3d86/devices/garagedoor/CG08200D3FBD",
"name": "Garage Door",
"parent_device_id": "GW2100009DE8",
"serial_number": "CG08200D3FBD",
"state": {
"absolute_cycle_count": 13,
"active_fault_codes": [],
"attached_camera_serial_number": "",
"attached_work_light_error_present": false,
"battery_backup_state": "Idle",
"door_state": "closed",
"gdo_lock_connected": true,
"has_camera": false,
"is_unattended_close_allowed": true,
"is_unattended_open_allowed": true,
"last_status": "2022-05-27T15:51:02.237896Z",
"last_update": "2022-05-27T15:46:18.2580482Z",
"learn_status": "None",
"online": true,
"service_cycle_count": 13
}
},
"GW2100009DE8": {
"account_id": "74b45624-8624-4689-be8b-3729efcb3d86",
"created_date": "0001-01-01T00:00:00",
"device_family": "gateway",
"device_model": "ethernetgateway",
"device_platform": "myq",
"device_type": "ethernetgateway",
"href": "/accounts/74b45624-8624-4689-be8b-3729efcb3d86/devices/gateway/GW2100009DE8",
"name": "MyQ-Home Bridge",
"serial_number": "GW2100009DE8",
"state": {
"allow_bluetooth_lock": false,
"firmware_version": "1.6",
"homekit_capable": false,
"homekit_enabled": false,
"last_status": "2022-05-27T07:04:58.3191227Z",
"learn_mode": false,
"mandatory_update_required": false,
"online": true,
"pending_bootload_abandoned": false,
"physical_devices": [],
"supports_dealer_diagnostics": false,
"updated_date": "2022-05-27T07:05:01.3314757Z"
}
}
}
OK, I'll have to dig into this. Won't be quick.
Let me. know if I can help you in the process. The MyQ LED light also doesn't work with your plugin. The light in HomeKit is not available as an accessory either.
Is this the light that's part of the opener, or the separate light?
You're only showing two devices, the "gateway" and the opener. No light devices.
The LED light is an accessory that came with the Liftmaster opener. It can be turned on and of with the wired Liftmaster button on my garage door. I added the MyQ Light as a separate device for your plugin. See below the log for turning the light on and then off.
May 27, 2022 at 12:50:36 PM
MyQ Error Error in plugin execution ExecuteAction:
File "plugin.py", line 332, in actionControlDevice
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/runners.py", line 44, in run
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
File "plugin.py", line 484, in pymyq_turnon
type: ''
MyQ Error Error in plugin execution ExecuteAction:
File "plugin.py", line 336, in actionControlDevice
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/runners.py", line 44, in run
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
File "plugin.py", line 504, in pymyq_turnoff
type: ''
How did you define the light device? There's no light in the data from MyQ. When you create the light device, what showed up in the device selection popup?
I can see that the address of that light device is "undefined". That's never going to work. Please delete it.
After that's gone, does open/close for the door still work?
With the light deleted the door still doesn't work. It produces the same errors in the log. Trying to add the light back in does not fully work, no light devices are available to choose from. Stopping and restarting the Indigo Server and reloading the plugin does show a light ID in the log below. The MyQ Data to Log still only shows 2 devices. Perhaps removing the devices and uninstalling the plugin and all associated data files might produce a different outcome. If you agree please provide me detailed instructions including all files to delete as long as doing so does not negatively impact Indigo and my other plugins.
Reloading plugin "MyQ 2022.0.1" using API v3.0
Stopping plugin "MyQ 2022.0.1" (pid 20069)
MyQ Garage Door-MyQ: Stopping myqOpener Device 1348856386
MyQ Garage Light-MyQ: Stopping myqLight Device 1166690268
MyQ Stopping MyQ
Stopped plugin "MyQ 2022.0.1"
Starting plugin "MyQ 2022.0.1" (pid 20133)
Started plugin "MyQ 2022.0.1"
MyQ Starting MyQ
MyQ Garage Door-MyQ: Starting myqOpener Device 1348856386
MyQ Garage Light-MyQ: Starting myqLight Device 1166690268
MyQ MyQ Devices:
{
"CG08200D3FBD": {
"account_id": "74b45624-8624-4689-be8b-3729efcb3d86",
"created_date": "0001-01-01T00:00:00",
"device_family": "garagedoor",
"device_model": "wifigaragedooropener",
"device_platform": "myq",
"device_type": "wifigaragedooropener",
"href": "/accounts/74b45624-8624-4689-be8b-3729efcb3d86/devices/garagedoor/CG08200D3FBD",
"name": "Garage Door",
"parent_device_id": "GW2100009DE8",
"serial_number": "CG08200D3FBD",
"state": {
"absolute_cycle_count": 13,
"active_fault_codes": [],
"attached_camera_serial_number": "",
"attached_work_light_error_present": false,
"battery_backup_state": "Idle",
"door_state": "closed",
"gdo_lock_connected": true,
"has_camera": false,
"is_unattended_close_allowed": true,
"is_unattended_open_allowed": true,
"last_status": "2022-05-27T18:46:29.2969097Z",
"last_update": "2022-05-27T17:04:04.4129261Z",
"learn_status": "None",
"online": true,
"service_cycle_count": 13
}
},
"GW2100009DE8": {
"account_id": "74b45624-8624-4689-be8b-3729efcb3d86",
"created_date": "0001-01-01T00:00:00",
"device_family": "gateway",
"device_model": "ethernetgateway",
"device_platform": "myq",
"device_type": "ethernetgateway",
"href": "/accounts/74b45624-8624-4689-be8b-3729efcb3d86/devices/gateway/GW2100009DE8",
"name": "MyQ-Home Bridge",
"serial_number": "GW2100009DE8",
"state": {
"allow_bluetooth_lock": false,
"firmware_version": "1.6",
"homekit_capable": false,
"homekit_enabled": false,
"last_status": "2022-05-27T07:04:58.3191227Z",
"learn_mode": false,
"mandatory_update_required": false,
"online": true,
"pending_bootload_abandoned": false,
"physical_devices": [],
"supports_dealer_diagnostics": false,
"updated_date": "2022-05-27T07:05:01.3314757Z"
}
}
}
That log line is from the device you (unsuccessfully) created. Indigo creates the device even if you can't configure it. There is no mention of a light device in the data actually returned by the API. What you have is NOT controllable by the API, so just delete that device and give up.
I'm still going to need to figure out what the problem is with the door devices. I'll need to check to see if there have been more changes with the library I'm using.
I'll be standing by for now. I appreciate all the time and effort you are spending on this. Good luck finding the solution(s).
This release fixed the garage door problem. The MyQ Light accessory still does not work or it can't find my light's any device data to use. Pressing Send Status Request produces the following error in the log
MyQ Error Error in plugin execution ExecuteAction:
File "plugin.py", line 351, in actionControlDevice File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/events.py", line 656, in get_event_loop type: There is no current event loop in thread 'MainThread'.
The actual Lock State is correct
Can you control the integrated light from the MyQ app? Because it's not available in the data I get from the API, so I can't do anything with it. This has been brought up before in the pymyq discussions, and no one has ever shown that it's supposed to be there. There are specific MyQ lights (and locks) that do work. But not that integrated on.
That error message is a bug I just fixed. It'll be released soonish.
I never had occasion to try to control the light from the app. It is not controllable from app, only from the wired door control pad. I will find out if it can be added. It is not an integrated light. It is an independent LED ceiling mounted light that must be paired to the opener. I'll let you know if I figure anything out. Thanks for fixing all those pesky bugs.
On my Liftmaster 8500W, it comes with a "wireless" light, which must be plugged in to 110 to allow closing the door from the app. I also enabled the motion sensor on the button/keypad thing to turn on the light.
However, I see no way to control the light from the MyQ app...
I have a couple 8500s (no W), so I have the separate gateway device. My openers also have the linked lights (mine are pre-LED). There's a button on the controller for them, but nothing in the app. So I think you have a newer version of what I have, and it's not controllable in any way (other than the keypad).
I have the same opener and light accessory as sumocomputer
I am running:
macOS 12.3.1 Indigo 2022.1 MyQ Plugin v2022.0.0
I was able to successfully link the MyQ account and it saw my single garage door opener.
However, the status always seems to show Unlocked (Off), even after waiting 1 hour and my refresh interval set to 10 minutes.
I attempted to Lock and Unlock, but got the following errors in the log: