Skip to main content

Meross integration for Gladys Assistant

Meross integration for Gladys Assistant

Read and control your Meross smart plugs, switches, lights and garage doors.

Control your Meross plugs, switches, lights and garage doors from Gladys, and see their consumption on your dashboard.

What you get

Sign in once with your Meross account and every compatible device of the account appears in the Discovery tab, ready to be added. No re-pairing, no extra hardware.

Your deviceWhat you can do in Gladys
Smart plug or wall switch (MSS110, MSS210, MSS510…)Turn it on and off
Plug with metering (MSS310, MOP320)On/off, plus power, voltage, current and today's energy
Power strip (MSS425…)Each outlet on and off separately
Bulb or light strip (MSL120, MSL320, MSL430…)On/off, brightness, colour and white temperature
Garage door opener (MSG100, MSG200)Open and close it, and see whether it is really open
Hub (MSH300, MSH400)Everything paired to it — see below

Devices connected to a hub

A hub is a gateway: it has nothing to switch on or off by itself. So the hub does not appear in Gladys — each sensor paired to it does, under the name you gave it in the Meross app.

Paired deviceWhat you get in Gladys
Thermometer (MS100)Temperature, humidity, battery level
Thermostatic valve (MTS100/150)Target temperature, room temperature, on/off, battery
Water leak sensor (MS400)Leak detected, battery level
Door/window sensor (MS200)Opening, battery level
Watering timer (MST100)Start a watering, set its duration, battery

If your hub appears to do nothing, check that at least one sensor is paired to it in the Meross app: a hub with nothing paired has nothing to show. The Diagnose my devices button lists what the integration found behind it.

The valve mode (comfort, economy, schedule) is not available yet — only the target temperature, which is what automations need most.

Watering timers

An MST100 watering timer on an MSH400 hub gives you a Watering switch, a Watering duration in minutes and its battery level.

Turn Watering on and the timer waters for the duration you set, then stops by itself — exactly like the "water now" button in the Meross app. Turn it off to stop early. The switch clears itself when the watering ends.

The duration shown is the one configured on the timer itself — the same one the Meross app shows. Changing it from Gladys writes it to the device, so the app sees the change, and the other way round. There is a single value and it belongs to the hardware: Gladys never starts a watering with a duration of its own.

Until the timer has reported one, the duration stays empty rather than showing an invented number.

Gladys talks to your hub directly on your local network when it can reach it, and through the Meross servers otherwise. If a watering fails, the error names both channels and the address that did not answer; Diagnose my devices shows each device's local address and the channel actually in use.

Watering schedules stay in the Meross app: the hub does not let anything else read or change them.

Configuration

  1. Open the Configuration tab of the integration.
  2. Enter the email and password of your Meross account — the same ones you use in the Meross mobile app.
  3. Choose the region where your account was created (Europe, America, Asia/Pacific). This is the most common cause of a refused login: if you are unsure, try Europe first, then Global.
  4. Save. Click Test the connection to check everything works: it tells you how many devices were found.
  5. Your devices appear in the Discovery tab.

Your password is stored encrypted by Gladys. It is never sent in clear text: only a hashed form leaves the integration, and only to the Meross authentication server.

Local or cloud?

The Prefer the local connection toggle (on by default) asks the integration to talk to your devices directly over your Wi-Fi network instead of going through Meross' servers. Local control is faster and keeps working when your internet connection is down.

Each device shows a badge telling you the channel it really uses:

  • local — commands never leave your home network;
  • cloud — commands go through Meross;
  • cloud with an orange dot — local was preferred, but this device did not answer on the network; hover the badge to see why.

Some Meross firmware versions refuse local control. That is a device-side limitation: the integration falls back to the cloud so the device keeps working.

Note that even in local mode, the integration signs in to Meross once at startup: your devices only accept commands signed with your account key, and only Meross can hand it out.

Refresh interval

Plugs that measure consumption and sensors behind a hub are read at this interval. Pick it from the list: every minute (the default, and the slowest Gladys supports) down to every second.

Everything else — on/off, colours, the garage door position — arrives instantly, pushed by the device, including when someone presses a physical button or uses the Meross app. So the slowest setting suits most homes; a faster one only means more requests to Meross.

Actions

  • Test the connection — signs in with the credentials in the form and reports how many devices your account holds, and how many are online.
  • Refresh the device list — re-reads your account. Use it after adding or renaming a device in the Meross app, or after pairing a new sensor to a hub.
  • Diagnose my devices — lists every device on your account, what it can do, the sensors found behind a hub, and how the integration handled each one. Start here when a device is missing.

Troubleshooting

"Meross refused the credentials" — check the three fields together: email, password and above all the region. An account created in Europe cannot sign in on the American endpoint.

A device stays offline — check it is reachable in the Meross app first. Gladys reports what Meross tells it, and a device that is offline for Meross is offline here too.

The Meross app logs me out — Meross limits the number of simultaneous sessions per account. Simply sign in again in the app: both sessions can coexist. The integration caches its session and releases it on shutdown to limit this.

A device is missing from the Discovery tab — click Diagnose my devices: it tells you whether the device was seen, what it advertises, and whether the integration could handle it. If it is a sensor that should be behind a hub, check it is paired to that hub in the Meross app. The integration also logs a line for every device it skips, naming what it saw.

My device's local address does not answer — the integration falls back to the cloud and says so in the logs, with the reason:

  • no route to the device — Gladys is not on the same network as the device. This is the usual case when Gladys runs in Docker on another subnet or another VLAN.
  • connection refused — the address answers but nothing listens: it is probably not your device any more (a DHCP lease that moved). Use Refresh the device list.
  • no answer before the timeout — a firewall is dropping the packets.

Click Diagnose my devices to test it properly: it sends a real, correctly signed request and reports what each address answers. A hand-written curl cannot tell you much here — a Meross device accepts the connection and then silently ignores anything that is not signed, so a healthy device looks exactly like a dead one.

Anything other than a connection error means the device is reachable. If it is not, the fix is on the network side. Reading states and most commands keep working through the cloud; watering does need that local channel on MSH400 hubs.

The Diagnose my devices button tests the local address port by port and reports what each one answers — more reliable than a hand-written curl, since a Meross device accepts the connection and then silently ignores any request that is not correctly signed.

Nothing works, and I want to know why — the integration logs everything it does. Open the integration logs from the Gladys UI (or docker logs on the host); set LOG_LEVEL to debug for the full detail, including every message exchanged with your devices.

Configuration settings

These are the settings Meross asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Connect your Meross accountsectionNoSign in with the same email and password you use in the Meross mobile app. Your devices are then discovered automatically, with no pairing to redo. Meross allows a limited number of[...]
Meross emailstringYesThe email address of your Meross account.
Meross passwordsecretYesStored encrypted by Gladys and only ever sent, hashed, to the Meross authentication server.
Meross regionselectYesThe region your Meross account was created in. Pick the wrong one and the login is refused.
Refresh intervalselectNoHow often metering plugs and hub sensors are read. On/off states arrive in real time and are never polled, so the slowest setting suits most homes.

How to install Meross in Gladys

  1. In Gladys, open Integrations: Meross appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/philippema/gladys-meross:1.1.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/PhilippeMA/gladys-Meross.

Meross requires Gladys >=4.85.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations

Meross is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by PhilippeMA, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