Skip to content

ConsumptionX timeout on one device makes all its entities unavailable, including the switch #602

Description

@ValentinStrach

Describe the bug

A ConsumptionX timeout on a single device makes all entities of
that device unavailable, including the switch — even though ToggleX
and Electricity work fine on the same device.

I have two MSS305 plugs that are identical in every way: same hardware
revision (HW 8.1.0), same firmware (FW 8.3.15), same Meross account,
same Wi-Fi network, same MQTT broker.

  • Plug A ("Prise clôture"): works perfectly. Switch controllable,
    power/voltage/current and energy counter all reporting.
  • Plug B ("Chargeurs Power For All"): Appliance.Control.ConsumptionX
    times out (10 s) on every polling cycle. As a result,
    switch.*_main_channel and sensor.*_energy_kwh_main_channel are
    permanently unavailable, while sensor.*_power_w_main_channel,
    *_voltage_v_* and *_current_a_* keep updating normally every
    ~30 seconds.

So the device is clearly online and reachable — only one namespace
fails.

Key point: ToggleX is not the problem. I can turn plug B on and
off without any issue from the Meross Android app. Only Home Assistant
shows the switch as unavailable, because the failing ConsumptionX
call aborts the whole async_update() and every entity that depends on
it reports unavailable.

Expected behaviour

A timeout on one namespace should not invalidate entities belonging to
other, working namespaces. Ideally async_update() should tolerate
partial failures: log the failing namespace and keep serving the
namespaces that responded.

Things I already tried, none of which helped

  • Reloading the integration
  • Full Home Assistant restart
  • Disabling sensor.*_energy_kwh_main_channel in the entity registry —
    the ConsumptionX request is still issued, so there is no way to
    work around this from the HA side

Your environment

HomeAssistant version: -- 2026.8.1 (Core) --
Hassio Version (if applicable): -- Supervisor 2026.07.5, OS 18.2 --
Hardware environment: -- Home Assistant Green --

Integration: meross_cloud (HACS), low level library 0.4.10.4
Device: MSS305, HW 8.1.0, FW 8.3.15, class mss305:8.1.0:8.3.15
MQTT host: mqtt-eu-5.meross.com:443

Logs taken when the issue happened

ERROR (meross_iot.manager) Timeout occurred while waiting a response
for message b'{"header":{"from":"/app/4414882-xxxx/subscribe",
"messageId":"f12c8948c42c912d783b2d97a124e010","method":"GET",
"namespace":"Appliance.Control.ConsumptionX","payloadVersion":1,
"sign":"81e0802dffba2a81137ef38f9731c198","timestamp":1786532225,
"triggerSrc":"Android","uuid":"240904419797245100000000000a5555"},
"payload":{"channel":0}}' sent to device uuid
240904419797245100000000000a5555. Timeout was: 10.000000 seconds.
Mqtt Host: mqtt-eu-5.meross.com:443.

ERROR (homeassistant.components.switch) meross_cloud: Error on device update!
ERROR (homeassistant.components.sensor) meross_cloud: Error on device update!

WARNING (meross_iot.manager) Found a new device Chargeurs Power For All
(mss305, HW 8.1.0, FW 8.3.15, class: mss305:8.1.0:8.3.15) that has
become online while we were offline.

WARNING (homeassistant.components.switch) Setup of switch platform
meross_cloud is taking over 10 seconds.
WARNING (homeassistant.components.sensor) Setup of sensor platform
meross_cloud is taking over 10 seconds.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions