I built a similar thermostat a couple of years ago, also based on a Raspberry Pi and multiple ds18B20 sensors.(It doesn't have a nice interface.)
Mine works in addition to the house thermostat to call for heating or cooling when there is a big imbalance in the rooms, like when we are using the fireplace.
Some things I learned:
1) Turn the relays off as well as on, because the outputs from the rPi are maintained during crashes and reboots. (i.e. heat is not needed, turn the relay off anyway)
2) The ds18B20 can get stuck in an init state, returning 85000 which must not be used as a valid temperature
3) dht11's are not worth buying, humidity values are not very accurate. The bme280 works much better