Occupancy Sensor for Arduino
Combining the outputs from a few simple sensors such as a PIR, sound sensor, door switch, etc., might work well.  You could set a different delay time for each and OR the results.  So if you haven't moved, burped, or opened a door in a long while your either sleeping, not home, or just plain dead.  (Its lights out in all cases.)