[Custom component] Smart Autotune Thermostat

Hi @FireFury,

SAT is designed to act as the central controller (or virtual thermostat) for your whole heating system, even if you don’t have a physical central thermostat installed.

How Setup Works

During the initial configuration, SAT asks you to define a main thermostat. This isn’t a physical device, it’s a virtual zone representing your primary room, often the living room (especially if it has multiple radiators). This room typically plays a leading role in regulating overall heating demand.

In the Configure Sensors section, set the Inside Sensor Entity to the temperature sensor in your living room, this is the reference for managing that room’s heating.

Multi-Room Setup (Areas)

In the Areas section:

  • Leave the Thermostat field empty.
  • In the Radiators field, add the climate entities (TRVs) from your living room—the main zone.
  • In the Rooms field, add the climate entities (TRVs) for the other rooms in your home.

How It Works

  • When you adjust the SAT setpoint, the living room TRVs will follow that change.
  • If only the other rooms (zones) request heat (e.g., bedrooms at night), SAT will provide heating only for those zones, adjusting the boiler’s flow temperature accordingly.

This setup allows SAT to balance energy efficiency and comfort in a multi-zone system without needing a dedicated central thermostat device.

If you have any other questions, feel free to ask.

@sergeantd83, thank you very much,
so in practice, the only limitation is that the boiler modulate at higher power than the minimum desired? Will this involve higher gas consumption?

I am on the point to choose the boiler, but my plumber recommend Bosh/ELM Leblanc, Saunieur Duval or Chaffoteaux. I have seen Chaffoteaux use eBus2 protocol, but it seems even more complex than the EMS one. Is that right?

Do you have tips to understand which boilers are open therm? It does not seems easy to me, and I called the phone assistance: they didn’t even know what I were talking about.

The only limitation is that the boiler modulates at higher power than the minimum desired. Will this result in higher gas consumption?

Yes — EMS boilers briefly modulate higher than necessary. This can lead to slightly higher gas consumption during low-load control cyles.

I’m about to choose a new boiler. My plumber recommends Bosch/ELM Leblanc, Saunier Duval, or Chaffoteaux. I’ve read that Chaffoteaux uses the eBUS2 protocol, which seems even more complex than EMS. Is that correct?

Unfortunately, I’m not familiar with the technical specifics of Chaffoteaux or eBUS2.

Do you have any tips for identifying which boilers support OpenTherm? I tried asking customer support, but they didn’t even understand what I was talking about.

Yes — we’ve ctreated a boiler compatibility list with user-reported OpenTherm-compatible models that work with SAT. It’s a good place to start, but always double-check with the manufacturer or product manual for “OpenTherm” support on the specific model.

A few extra tips when choosing a boiler:

  • Prefer boilers with a low minimum output (e.g., 3–4 kW), this allows for longer run times and better performance during low heat demand.
  • Some brands like Ideal, Intergas, and Nefit don’t always respect max modulation settings, which can make low-load control a bit tricky (similar to EMS behavior).

@sergeantd83 thank you very much for the explanation.

As the only brand that seems surely work (even if with slight limitations) and it is known by my plumber is bosh, I think I will go with that.

I also have a question regarding temperature sensors: the doc present on github states that it is better to have 2 decimals (so I read a minimal precision of 0.01°C). Do you have to suggest sensors or thermostats with this characteristics? My thermostat is badly placed over a radiator, so I probably need a thermostat able to use an external temperature detector.

For accurate readings, I recommend the Xiaomi LYWSD03MMC temperature sensor. It’s cheap, reliable, and when flashed with the PVVX firmware, it reports 2 decimals, which is perfect for SAT.

You can integrate it into Home Assistant via Bluetooth, using either native Bluetooth or an ESP32 flashed with ESPHome to act as a Bluetooth proxy. Just make sure to place the sensor properly in the room (not over a radiator).

1 Like

Hi all, a long time SAT user here again. I’d like to share some graphs which compare annual stats between a heat pump and the boiler. Data for the heat pump comes from https://heatpumpmonitor.org/ Both systems are in a similar environment, in terms of house floor area, heat loss and ambient temperatures. Some of these graphs might be difficult to read so please feel free to ask questions.






Hey everyone,

I just found SAT on my search to find a system to integrate with my boiler (buderus logomax plus).

