I had a close call Sunday morning with the little rain that we got. I started the system about 10:30 and went to bed, set my alarm for 4:40 am. For some reason I awoke at 4:20 (God looking out for me?) and decided to get up. When I checked the inside computer, I saw the latest images were starless so I peeked outside - clouds. I decided to go ahead and shut the observatory (I usually process what data I have first) and found little droplets of moisture as I walked out. Ten minutes later it was drizzling quite a bit - not enough to help the garden (we got a total of 0.05 inch) but I wouldn't have been happy with that much rain on the telescope, computer and camera.
So I went back to researching cloud detectors. There are several interesting, affordable ideas using an IR detector and Arduino but I kept thinking that a CCD camera makes a pretty good cloud detector if I could just figure out how to read it in more-or-less real time. Every time I slew to a new target I take a 10-second exposure for Elbrus to plate solve and update the telescope. Elbrus writes a status file after every analysis attempt that has a code for success or failure. I already knew how to read this file and I figured if Elbrus couldn't find a solution for whatever reason (clouds, telescope lost, telescope not tracking) that was bad enough to warrant waking me up to check it out.
So I added a line to my script to ship the sync image into the house computer where I had set up Elbrus to respond to new images in that folder. I then wrote a little VBScript that reads the status file every three seconds in an endless loop. When it detects the not-solved code, it sets off an alarm in the computer that I calculate to be strong enough to wake me (or Yvonne). The alarm is kinda cute. I found a simple way to play one of the many Windows sound files (like the shut down melody, etc) and put it in a loop to play it 10 times in succession. I tested it and it certainly works if the inhouse Elbrus can't solve the image - it also ignores the successful solves.
In my imaging program (VB+Maxim DL), I have a function that detects and logs the loss of the guide star. If the guide star is lost 4 times in the space of five minutes, the program assumes it is getting cloudy, terminates imaging, parks the scope, and issues a audible alarm on the computer.
Here in Northern California, we don't have to contend with rain much during the summer and fall, but high cirrus, and fog are the usual culprits that shutdown the observatory for the night.