meross-iot
A simple library to deal with Meross devices. At the moment MSS110, MSS210, MSS310, MSS310H smart plugs and the MSS425E power strip. Other meross device might work out of the box with limited functionality. Give it a try and, in case of problems, let the developer know by opening an issue on Github.
Decision gist · record as of 2026-08-14
Yes. The library is actively maintained, has low install friction, carries a permissive MIT license, and supports a broad range of Meross devices. The recent 0.4.10.4 release fixes a critical sub-device API issue. Install it if you own Meross devices and need programmatic control; avoid it only if you lack a Meross account or require support for devices not listed in the tested hardware.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8+; Meross cloud account credentials (email and password) needed to authenticate and discover devices.
- Low friction installation with four runtime dependencies (paho-mqtt, requests, aiohttp, pycryptodomex).
- Actively maintained with recent commits and a stable release cadence; requires Python 3.8+.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions, making it suitable for both personal projects and integration into commercial applications.
last release 2026-01-22 (204 days) · last repo commit 2026-03-07 · 534 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 87,124 downloads/mo, #13,813 on PyPI
Alternatives
Verify before relying
pip install meross_iot==0.4.10.4
import asyncio
from meross_iot.http_api import MerossHttpClient
from meross_iot.manager import MerossManager
async def main():
http_api = await MerossHttpClient.async_from_user_password(
api_base_url='https://iotx-eu.meross.com',
email='user@example.com',
password='password'
)
manager = MerossManager(http_client=http_api)
await manager.async_init()
await manager.async_device_discovery()
plugs = manager.find_devices(device_type="mss310")
if plugs:
await plugs[0].async_update()
await plugs[0].async_turn_on(channel=0)
manager.close()
await http_api.async_logout()
asyncio.run(main())- Whether the HTTP SubDevice API fix in 0.4.10.4 fully resolves all sub-device handling issues or if edge cases remain.
- Current scope of device support beyond the listed tested models and whether unlisted devices work reliably.
- Performance characteristics when managing large numbers of devices or frequent state updates.
What it is and what it does
Meross IoT is a pure-Python library that provides remote control of Meross smart home devices—including plugs, bulbs, switches, hubs, and sensors—through the Meross cloud API. It uses asyncio for non-blocking I/O and communicates with devices via HTTP and MQTT, handling authentication, device discovery, and state management. The library wraps the Meross cloud API, so devices must be registered to a Meross account and reachable via the internet.
The library is actively maintained and has been tested against a range of Meross hardware (MSS310, MSS425E, MSG100, MSH300, and others). Version 0.4.10.4 fixes a critical issue with sub-device handling that broke earlier versions. It requires Python 3.8+ and depends on paho-mqtt, requests, aiohttp, and pycryptodomex for MQTT communication, HTTP requests, async operations, and cryptography respectively.
Use it for
- Build home automation scripts that discover and control Meross smart plugs, bulbs, and switches remotely.
- Integrate Meross devices into a custom IoT dashboard or monitoring application.
- Create scheduled or event-driven automation (e.g., turn off plugs at specific times or based on conditions).
- Monitor power consumption and device status from Meross smart plugs with power metering.
- Extend Home Assistant or other home automation platforms with Meross device support.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The library is actively maintained, has low install friction, carries a permissive MIT license, and supports a broad range of Meross devices. The recent 0.4.10.4 release fixes a critical sub-device API issue. Install it if you own Meross devices and need programmatic control; avoid it only if you lack a Meross account or require support for devices not listed in the tested hardware.
Install
meross-iot on PyPI
Before you install
Low friction installation with four runtime dependencies (paho-mqtt, requests, aiohttp, pycryptodomex). Actively maintained with recent commits and a stable release cadence; requires Python 3.8+.
Requires Python 3.8+; Meross cloud account credentials (email and password) needed to authenticate and discover devices.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for both personal projects and integration into commercial applications.
Quickstart
pip install meross_iot==0.4.10.4
import asyncio
from meross_iot.http_api import MerossHttpClient
from meross_iot.manager import MerossManager
async def main():
http_api = await MerossHttpClient.async_from_user_password(
api_base_url='https://iotx-eu.meross.com',
email='user@example.com',
password='password'
)
manager = MerossManager(http_client=http_api)
await manager.async_init()
await manager.async_device_discovery()
plugs = manager.find_devices(device_type="mss310")
if plugs:
await plugs[0].async_update()
await plugs[0].async_turn_on(channel=0)
manager.close()
await http_api.async_logout()
asyncio.run(main())
Verify before relying
- Whether the HTTP SubDevice API fix in 0.4.10.4 fully resolves all sub-device handling issues or if edge cases remain.
- Current scope of device support beyond the listed tested models and whether unlisted devices work reliably.
- Performance characteristics when managing large numbers of devices or frequent state updates.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagespaho-mqttrequestsaiohttppycryptodomex |
| Maintenance | Actively maintained 204 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 87,124 / month, #13,813 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: meross_iot-0.4.10.4-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “meross device control library”
- meross-iotA Python library for controlling Meross IoT devices (smart plugs,…
- pykaleidescapeAsync Python client for controlling Kaleidescape media players via…
- python-kasaControl TP-Link Kasa and Tapo smart home devices (plugs, switches,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also seam · tinytuya · axis · HATasmota · tuya-device-sharing-sdk · plugp100 · python-kasa · pyvesync · tb-mqtt-client · pymysensors