Smart Home Heating with Zigbee - Heating an Old Building More Efficiently

I'm currently heating my 1980s old building into the ground and I have no idea whether the heating curve is right. The Viessmann runs on slope 1.2 / level 3.0 and that's probably way too high. I have no sensors in the rooms, so no data. So I'm getting Zigbee thermostats and temperature sensors for every room, all into Grafana, and then I can see where I'm overheating.

Why Zigbee and not AVM FRITZ!DECT

AVM offers ready-made solutions (DECT 302 thermostats + DECT 350 sensors), but that costs ~€90 per room. For two rooms with two radiators each that would be €180, for seven rooms over €600.

Zigbee is cheaper, but prices vary a lot depending on the retailer. On Amazon I pay €195 for phase 1 (4× TRVZB €90, 2× sensors €25, coordinator €80). That's fast delivery, but not the best price.

If you want to save money, order directly from itead.cc (Sonoff manufacturer) or via AliExpress. There the TRVZB cost ~€20-22 and sensors ~€10-12 each. With those prices you end up at ~€120 for two rooms including the coordinator, seven rooms ~€300 total. The downside: 2-4 weeks delivery time from China. I ordered from hobbyelectronica.nl (EU warehouse) and the itead EU store, delivery in 5-10 days at similar prices.

The effort is higher than AVM (Docker container instead of FritzBox integration), but I already have Docker/InfluxDB/Grafana running anyway. The data comes straight into Grafana via MQTT, without any tinkering through the FritzBox API.

Why an Ethernet coordinator instead of USB

My server sits in the basement. Zigbee through concrete ceilings doesn't work, so the coordinator has to sit centrally in the hallway. A USB stick on the server is useless, and USB passthrough via the FritzBox doesn't work (FritzBox USB only accepts printers/storage).

So: SMLight SLZB-06 Ethernet Coordinator. It speaks Zigbee on one side and TCP/IP on the other. Zigbee2MQTT can use tcp://host:6638 as the adapter URL, so the coordinator sits in the hallway next to the FritzBox (LAN + USB-C power supply) and the server in the basement pulls the data over the network.

Hardware ordered

Phase 1 - Two rooms (living room + office):

4× Sonoff TRVZB (2 radiators per room) - €90

2× Sonoff SNZB-02P (1 sensor per room) - €25

1× SMLight SLZB-06 Ethernet Coordinator - €80

Cost: ~€195 total. For comparison: AVM for the same two rooms would be €360.

What I expect

The heating curve is currently set too high because I have no data. With sensors in every room I can turn the curve down as far as it goes until the coldest room just barely reaches the target temperature. Every degree less flow temperature = oil saved directly.

On top of that: turn down thermostats in rarely used rooms (guest room, storage room), office only warm during the day, bedroom cooler at night. The theory says 20-30% savings are possible. Whether that holds we'll see in a month when the hardware is here and a few weeks of data are in Grafana.

Software Stack

All Docker containers on the home_vault server:

Mosquitto - MQTT broker

Zigbee2MQTT - Zigbee -> MQTT bridge (connected via TCP to the SLZB-06)

Telegraf - MQTT -> InfluxDB (writes into the existing vault DB)

Grafana - dashboard (already running, now gets room temperature/humidity + valve opening)

The whole thing correlates with the existing vcontrold data (flow/return/outside temperature) and solar yield. Then you can see exactly where it's overheating, which rooms stay too cold, and whether the curve fits.

Reality check

This is a 1980s old building with poor insulation. Cold, uninsulated walls radiate cold even at 21°C air temperature. No control system in the world fixes that, only insulation. The system only prevents me from cranking it to 23°C out of compensation and burning oil in the process.

Hardware arrives in 5-10 days (itead EU warehouse + hobbyelectronica NL). Then set up containers, pair the thermostats, collect data for a week, and then we'll see whether the theory holds.