Well it worked great for 6 weeks without issue and the last couple of days it's gone wrong. Nothing has been altered/changed but I'm having issues with my blind again. Looking at the logs - if it's closed and I send an open, it goes to 'opening' only briefly, then 'closed' (while in transit) before correctly going to 'open' on arrival. Send a close and it goes to 'closing' only briefly, then 'open' (while in transit), before correctly going to 'closed' on arrival (though I have seen it remain on 'opening' or 'closing'. The logs below show a cycle from fully open to fully closed - I'm not sure why it's gone wrong:
Summary
dev:10932022-07-04 22:15:44.695 traceparse: ACK command=9216
dev:10932022-07-04 22:15:44.590 debugKitchen Blind sending time data : [he cmd 0xB7F4 0x01 0xEF00 0x24 {000862C3588062C36690}, delay 2000]
dev:10932022-07-04 22:15:44.587 debugKitchen Blind time synchronization request
dev:10932022-07-04 22:15:44.585 traceparse: SET_TIME data=[20, C8]
dev:10932022-07-04 22:12:01.073 infoKitchen Blind is closed
dev:10932022-07-04 22:12:01.071 debugupdateWindowShadeArrived: position=0
dev:10932022-07-04 22:12:01.068 debugsetPosition: no need to move!
dev:10932022-07-04 22:12:01.066 traceisWithinOne:true (position=0, lastPosition=0)
dev:10932022-07-04 22:11:58.451 infoKitchen Blind is closed
dev:10932022-07-04 22:11:58.449 debugupdateWindowShadeArrived: position=0
dev:10932022-07-04 22:11:58.447 traceendOfMovement
dev:10932022-07-04 22:11:55.987 debugparse: stopping (DP=1, data=0)
dev:10932022-07-04 22:11:55.932 traceparseSetDataResponse: descMap=[raw:catchall: 0104 EF00 01 01 0040 00 B7F4 01 00 0000 02 01 00000104000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:B7F4, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 00, 01, 04, 00, 01, 00]]
dev:10932022-07-04 22:11:55.851 infoKitchen Blind is closed
dev:10932022-07-04 22:11:55.848 debugupdateWindowShadeArrived: position=0
dev:10932022-07-04 22:11:55.835 debugupdatePosition: arrived!
dev:10932022-07-04 22:11:55.832 traceisWithinOne:true (position=0, lastPosition=0)
dev:10932022-07-04 22:11:55.815 traceupdatePosition: position=0
dev:10932022-07-04 22:11:55.811 infoKitchen Blind is closed
dev:10932022-07-04 22:11:55.809 debugupdateWindowShadeArrived: position=0
dev:10932022-07-04 22:11:55.790 debugparse: arrived at position 0
dev:10932022-07-04 22:11:55.788 traceparseSetDataResponse: descMap=[raw:catchall: 0104 EF00 01 01 0040 00 B7F4 01 00 0000 02 01 00000302000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:B7F4, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 00, 03, 02, 00, 04, 00, 00, 00, 00]]
dev:10932022-07-04 22:11:16.380 infoKitchen Blind is open
dev:10932022-07-04 22:11:16.378 debugupdateWindowShadeArrived: position=100
dev:10932022-07-04 22:11:16.376 traceendOfMovement
dev:10932022-07-04 22:11:13.887 traceupdateWindowShadeClosing
dev:10932022-07-04 22:11:13.885 debugparse: closing (DP=1, data=1)
dev:10932022-07-04 22:11:13.862 traceparseSetDataResponse: descMap=[raw:catchall: 0104 EF00 01 01 0040 00 B7F4 01 00 0000 02 01 00000104000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:B7F4, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 00, 01, 04, 00, 01, 01]]
dev:10932022-07-04 22:11:13.746 debugupdateSpeed: speed=100
dev:10932022-07-04 22:11:13.744 debugparse: speed=100
dev:10932022-07-04 22:11:13.742 traceparseSetDataResponse: descMap=[raw:catchall: 0104 EF00 01 01 0040 00 B7F4 01 00 0000 02 01 00006902000400000064, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:B7F4, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 00, 69, 02, 00, 04, 00, 00, 00, 64]]
dev:10932022-07-04 22:11:12.284 traceparse: ACK command=0
dev:10932022-07-04 22:11:11.619 tracesendTuyaCommand: message=EFF40202000400000000
dev:10932022-07-04 22:11:11.616 tracesendTuyaCommand: dp=0x02, dpType=0x02, fnCmd=0x00000000, fnCmdLength=8
dev:10932022-07-04 22:11:11.551 debugsetPosition: target is 0, currentPosition=100
dev:10932022-07-04 22:11:11.548 infoKitchen Blind is closing
dev:10932022-07-04 22:11:11.546 traceupdateWindowShadeClosing
dev:10932022-07-04 22:11:11.543 debugupdateWindowShadeMoving: position=0 (lastPosition=100), target=0
dev:10932022-07-04 22:11:11.540 traceisWithinOne:false (position=0, lastPosition=100)
dev:10932022-07-04 22:11:11.538 debugclose mode == substituted with setPosition(0)