For most modules, when the house doesn't have power, I'm not worried about the modules being offline. For the thermostat, however, I need it to run even without power, as it's controlling heat for the house. I have a generator that covers a few circuits, including the furnace, but the thermostat is located in the junction of bedrooms and office, not near the furnace, so it won't be covered by the generator. Since the longest power outage I've had in this house was 3 days, I'm targeting 72 hrs of run time for the thermostat without wall power. To achieve this, I'll need an internal power storage unit of some kind as well as a mechanism to use minimal power from that storage. So the thermostat consists of a Raspberry Pi Zero W for communication, which will be powered from the wall and not off internal power, as well as a Adafruit Feather which is what directly controls a relay to switch the furnace. The Feather will be running on either supercap or a rechargeable battery of some kind.
Last night I set up the Feather connected to the Zero with a serial line between them so the Zero can log what the Feather is outputting. The Feather has a sketch on it that allows up/down adjustment of set temp via two physical buttons, running an MCP9808 to measure temp and a eInk display to show current temp, set point, battery voltage and 'furnace commanded on' or 'furnace off' as well as reporting status out the serial port to the Zero.
For the first test, I'm running this off a 1.2Ah LiPo cell with the eInk to see how long it's able to run in that configuration. The only thing that's not currently part of the circuit is the relay (hence it isn't actually commanding the furnace)