@felmue
Thank you! you are quite right! I hadn't really looked at what was happening properly :-(
The pin needs to be toggled high then low with a ~50ms delay for a full power off, just toggling it high does a full reset (after 1 second). I really wish there was a state diagram (or similar) available for the code in the PMS150G power control MCU.
I've extended my code to do the required pulse similar to your modification, and added a reset_device() method too. Plus relevant notes in the README etc, and done a new release.
[testing shows that the poweroff happens immediately after the first pulse, I'm not sure why they attempt to pulse several times but I guess they are just making sure.. ;-)]