homebridge-plugins / homebridge-meross

Homebridge plugin to integrate Meross devices into HomeKit.
MIT License
203 stars 32 forks source link

MSG200 cannot hide garage doors on inactive ports #546

Open MacularDegenerate opened 1 year ago

MacularDegenerate commented 1 year ago

I am using MSG200 in combination with Homebridge to enable HomeKit control of my garage door openers. Everything is set up and working fine, but the MSG200 device supports 3 garage door openers and I only have 2. Unfortunately, when I connect this plugin (homebridge-meross v10.0.0) to HomeKit, all 3 garage door openers populate within the Apple Home app even though I have marked the 3rd door as "Inactive" within the Meross app. Is there a setting in the Homebridge plugin that would allow me to prevent the unused 3rd door from being exposed to HomeKit?

Not being able to hide this 3rd "door" is an issue because although I have removed it from the Home View and put it in an unused room of the Home app, Siri regularly surfaces it as a recommended device on my CarPlay interface and on widgets because it is recognized as an open door.

============================

Details of your setup. Do you use (1) Homebridge UI-X (2) Homebridge CLI or (3) HOOBS? Homebridge UI-X

Which version of Homebridge/HOOBS do you have? v4.52.3

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known. Docker container on my Synology NAS Node.js v20.9.0

Which version of this plugin (homebridge-meross) do you have? Has the issue started since upgrading from a previous version? v10.0.0, no present from initial setup

Which Meross devices do you have that are causing issues? Please include product models if applicable. MSG200 (not MSG200HK which has native HK compatibility) Hardware Version 2.0.0 Firmware Version 2.1.3

smcallah commented 1 year ago

I have this issue as well. A 3rd "Smart Garage Door Opener" device is added to Homebridge when Meross is connected when I only have 2 garage doors enabled on the MSG200. 3rd device does not appear in Alexa app, only the 2 garage doors that are enabled in the Meross app.

smcallah commented 1 year ago

After installing the MSG200 to operate both my garage doors, I have found that the Meross to Homebridge translation is off more than just acknowledging the 3rd door is disabled.

Here are the issues I see:

The MSG200 has 3 ports, labeled 1, 2, and 3 on the unit. In the Meross app, these match up to Garage Door 1, Garage Door 2, and Garage Door 3, respectively, as default names.

When I installed the MSG200 in the garage and hooked up the port 2 garage door first, which is Garage Door 2 in the Meross app, HomeKit reported that Garage Door 1 was closed. Garage Door 2 in HomeKit did not open/close the door and did not see the sensor state. When I got to hooking up the wiring for port 1, which is Garage Door 1 in the Meross app, HomeKit reported that "Smart Garage Door Opener" was closed. There is no door named "Smart Garage Door Opener" in the Meross app, and I had assumed this name in HomeKit is what it was showing for the disabled Garage Door 3, but apparently not. When I tap "Smart Garage Door Opener" in HomeKit, Garage Door 1 opens/closes and sensor state is seen. And no, I did not change the names in the HomeKit app, just used what Homebridge assigned.

So in summary, the mapping from Meross to HomeKit is out of whack as follows:

Meross app Port 1/Garage Door 1 ----> HomeKit Smart Garage Door Opener Meross app Port 2/Garage Door 2 ----> HomeKit Garage Door 1 Meross app Port 3/Garage Door 3 ----> HomeKit Garage Door 2

I have disabled the Meross plugin and removed the cached garage doors just to see if anything changed, but it went back to the same wrong mapping.

MacularDegenerate commented 1 year ago

Yeah I had the same confusion with the inconsistent garage door naming scheme between Homebridge and the Meross app but came to the same conclusion after a little bit of trial and error.

bwp91 commented 11 months ago

Hi all,

Specific channels of the garage opener can be ignored/removed via the plugin settings

Screenshot 2023-12-03 at 20 30 53

As for the strange naming schema, could be an issue with how the plugin gets the channel names, will get back to you

MacularDegenerate commented 11 months ago

Hi all,

Specific channels of the garage opener can be ignored/removed via the plugin settings

Screenshot 2023-12-03 at 20 30 53

As for the strange naming schema, could be an issue with how the plugin gets the channel names, will get back to you

Thank you! This seemed to fix the problem. I have the connection type set to Hybrid up top. Should I set the same here or just leave as default None?

bwp91 commented 11 months ago

You can leave that as 'None'.

Could you do me a favour and update to the beta version of the plugin?

https://github.com/homebridge/homebridge/wiki/How-to-Install-Alternate-Plugin-Versions

Once installed and restarted, check the homebridge logs, you should see a big red section of text (its not an error, its info about your MSG200).

Would you be happy to copy and paste this here? You can remove any device IDs / IPs etc.

Just want to see the structure to be able to correctly parse the channel names.

MacularDegenerate commented 11 months ago

You can leave that as 'None'.

Could you do me a favour and update to the beta version of the plugin?

https://github.com/homebridge/homebridge/wiki/How-to-Install-Alternate-Plugin-Versions

Once installed and restarted, check the homebridge logs, you should see a big red section of text (its not an error, its info about your MSG200).

