Yeah, I played with that setting for a while and I tried all the cycles per hour options, it just didn't help. The temp swing was very noticeable, I could tell when the heat was going to come on because it felt cold in the room, and when the heat has been on because it started to feel too hot. Several degrees of swing no matter what I changed cycles per hour to, and feeling too cold or too hot all day.
I gave up on the T6s controlling things, and I wrote my own anticipating virtual thermostat driver, and I wrote a controller to go with it to operate the zone valves based on the operating state of the virtual thermostats, and it syncs all settings to the T6s. It has been working great once I got it dialed in!
My driver anticipates the need for heat before it gets below target, as it takes time for the heat to come up. It then runs timed cycles, with the heat cycle times based on outside temp and a zone coefficient, and then it does a wait cycle between heat cycles to see if the temp is rising yet, and if temps start rising during the wait, and it is near setpoint, it stops heating to avoid going over target, else it runs another timed cycle. Since baseboard heat continues to heat after the furnace is off, it ends up just a tad above the setpoint (like a few tenths of a degree) by turning off before reaching target. By starting the cycles before going below target, I end up only a few tenths of a degree below target before the heat heat comes up and it starts rising again. There is also a setting for ramping temp, so when temps are enough below target, it ramps continuously until it gets just under target at the ramp setpoint, with temps ending up just barely over target after the ramp.
The controller apps sync the virtual thermostats to the the T6s (I have three zones). It makes the temp on the thermostat read correctly, by comparing the thermo temp to the Zigbee temp sensor that runs the virtual thermostats. I then make the thermostat read the same as the Zigbee sensor by using the temp calibrate command in the T6 driver to change what it displays, to make it match Zigbee temp. Also, any changes on the T6s for mode or setpoint are synced over the the virtual thermostats, so the T6s are now just dumb display and control panel devices, and they are not connected to anything physically other than power.
It also works well in cool mode, where the virtual thermostats control window ACs and a mini-split, with the AC units controlled by the controller app based on operating state of the virtual thermostats.