New energy-efficient routing algorithms are introduced, based on a generalisation of the k-SPR sets from earlier work by the authors. This generalisation provides a means for the automatic avoidance of certain nodes and links when messages are routed. Sensor networks are modelled as connected graphs with vertex costs and edge costs. In addition, a two-tiered routing system in introduced. The low level routing is used for local routing within k hops, and is essentially (local) link-state routing. The high level routing depends on the routers from a k-SPR set, to manage this global routing.