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.

https://github.com/KartoffelToby/better_thermostat

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary

Keywords

climate energy-efficiency hacktoberfest hacs home-assistant home-automation homeassistant moes sea801 sea802 sensor smarthome spzb0001 thermostat ts0601 tuya zigbee zigbee2mqtt
Last synced: 6 months ago · JSON representation

Repository

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.

Basic Info
  • Host: GitHub
  • Owner: KartoffelToby
  • License: agpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://better-thermostat.org
  • Size: 1.72 MB
Statistics
  • Stars: 1,079
  • Watchers: 23
  • Forks: 142
  • Open Issues: 216
  • Releases: 30
Topics
climate energy-efficiency hacktoberfest hacs home-assistant home-automation homeassistant moes sea801 sea802 sensor smarthome spzb0001 thermostat ts0601 tuya zigbee zigbee2mqtt
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing Funding License

README.md

Active installations GitHub issues Version - 1.7.0 Discord hacs_badge

Better Thermostat

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

Requirements

  • Minimum required Home Assistant version: 2024.12 (Latest tested version: 2025.3.0)

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

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

yaml 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.

Owner

  • Name: Tobias Haber
  • Login: KartoffelToby
  • Kind: user
  • Location: Germany
  • Company: @dundd

A Fullstack web application developer from Germany with a passion for open source projects in the smart home industry. Skilled in various programming languages.

GitHub Events

Total
  • Create event: 10
  • Commit comment event: 1
  • Release event: 5
  • Issues event: 214
  • Watch event: 259
  • Member event: 2
  • Issue comment event: 955
  • Push event: 38
  • Pull request review comment event: 5
  • Pull request review event: 20
  • Pull request event: 60
  • Fork event: 25
Last Year
  • Create event: 10
  • Commit comment event: 1
  • Release event: 5
  • Issues event: 214
  • Watch event: 259
  • Member event: 2
  • Issue comment event: 955
  • Push event: 38
  • Pull request review comment event: 5
  • Pull request review event: 20
  • Pull request event: 60
  • Fork event: 25

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 850
  • Total Committers: 62
  • Avg Commits per committer: 13.71
  • Development Distribution Score (DDS): 0.54
Past Year
  • Commits: 63
  • Committers: 15
  • Avg Commits per committer: 4.2
  • Development Distribution Score (DDS): 0.762
Top Committers
Name Email Commits
KartoffelToby k****t@t****e 391
@RubenKelevra c****d@g****m 234
Wolfgang Tom m****l@w****e 86
James McMahon j****n@p****t 17
Folfy f****y 15
Dr. Torge Valerius 2****b 8
Tobias Haber t****r@d****g 7
felixhaeberle 3****e 7
NinDTendo d****d@g****m 4
Jameson_UK 1****k 4
xX7 5****7 3
misa1515 6****5 3
chigelo 1****o 3
Thomas Wendt t****y@g****t 3
Fettlaus 8****s 3
Eric HOUET e****t@d****v 3
Cycor 6****r 3
developer d****t@s****e 2
Hans 1****c 2
Jiří Furda 2****a 2
Krystian Kotkowski 6****o 2
LeoCal 2****l 2
Maximilian Pott m****2@g****m 2
Michael Mior m****r@g****m 2
Nicolas Liaudat n****t 2
Oliver Butler d****v@o****k 2
Pablo C P****s 2
Tomcat86878 7****8 2
Alexander Weber a****r@f****e 1
rockberte b****r@g****m 1
and 32 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 456
  • Total pull requests: 137
  • Average time to close issues: 4 months
  • Average time to close pull requests: 21 days
  • Total issue authors: 341
  • Total pull request authors: 45
  • Average comments per issue: 4.39
  • Average comments per pull request: 1.31
  • Merged pull requests: 105
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 136
  • Pull requests: 49
  • Average time to close issues: 25 days
  • Average time to close pull requests: 21 days
  • Issue authors: 119
  • Pull request authors: 20
  • Average comments per issue: 3.61
  • Average comments per pull request: 1.61
  • Merged pull requests: 29
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • RubenKelevra (38)
  • kuduacz (7)
  • Soukyuu (5)
  • pbranly (5)
  • bsafh (5)
  • LinuxfarmerHH (5)
  • jamesonuk (4)
  • code-chicken (4)
  • mueller-esch (3)
  • tomg1970 (3)
  • folfy (3)
  • daniushko (3)
  • DeimicUser (3)
  • R1DEN (3)
  • deveth0 (3)
Pull Request Authors
  • RubenKelevra (26)
  • folfy (17)
  • KartoffelToby (15)
  • wtom (8)
  • albummi (8)
  • jamesonuk (8)
  • cygnusb (8)
  • Moohan (3)
  • hpuac (3)
  • Kishi85 (2)
  • apo-mak (2)
  • tasomaniac (2)
  • iainlane (2)
  • imbaczek (2)
  • Ashpork (2)
Top Labels
Issue Labels
new bug (250) feature (113) bug (49) wait for feedback (27) stale (22) under investigation (14) enhancement (13) help wanted (6) faq (6) documentation (4) duplicate (3) special device (3) new function (3) question (2) wontfix (2) chores (1) new integration (1)
Pull Request Labels
enhancement (13) bug (8) documentation (8) chores (3) feature (2)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 2
proxy.golang.org: github.com/kartoffeltoby/better_thermostat
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/KartoffelToby/better_thermostat
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago

Dependencies

.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • psf/black stable composite
.github/workflows/hassfest.yaml actions
  • actions/checkout v2 composite
  • home-assistant/actions/hassfest master composite
.github/workflows/pages.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v2 composite
  • actions/deploy-pages v1 composite
  • actions/jekyll-build-pages v1 composite
  • actions/upload-pages-artifact v1 composite
.github/workflows/validate.yaml actions
  • actions/checkout v2 composite
  • hacs/action main composite
requirements.dev.txt pypi
  • black ==23.9.1 development
  • codespell ==2.2.2 development
  • flake8 ==4.0.1 development
  • homeassistant ==2023.9.2 development
  • pre-commit ==2.15.0 development
  • ruff ==0.0.289 development
  • yamllint ==1.32.0 development