Problem with Aeotec Siren 6 Switching in Webcore

I'm having problems with a webcore piston/device driver.
I'm trying to control an Aeotec Siren 6, by switching on the siren and then switching off.
The switching on works just fine but the problem is that when it comes to switching off it just doesn't, it continues the siren until I go to the device in the hubitat app and manually click the OFF button. I've tried pausing and re-enabling the piston and even deleting and re-creating from scratch but nothing seems to resolve the problem. The device events only shows a change in volume and nothing else so cannot obtain any useful debug info from that. I get the feeling that the problem is with the device driver but I don't have the level of knowledge to go beyond that.
If anyone can help it would be much appreciated.
Thanks in advance

Couple suggestions

I typically use a data type vs. dynamic for my data types (this is not likely your issue)

You have a comparison for a variable 'changes' - that likely should be 'is' or equals' (line 78)

Posting logs of running can be helpful. Also a lot of webcore experts are in the webcore forum.

Works fine when using the child CHIME device so guess the issue is with the driver.
I'll just modify my pistons to use the CHIME child device for now.