@Dizzwold said
What I'm ultimately trying to achieve is an always On 5v power system, with a momentary switch to fire-up the Duet from the 24v PSU.
What do you mean by 'fire up' the Duet? The Duet will be running all the time you've got the 5V on. It's the motors and heaters that won't be 'fired up'.
So is your plan that you have a permanently-running process that monitors for 24V and when it sees that it switches on the PS_ON? If your plan for that is daemon.g, you'll need an embedded faster loop (unless you're willing to hold your momentary swicth for at least 10 seconds). I don't think I'd do that.
If you've got the duet running permanently, and you wnat to manually switch your 24V, I think it would be better just to put the momentary switch on one of the IO inputs, set a trigger, and that can switch the power on immediately.
However, I'm not sure why you even want that, because I don't understand why you want the user to be switching the 24V at all. If you scrap the momentary switch, and put M80 in the slicer start gcode, and M81 S1 in the slicer end gcode, the Duet will switch on the 24V when it starts each print job, do the print, and then switch the 24V off again when it has finished. No button pressing required. That's what I do (except via a mechanical relay, not an SSR).