I thought my next step after finalizing the existing driver would be to create a local server and split the rain sensor out to a seperate driver. After researching the topic I discovered that the ASCOM instructions make no sense at all (they say create a driver then use the local server template to create a driver from the driver. Problem is it can't work that way. The local server has to be written to talk to the hardware then drivers written to talk to the local server.
There's also nothing to make a shutter close if it starts raining when the dome is powered up but there's no client software running (like SGP) so I have to make the firmware deal with the rain sensor and close the dome if it's active, so what's the use of having a separate driver that needs client software running for it to do anything useful?
So the driver will continue to simply throw invalid operation exceptions when a commanded action is not compatible with the dome's state (low power, unknown shutter location, raining). My driver has visual indications when these will prevent a command from completing but you'll have to client software's logs for it's report - assuming it logs receiving an exception and logs the description (SGP does if logging is enabled).