Volver al ranking

KartoffelToby/better_thermostat

Pythonbetter-thermostat.org

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.

sensorclimatehome-assistantthermostathacszigbee2mqttzigbeesmarthomespzb0001ts0601tuyamoes
Crecimiento de estrellas
Estrellas
1.5k
Forks
168
Crecimiento semanal
Issues
40
5001k
nov 2021may 2023dic 2024jul 2026
ArtefactosPyPIpip install better_thermostat
README

Better Thermostat

Active installations GitHub issues Version Discord hacs_badge

For more info visit: https://better-thermostat.org/

Requirements

  • Minimum required Home Assistant version: 2025.12 (continuously tested against Home Assistant Tested Home Assistant version)

Companion UI

We've created a companion UI element which can display more information than the default thermostat element in Home Assistant. Check it out via HACS: better-thermostat-ui-card

  • If you have a question or need help please create a new discussion or check if your question is already answered
  • If you have a suggestion, found a bug, or want to add a new device or function create a new issue
  • If you want to contribute to this project create a new pull request

Features

This integration brings some smartness to your connected radiator thermostats setup:

  • Uses a temperature sensor far away from the radiators to measure the real room temperature
  • Makes your TRVs fully compatible with Google Home
  • Let your windows disable your heating (avoid programming this via an automation)
  • Your weather forecast provider will turn your heat on/off
  • Or an outside air temperature sensor can do this as well
  • Does some valve maintenance automatically, to avoid them getting stuck closed over the summer
  • Group multiple TRVs to one (e.g. for a room with multiple radiators)
  • Enhance the default TRV Algorithm with some smartness to reduce energy consumption
  • Dynamic preset temperature learning & persistence (baseline/"no preset" remembers the last temperature you set and survives restarts)
  • Advanced Control Algorithms: Choose between MPC, PID, TPI, AI Time Based or simple target temperature matching for precise control.
  • Selectable Presets: Configure which preset modes are available for your thermostat during setup.

Advanced Control Algorithms

Better Thermostat now supports multiple advanced control strategies to optimize your heating:

  • MPC (Model Predictive Control): Uses a physical model of your room and radiator to predict future temperature changes and optimize valve opening.
  • PID Controller: A classic Proportional-Integral-Derivative controller that learns your room's characteristics to maintain a stable temperature. It features auto-tuning (currently in beta) to automatically find the best parameters (Kp, Ki, Kd) for your room.
  • TPI (Time Proportional Integral): A control method that cycles the valve on and off (or modulates it) to maintain a stable temperature, reducing overshoot.
  • AI Time Based: Uses a custom algorithm based on simple measurements and calculations (not actual AI) to calculate the required heating power and adjusts the TRV calibration to achieve it. This improves upon the standard TRV internal algorithm.

These modes can be selected in the advanced configuration of the device.

Preset Temperature Configuration

Preset temperatures are now fully configurable via dedicated number entities.

How it works:

  1. During setup or configuration, you can select which Presets you want to enable for this thermostat.
  2. For each enabled preset mode (e.g. Eco, Comfort, Sleep), a corresponding number entity is created (e.g., number.better_thermostat_preset_eco).
  3. These entities are located in the Configuration category of the device.
  4. You can adjust the temperature for each preset directly using these number sliders.
  5. The values are automatically persisted across Home Assistant restarts.
  6. Changing a preset temperature via the number entity immediately updates the thermostat if that preset is currently active.

Default starting values:

Away:            16.0 °C
Boost:           24.0 °C
Comfort:         21.0 °C
Eco:             19.0 °C
Home:            20.0 °C
Sleep:           18.0 °C
Activity:        22.0 °C

Which hardware do we support?

We support all thermostats which are compatible with Home Assistant as long as they are shown up as a climate entity.

Integrations that are tested

  • Zigbee2Mqtt
  • Deconz
  • Tado
  • generic_thermostat

How to setup

Install this integration via HACS or copy the files from the latest release

Configuration details can be found in the documentation or on our website: better-thermostat.org

Some nice-to-know config tips for the configuration.yaml

Example Window/Door - Sensor config

group:
  livingroom_windows:
    name: Livingroom Windows
    icon: mdi:window-open-variant
    all: false
    entities:
      - binary_sensor.openclose_1
      - binary_sensor.openclose_2
      - binary_sensor.openclose_3

Combine multiple TRV to one (Group)

No worry, Better Thermostat supports grouping out of the box


Contributing?

checkout the CONTRIBUTING.md file

☕ Support

If you want to support this project, you can ☕ buy a coffee here.

Buy me a coffee

Repositorios relacionados
stamparm/maltrail

Malicious traffic detection system

PythonPyPIMIT Licensesecuritymalware
8.6k1.3k
schollz/howmanypeoplearearound

Count the number of people around you :family_man_man_boy: by monitoring wifi signals :satellite:

PythonPyPIMIT Licensetsharkwifi
7.1k379
guardianproject/haven

Haven is for people who need a way to protect their personal spaces and possessions without compromising their own privacy, through an Android app and on-device sensors

JavaMavenGNU General Public License v3.0sensordevice-sensors
guardianproject.github.io/haven/
6.8k748
kalkih/mini-graph-card

Minimalistic graph card for Home Assistant Lovelace UI

JavaScriptnpmMIT Licenseautomationhome-assistant
3.9k265
PJLab-ADG/SensorsCalibration

OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving

C++Apache License 2.0autonomous-drivingcalibration
3.2k700
nisrulz/sensey

:zap: [Android Library] Play with sensor events & detect gestures in a breeze.

KotlinApache License 2.0android-librarydetect-gestures
2.7k267
rbaron/b-parasite

🌱💧 An open source DIY soil moisture sensor

Cblenrf52
2.4k182
nisrulz/easydeviceinfo

:iphone: [Android Library] Get device information in a super easy way.

JavaMavenApache License 2.0androideasydeviceinfo
1.8k227
microsoft/EdgeML

This repository provides code for machine learning algorithms for edge devices developed at Microsoft Research India.

C++Otheriot-devicesensor
1.7k388
fenwii/OpenHarmony

华为鸿蒙分布式操作系统(Huawei HarmonyOS,纯血鸿蒙Harmony Next ),开源鸿蒙分布式操作系统( OpenHarmony)开发技术交流,最全鸿蒙技术资料库,手册,指南,共建国产操作系统万物互联新生态。

CMIT Licensehuaweiopenharmony
1.4k200
maxwroc/battery-state-card

Battery state card for Home Assistant

TypeScriptnpmMIT Licensebatterysensor
1.3k52
hishizuka/pizero_bikecomputer

An open-source bike computer with GPS and ANT+ capabilities, based on the Raspberry Pi Zero (W, WH, 2 W) or the Compute Module Zero. It also includes offline maps and navigation.

PythonPyPIGNU General Public License v3.0raspberry-pipower-meter
qiita.com/hishi/items/46619b271daaa9ad41b3
1.2k99