I just got a smartwings blind and it paired seemlessly, but I have a problem that seems to be fairly common. It shows everything correct, position, opening, closing, etc, but the up / down buttons in HA are inverted. So when I press up, it goes down and vice versa. I found the quirks file that I believe it is using here: https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/smartwings/wm25lz.py
Within the quirks file it has this:
"""WindowCovering cluster implementation that inverts the commands for up and down."""
CMD_UP_OPEN = WindowCovering.commands_by_name["up_open"].id
CMD_DOWN_CLOSE = WindowCovering.commands_by_name["down_close"].id
async def command(
self,
command_id: foundation.GeneralCommand | int | t.uint8_t,
*args,
manufacturer: int | t.uint16_t | None = None,
expect_reply: bool = True,
tsn: int | t.uint8_t | None = None,
**kwargs: Any,
) -> Coroutine:
"""Override default commands for up and down. They need to be backwards."""
# swap up and down commands
if command_id == self.CMD_UP_OPEN:
command_id = self.CMD_DOWN_CLOSE
elif command_id == self.CMD_DOWN_CLOSE:
command_id = self.CMD_UP_OPEN
... removed to reduce size of post
When I go into Configuration for the device and click the Inverted button to turn on, it "sticks" for about 2 seconds and then reverts to off.
I am thinking I need to either enable the inverted code or disable the inverted code. How could I override that quirks file? Is it as simple as copying and updating in my quirks directory?
Why doesn't the "Inverted" setting stick? I'm using 2025.4.2