It is strange that the StructureObserver is the only one structure in the game that never requires energy to work.
It should be consistent that this structure also consume energy when working...
First, the Obeserver should by fed with energy by some creeps, then the observeRoom() function could then work, usign that energy (as the labs do).
The used energy to observe a room could also depend on the distance between the observer's room and the observed room (exponential value with the linear distance ?)