Skip to content

SONOFF S60ZBTPF: inching_control_set has no effect, relay keeps auto-off after ~11s #31799

@giacomarco

Description

@giacomarco

What happened

When publishing the documented payload to disable the inching function on a SONOFF S60ZBTPF smart plug, Zigbee2MQTT acknowledges the command (the inching_control_set value appears in the retained state) but the device's internal inching timer is not actually disabled — the relay continues to auto-turn-off after ~11 seconds every time it is switched ON.

This makes the plug unusable for any continuous load (e.g. washing machine, fridge), because power is interrupted every 11s.

What did you expect to happen

After publishing {"inching_control_set":{"inching_control":"DISABLE","inching_time":0.5,"inching_mode":"OFF"}} and then turning the relay ON, the plug should remain ON until commanded OFF.

How to reproduce it (minimal and precise)

  1. Have an S60ZBTPF paired to Z2M (firmware 1.0.2, date_code 20250411, manufacturerName SONOFF).
  2. Publish to zigbee2mqtt/<name>/set:
    {"inching_control_set":{"inching_control":"DISABLE","inching_time":0.5,"inching_mode":"OFF"}}
  3. Wait 1–2s, publish {"state":"ON"}.
  4. Observe: the relay turns ON, then auto-OFF after exactly ~10.9–11.0s. Repeat indefinitely, regardless of LQI (tested on 4 units in different positions, LQI from 21 to 133).

Tried variants (none work):

  • {"inching_control":"OFF"} (incorrect value name, but tried for completeness)
  • {"inching_control":"DISABLE"} (flat, no wrapper)
  • {"inching_control_set":{"inching_control":"DISABLE","inching_mode":"OFF"}} (without inching_time)
  • {"inching_control_set":{"inching_control":"DISABLE","inching_time":0.5,"inching_mode":"OFF"}} (full payload as documented at https://www.zigbee2mqtt.io/devices/S60ZBTPF.html)
  • Repeated retries 5x with delays
  • Followed by device/configure request — no change

The retained state published by Z2M after each set looks like:

[2026-04-26 20:07:40] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Presa lavatrice', payload '{"...","inching_control_set":{"inching_control":"DISABLE","inching_mode":"OFF"},...,"state":"OFF","update":{"installed_version":4098,"latest_release_notes":null,"latest_source":null,"latest_version":4098,"state":"idle"},...}'

So Z2M echoes the new value into device state, but the next ON cycle still auto-stops at 11s.

inching_control is exposed with access: 2 (write-only), so it's not possible to read the actual value from the device for verification.

Zigbee2MQTT version

2.9.2-1 (Home Assistant addon 45df7312_zigbee2mqtt)

Adapter

HA Yellow integrated radio (Silicon Labs EFR32MG21, ZStack/EmberZNet)

Adapter firmware version

(integrated, controlled by HAOS)

Debug log

(not enabled by default — happy to enable log_level: debug and provide additional cluster-level traces if useful)

Affected devices

4× S60ZBTPF, all firmware 1.0.2, all manifesting the same behavior. endpoint 1 clusters include customClusterEwelink (0xFC11), which I assume is where the inching attribute is supposed to be written.

Note

Documentation example payload at https://www.zigbee2mqtt.io/devices/S60ZBTPF.html does not behave as described — either the converter does not actually emit the right cluster command for this firmware, or the inching_control_set action is not implemented on the write side. Looking at the converter would help confirm whether the write-side is wired up.

Thanks!

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