Would you be happy to copy and paste this here? You can remove any device IDs / IPs etc.

Just want to see the structure to be able to correctly parse the channel names.

[12/3/2023, 5:44:03 PM] [Meross] {"uuid":"[REDACTED]","onlineStatus":1,"devName":"Smart Garage Door Opener","devIconId":"ms_device_gdo_sel_close","bindTime":1699825586,"deviceType":"msg200","subType":"un","channels":[{},{"type":"GarageDoor","devName":"Garage Door 1","devIconId":"device061_un"},{"type":"GarageDoor","devName":"Garage Door 2","devIconId":"device061_un"},{"type":"GarageDoor","devName":"Garage Door 3","devIconId":"device061_un"}],"region":"us","fmwareVersion":"2.1.3","hdwareVersion":"2.0.0","userDevIcon":"","iconType":1,"domain":"mqtt-us-2.meross.com","reservedDomain":"mqtt-us-2.meross.com","hardwareCapabilities":[],"firmware":"2.1.3","hbDeviceId":"[REDACTED]","model":"MSG200"}

MacularDegenerate commented 11 months ago

This worked for a while but after the recent API update, I am again unable to hide "Garage Door 2" in Homekit (which corresponds to Port 3 in the Meross app).

Please see Homebridge Logs below:

[12/24/2023, 11:11:47 PM] [Meross] Restarting Process... [12/24/2023, 11:11:47 PM] [Meross] Launched child bridge with PID REDACTED [12/24/2023, 11:11:48 PM] Registering platform 'homebridge-meross.Meross' [12/24/2023, 11:11:48 PM] [Meross] Loaded homebridge-meross v10.2.3 child bridge successfully [12/24/2023, 11:11:48 PM] Loaded 3 cached accessories from cachedAccessories.0EDF51C9AEE6. [12/24/2023, 11:11:48 PM] [Meross] Initialising plugin v10.2.3 | System linux | Node v20.10.0 | HB v1.7.0 | HAPNodeJS v0.11.1... [12/24/2023, 11:11:48 PM] [Meross] Config entry [garageDevices] has an invalid entry which will be ignored. [12/24/2023, 11:11:48 PM] [Meross] Plugin initialised. Setting up accessories.... [12/24/2023, 11:11:48 PM] Homebridge v1.7.0 (HAP v0.11.1) (Meross) is running on port REDACTED. [12/24/2023, 11:11:48 PM] [Meross] [Smart Garage Door Opener] initialising with options {"connection":"hybrid","garageDoorOpeningTime":20}. [12/24/2023, 11:11:48 PM] [Meross] [Garage Door 1] initialising with options {"connection":"hybrid","garageDoorOpeningTime":20}. [12/24/2023, 11:11:48 PM] [Meross] [Garage Door 2] initialising with options {"connection":"hybrid","garageDoorOpeningTime":20}. [12/24/2023, 11:11:48 PM] [Meross] [Smart Garage Door Opener] initialised with id [REDACTED}]. [12/24/2023, 11:11:48 PM] [Meross] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!

MacularDegenerate commented 11 months ago

This worked for a while but after the recent API update, I am again unable to hide "Garage Door 2" in Homekit (which corresponds to Port 3 in the Meross app).

Please see Homebridge Logs below:

[12/24/2023, 11:11:47 PM] [Meross] Restarting Process... [12/24/2023, 11:11:47 PM] [Meross] Launched child bridge with PID REDACTED [12/24/2023, 11:11:48 PM] Registering platform 'homebridge-meross.Meross' [12/24/2023, 11:11:48 PM] [Meross] Loaded homebridge-meross v10.2.3 child bridge successfully [12/24/2023, 11:11:48 PM] Loaded 3 cached accessories from cachedAccessories.0EDF51C9AEE6. [12/24/2023, 11:11:48 PM] [Meross] Initialising plugin v10.2.3 | System linux | Node v20.10.0 | HB v1.7.0 | HAPNodeJS v0.11.1... [12/24/2023, 11:11:48 PM] [Meross] Config entry [garageDevices] has an invalid entry which will be ignored. [12/24/2023, 11:11:48 PM] [Meross] Plugin initialised. Setting up accessories.... [12/24/2023, 11:11:48 PM] Homebridge v1.7.0 (HAP v0.11.1) (Meross) is running on port REDACTED. [12/24/2023, 11:11:48 PM] [Meross] [Smart Garage Door Opener] initialising with options {"connection":"hybrid","garageDoorOpeningTime":20}. [12/24/2023, 11:11:48 PM] [Meross] [Garage Door 1] initialising with options {"connection":"hybrid","garageDoorOpeningTime":20}. [12/24/2023, 11:11:48 PM] [Meross] [Garage Door 2] initialising with options {"connection":"hybrid","garageDoorOpeningTime":20}. [12/24/2023, 11:11:48 PM] [Meross] [Smart Garage Door Opener] initialised with id [REDACTED}]. [12/24/2023, 11:11:48 PM] [Meross] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!

Disregard... fixed after updating to v10.3.0

Thanks to the devs for quickly addressing these API changes!