A full-featured Homeassistant component to drive Meross devices. This component is based on the underlying MerossIot library available here.
After months of work and sleepless weekends, it's finally time to present to the Meross community the new version of the HomeAssistant component that allows Meross device controlling. The new version of this library is based on the complete refactored low-level MerossIot library. It's now fully async, based on Meross push notifications and much more robust and resilient to network disconnections.
In case you are updating the component from legacy versions, you need to remove the previous one and fully remove cached devices/entities from your HomeAssistant installation. This is necessary as the library completely changed the device/entity naming system and is unable to remove previous entities installed by old versions of the component. Sorry about that.
My personal goal is to make this component fully compliant with Homeassistant, so that it may be added as the official library to handle Meross devices. However, before pushing a PullRequest to the official Homeassistant repository, I would like to share with to some users. In this way we can test it massively, check it for any bug and make it robust enough to be seamlessly integrated with Homeassistant.
For now, the component has been integrated as a custom component into HACS.
You can install this component in two ways: via HACS or manually. HACS is a nice community-maintained components manager, which allows you to install git-hub hosted components in a few clicks. If you have already HACS installed on your HomeAssistant, it's better to go with that. On the other hand, if you don't have HACS installed or if you don't plan to install it, then you can use manual installation.
If you have HACS, well, it's a piece of cake! Just search for "Meross" (Full name is Meross Cloud IoT) in the default repository of HACS and it'll show up! Clock on Install: when done, proceed with component setup.
-
Download the latest zip release archive from here (or clone the git master branch)
-
Unzip/copy the meross_cloud directory within the
custom_components
directory of your homeassistant installation. Thecustom_components
directory resides within your homeassistant configuration directory. Usually, the configuration directory is within your home (~/.homeassistant/
). In other words, the configuration directory of homeassistant is where the config.yaml file is located. After a correct installation, your configuration directory should look like the following.└── ... └── configuration.yaml └── secrects.yaml └── custom_components └── meross_cloud └── __init__.py └── common.py └── cover.py └── ...
Note: if the custom_components directory does not exist, you need to create it.
Once the component has been installed, you need to configure it in order to make it work. To do so, simply add a new "integration" and look for Meross among the proposed ones. The following animation shows how to do that.
This library supports all the Meross devices currently exposed by the Meross IoT library. In particular Bulbs, Switches, Garage Door Openers and Smart Valves/Thermostat are fully supported and perfectly integrated with HomeAssistant.
Since I'm aiming at making this component part of the official HA repo, I've put a lot of effort into following HomeAssistant best practices, in particular:
- Asynchronous functions when possible;
- No polling: the library is event-based. It saves bandwidth and makes the UI much more reactive.
- Robust to disconnection: the library handles network disruption;
- Lovelace notification: supports UI persistent event notification;
- PEP8 code styling
By buying me a coffee, not only you make my development more efficient, but also motivate me to further improve my work. On the other hand, buying me a beer will certainly make me happier: a toast to you, supporter! In case you are a pro and a strong opensource supporter, you might also consider sponsoring my GitHub work.