I have an emergency generator at work which works well, automatically starting on power outages etc. The problem is that the generator is on level 27 of the building, and access during a power outage requires a trip to the sub basement to get a key from security (19 levels) and then back to level 27... a lot of stairs. I also wanted a way to remotely check the generator status and to monitor the run times so we can keep track of the diesel usage without the costs associated with full remote telemetry.
The solution was built in under an hour using off the shelf parts, namely:
+ 1 * arduino duamilanove
+ 1 * freetronics POE Ethernet shield
+ 1 * freetronics 802.3af POE module
+ miscellaneous collection of smd resistors etc.
The sensor caters for a hard wire from two relays in the generator control system which are switched when the generator is running. These relays are NC (normally closed) and NO (normally open) and using both provides for the system run state (running/not running) and fault detection (inconsistent state/broken wire etc).
A secondary sensor has been added which 'listens' for the generator. The initial version used a piezo element which worked but only just. A second revision of this sensor will use an electret microphone and Op-Amp for a little more sensitivity.
The sensor is powered via power over ethernet, uses the local NTP server for time, supports remote status enquiry via HTTP and sends alerts to our monitoring system via UDP. The monitoring system responds to state changes and tracks the generator run times (hours) to provide some remote fuel monitoring capability.
All in all an extremely simple sensor, made easier due to the availability of off the shelf components.

