It’s a bug in the webcore “piston” smartapp. If you select User 1 or 0 in the UI rule, when the piston executes, it seems to treat users 0 and 1 as a boolean instead of a user number (1 as any unlock event and 0 ignores all unlock events). Would recommend reporting it on the WebCoRE forum.
LUM, RLA and other ST apps don’t have an issue handling code 1 reports and creating custom actions.