Possible Matter DimmableLight regression between Homebridge 2.2.1 and 2.3.1
Describe The Bug
Hello,
I would like to report a possible Matter DimmableLight regression between Homebridge 2.2.1 and 2.3.1.
I am not a software developer. This is a personal experiment built with the help of AI to add local Matter support for Plejd lights through a Plejd Gateway.
I understand that the plugin itself is experimental, but I believe the comparison below may still be useful because the same plugin version, plugin configuration, Matter pairing, Plejd Gateway setup and Node.js version behave differently between Homebridge 2.2.1 and 2.3.1.
Several troubleshooting attempts were made in later experimental plugin versions, but I eventually reverted to plugin v1.0.0 and only downgraded Homebridge, because that was the clean comparison where the Matter control path started working again.
The setup is:
Homey -> Matter -> Homebridge child bridge -> HAP-IP -> Plejd Gateway GWY-01 -> Plejd lights
The plugin registers the affected accessories as api.matter.deviceTypes.DimmableLight with onOff and levelControl handlers, including moveToLevel and moveToLevelWithOnOff.
The integration worked reliably before updating Homebridge, including Matter pairing, on/off control, brightness control and state synchronization from the physical Plejd devices back to Matter.
After updating to Homebridge 2.3.1, Matter brightness/on commands for DimmableLight accessories started failing with this error:
Failed to trigger command: Error: Failed to set level with on/off: Cannot lock 0E62FCEE44EB.homebridge-aggregator..onOff.state synchronously
The issue occurs with multiple DimmableLight accessories and different accessory UUIDs. It is especially noticeable for MoveToLevelWithOnOff-style commands, such as changing brightness while the light is currently off.
The Plejd Gateway side appears to work correctly. When the lights are controlled outside the Matter path, the plugin receives updated On and Brightness values from the Plejd Gateway through local HAP-IP events and polling.
The failure appears to be in the Homebridge Matter control path. On Homebridge 2.3.1, Matter brightness/on commands for DimmableLight accessories fail with the synchronous onOff.state lock error. In some tests the physical light changed before the error was reported, but after one or two commands control from Homebridge/Matter could stop working reliably.
Environment:
Homebridge: 2.3.1 Plugin: homebridge-plejd-gateway-matter v1.0.0 Node.js: v24.19.0 Bridge type: Homebridge child bridge Matter controller: Homey Gateway: Plejd Gateway GWY-01 Gateway communication: local HAP-IP
I then downgraded Homebridge from 2.3.1 to 2.2.1 without changing the plugin version, plugin configuration, Plejd Gateway configuration, Matter pairing, Homey configuration or Node.js version. I did not re-pair the Matter bridge during this comparison.
After downgrading to Homebridge 2.2.1, Matter control from Homey works again. On/off and brightness commands are accepted without the synchronous onOff.state lock error.
The key comparison is:
Homebridge 2.3.1: Homey Matter brightness/on control produces the synchronous onOff.state lock error and control becomes unreliable.
Homebridge 2.2.1: The same plugin version, configuration, Matter pairing, Homey setup and Node.js version work without the synchronous onOff.state lock error.
There is also a separate Homebridge UI issue where controlling the same lights directly from the Homebridge UI does not always update the displayed state correctly, even on Homebridge 2.2.1. However, the main regression reported here is the Matter control path from Homey, because that path works again after downgrading Homebridge from 2.3.1 to 2.2.1 without any other changes.
Because the Plejd Gateway state can still be read correctly through local HAP-IP, and because downgrading to Homebridge 2.2.1 restores the Homey Matter control path without any plugin, configuration, pairing or Node.js changes, the issue appears related to a change in DimmableLight, Level Control, On/Off state handling or Matter transaction locking between Homebridge 2.2.1 and 2.3.1.
Could you please confirm whether this is a known issue or regression?
I would also appreciate guidance on the expected contract for a plugin-provided levelControl.moveToLevelWithOnOff handler in Homebridge 2.3.x. Specifically: after the handler returns successfully, should Homebridge update onOff.state internally, and could that path be responsible for the synchronous lock error above?
I can provide logs and the relevant Matter registration/handler excerpt from plugin v1.0.0 if helpful.
Best regards
Logs
No response
Config
Homebridge UI Version
5.27.0
Homebridge Version
2.3.1
Node.js Version
24.19.0
Operating System
Official Homebridge Raspberry Pi Image
Environment Info
None
Raspberry Pi Model
Raspberry Pi 5
Source: homebridge/homebridge