skillfed

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.

meross-iot v0.4.10.4 87.1K downloads/30d#13,813 on PyPI534
Permissive license MIT Active released

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

A Python library for controlling Meross IoT devices (smart plugs, bulbs, switches, hubs, and sensors) over the internet via HTTP and MQTT APIs.

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

pip

pip install meross-iot

uv

uv add meross-iot

poetry

poetry add meross-iot

Installing meross-iot

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+.

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())

Requires Python 3.8+; Meross cloud account credentials (email and password) needed to authenticate and discover devices.

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 — paho-mqtt, requests, aiohttp, pycryptodomex
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)

Evidence: meross_iot-0.4.10.4-py2.py3-none-any.whl

Keywords: meross, smartplug, smartbulb, iot, mqtt, domotic, switch, MSL120, MSS110, MSS210, MSS310, MSS310h, MSS425e, MSS530H, MSG100, MSH300, MS100, MSS710, MSXH0

Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

meross device control librarysmart plug automation pythoniot device managementmeross api clienthome automation merosssmart home device controlmqtt iot library
home-automationiot-devicesasync-api

More Internet packages