HomeKit window shade state broken

Hi, window shade devices don't show their state correctly in HomeKit. My specific setup is A-OK blinds controlled by the community Bond integration (as the built-in Bond integration doesnt support Stop). The shade devices are linked to HomeKit. The shades are open/close controllable from Apple Home App just fine, but the state shows wrong. I tested a virtual window shade device linked to HomeKit and also couldn't get the state to correctly reflect opening, closing, open or closed to correspond to the virtual device. I tried reverse and normal mode, neither worked properly. I also tried a shade using the built-in Bond integration, same result. Is this a known bug, or am I doing something wrong?

I'm experiencing similar issues, I wonder how closely they match with you?

If I tap a window shade in HomeKit to open/close, it will command the position change from HE, and initially show opening/closing, but the button reverts to the original state even though the physical shade has moved. HE status remains correct.

If I tap on the right side of a window shade in HomeKit to set the specific position, the initial position shown will be wrong, but I can slide it to a position and it will request that from HE. Again the physical shade will move, and HE status is correct, but HomeKit will revert to the previous state (open/closed).

I've experimented with a custom virtual driver that synthesises a real window shade. It has 'position' and 'windowShade' states. When a movement is requested it will move in 5% increments per second to that position. The behaviour and states in HE is exactly right. 'sendEvent()' is used to update individual states whever they change. When surfacing a device using the driver (all virtual) in HomeKit, I get the same broken behaviour as with a my real shade.

My real shade is using Shelly Plus 2PM and a custom driver, but I've tried to rule that out here. HE and HomeKit devices (Apple TV 4K) use wired network connections, latest software on both. I can provide the virtual driver code to help repo this problem.

It would be useful to have further info on *how* driver capabilities and states are mapped to HomeKit.

I should have followed up that I modified the driver code to fix the issue, I posted about it here Support for Bond hub - #795 by jon1

The line 688 additions sorted the homekit state for me.

Ah, thanks. Did you ever find good information on the mapping between HE 'windowShade' capability attributes ('position' and 'windowShade') and what HomeKit expects/wants (e.g. CurrentPosition, TargetPosition, CurrentDoorState, TargetDoorState, etc.)? The driver I'm using has 'opening', 'closing' and 'partially open' states (as per HE doco) but it's unclear what the HE HomeKit integration does with these values. For example, 'partially open' needs to be mapped to 'stopped' for HomeKit.