Previously I used a on/off relay and my sonoff TRVZB’s to send heating requests to the boiler with the better thermostat integration. (GitHub - KartoffelToby/better_thermostat: This custom component for Home Assistant will add crucial features to your climate-controlling TRV (Thermostatic Radiator Valves) to save you the work of creating automations to make it smart. It combines a room-temperature sensor, window/door sensors, weather forecasts, or an ambient temperature probe to decide when it should call for heat and automatically calibrate your TRVs to fix the imprecise measurements taken in the radiator's vicinity.)

Later down the line due to issues I changed from better thermostat to versatile thermostat. (GitHub - jmcollin78/versatile_thermostat: A full featured Thermostat for Home Assistant: presets, window, motion, presence and overpowering management) and have been using it since

now I have setup an ems-esp32 interface to my boiler so I could have dynamic setpoint heating instead of on/off.

now my question, is it possible to use versatile thermostat with it’s feature to open and close the valve of my trv’s in steps for more precise heating in combination with SAT and esp-ems?

Does anyone have a setup like this and any tips on how to begin?

Many thanks

Hi! SAT designed to work withTRVs. The protocol doesn’t matter. Multiroom heating is a core feature.

Hi there: I can’t get SAT working in PID mode. Trying to set up 4 SATs to control 4 UFH actuators in PID mode with room temp/humidity and exterior temp sensors.

I assume I’ve configured it correctly (in PID mode; boiler manufacturer as “Simulator”). Many of the configuration settings are extremely confusing if you’re setting this up as a PID device as they don’t seem to apply (e.g., what is boiler maximum temperature?).

However crucially the logs are getting spammed with message “PWM turned off due to missing values”. I have very similar entities to this issue (SAT lost all control of SAT-over-switch setup post Jan 18th update · Issue #108 · Alexwijn/SAT · GitHub). I have checked the code and it is testing for boiler temperature - I don’t understand why.

I tried regressing to previous versions but version 3.1.0 which seems to be the last that allows forcing PWM doesn’t seem to run on latest HA.

And finally - leaving SAT to run without correcting this error seems to have totally random results - in one room, the valve was turned off; in another it was left on while the room climbed 10º above set point - before I turned it off manually.

I assume this is bug and PID mode is just broken at present?

Don’t use SAT to create a climate entity from a valve entity.

For that use versatile thermostat (ignore its central boiler functionality), just setup 4x “climate over valve”

Then use SAT to orchestrate the whole thing.

1 Like

Hi, thanks for the great work. I have one problem. SAT communicates with OTGW (nodoshop 2.0), it can set the heating, but it cannot set the hot water. Is there any way to check why it cannot? Or have I set something wrong? The boiler is Thermona (Bertelli board). Thanks a lot for the answer!

Is the DHW slider unavailable or you set a new DHW value and the boiler doesn’t respond to it? Moreover is your boiler instantaneous DHW production capable or you have an external DHW tank?

Can you please post a graph with values — Control Setpoint vs Boiler flow water temperature and a graph displaying the relative modulation of the System calibration interval? I will calculate this value for you and I will guide you then to manually fill the value. Thanks!

The slider is available. The boiler has an external storage tank. I found out where the error is: the original thermostat has set times in which it heats hot water. At the time when it is not supposed to heat, the required water temperature is 0°C. but at that moment the “Hot water = Off” signal is sent to the boiler. and then I can set anything on the slider in SAT and the boiler does not react to it. But as soon as I set not 0°C, but 10°C on the original thermostat, the “Hot water” signal switches to On and then the boiler reacts to the value that I set on the slider.
There is one difference: the setpoint of the room temperature is overwritten from the room thermostat to SAT when changed, but the setpoint for DHW is not.

Oh that is an unfortunates side effect. In SAT we send regularly ( every 30 seconds ) the CS value. Which means the physical thermostat cannot change this value because OTGW is in charge. That means your physical thermostat acts as a back-up thermostat, if for any reason SAT fails. While in DHW we only send the DHW setpoint command only once when there is a change in the slider.

Ah, but I don’t know if I understand it correctly, because if I change the setpoint value on the physical thermostat, it is written to SAT and I see it in HA. But if I change the setpoint value on the physical thermostat to DHW, nothing changes in SAT. SAT sends the value to the boiler at the intervals you specified, but the set value from the physical thermostat goes to SAT in both heating and DHW. Or do I understand it wrong?

Hi Guys,
I did manage to get de SAT installed finally :). It seems to work correctly, but not in the way that I want. Its controlling the temperature via an on/off way and not modulating as I was hoping for.

Whats happening: the SAT is controlling the temp by setting the setpoint of water temp to 48 degC. After a few minutes (+/- 4), when the water temp reaches the 40 deg degrees (my max T), its turning the setpoint back to 10 degC. That sequense is repeated until the room temp is reached (see pic). reletive modulation is moost of the time 100% So its working but not yet in the most efficient way I gues.

Do you have any sugestions ?
I’m working with an OWGW and selected the option OpenTherm Gateway ( SERIEEL ) during insallation

Hi and welcome! Normally your boiler should work on low load control mode. What’s your boiler brand? There are a few boilers out there that do not accept the maximum modulation management.

Thanks!

Intergas

:rofl::rofl::rofl:. The usual suspect… Intergas is one of the boiler brands that do not accept maximum modulation management. Don’t worry, we have a solution for that. Go to Configure → Advanced settings → Enable Dynamic Minimum Setpoint ( Experimental ). Then go to General Settings → Minimum setpoint Controller version and check the Boiler temperature option. If it isn’t working properly please feel free to contact again. Thanks!

1 Like