Update on vibration sensor. Reading the vibration sensor at the end of loop() and checking for "theft" was too ugly for me to ignore, so today I finally moved it to a pin-change interrupt using the EnableInterrupt library. Had a slight issue with the microphone library and duplicated declarations, but fortunately the EnableInterrupt WIKI helped out with the #define needed to make the problem go away. Now, it's a simple flag update in the ISR and the loop() now only checks for the flag. If there has been movement it disables the interrupt, updates some timers, and enables the timer again after 5 mins. Poor mans debounce.
Tomorrow I am going to start doing some testing to see how much of a difference the 5v fan might have. Going to create two small boxes, with identical temp/hum measurements and set them outside. One will have the fan and small vents installed. Just curious to see how much of a difference the fan will make in 95 degree weather with the heat index at 105.