We have room-by-room heating, and we have a dog. I've set up pulleys in the rooms we keep warm to close doors behind our dog, and handles he can use to open them. That way, he can go wherever he wants in the house and doesn't leave an open door behind him, letting heat out.
The pulley and handle were dead simple to put together. The handle is just a metal hook like you can find at any hardware store, screwed into the door at nose height with some rope and soft fabric wrapped around it. The pulley consists of two screw eyes, a string, and some socket wrench attachments I had lying around for weights. The string ties to the screw eye on the door, goes through the screw eye in the doorway, and drops down beside the door.
Toby had no trouble learning how to push open the door. It took him maybe a couple days to learn how to pull it open from the other side. He settled on a two-part motion, first swiping the handle with his paw (or with his nose) to open the door a bit and then nosing it open the rest of the way. The only tricky part was getting the amount of resistance just right (by varying the number of weights) without putting him off the concept entirely. Lots of treats.
I used pulleys instead of spring hinges because spring hinges always seem to end up squeaking, and because the pulley seems to give a more consistent amount of resistance.