Giter Site home page Giter Site logo

zoned-heating's Introduction

zoned-heating

Introduction

This is an integration for Home Assistant, which can be used to create a multi-zone heating system in your house.

It is designed to create a 'link' between your main thermostat and smart radiator valves (TRVs).

Note: This is a work-in-progress, so things may not work properly yet. Report issues when you find them.

Installation

No HACS support yet, only manual installation possible

  1. Place files in custom_components folder.
  2. Restart HA to load the custom component.
  3. In HA, go to Configuration -> Integrations and click 'add integration'. Look for Zoned Heating. If it does not appear, reload your browser cache.
  4. Click the 'configure' button for starting the configuration.

Configuration

Option Description Remarks
Controller The device in your house which controls the boiler. The controller can be of type climate or switch.
Zones The device in your house which control the areas. The zones must be of type climate.
Maximum setpoint Limits the maximum temperature setpoint that can be send to the controller

Switch entity

The Zoned heating integration creates a switch entity switch.zoned_heating which can be used to control the Zoned Heating:

  • On: Zoned heating is enabled, the integration watches the zones for heat demand and controls the controller accordingly.
  • Off: Zoned heating is disabled, zones are independent from the controller.

Attributes

The switch.zoned_heating entity exposes the following attributes:

Name Description
controller Entity which has been set up as controller
zones Entities which have been set up as zones
max_setpoint Setting for maximum temperature setpoint
override_active True: The controller is turned due to one or more zones.
False: The controller operates standalone.
temperature_increase Maximum difference in requested temperature and actual temperature of the zones.

Functionality

Temperature override

The main goal of the zoned heating is to override the controller when one or more zone requests heat.

The override logic is triggered when the setpoint or operation mode of a zone is changed. The following flow is executed:

  1. For all zones which are in heating mode, the temperature setpoint minus actual temperature (=temperature increase) is calculated.
  2. The zone with highest temperature increase is considered dominant and will be used to operate the controller.
  3. In case no zone is requesting for heat, the override is stopped. Otherwise, the override is started or updated.
  4. If override is active, the controller will be turned on (set to heat in case of a climate entity). Otherwise it's prior state is restored (see below).
  5. If override is active, the temperature setpoint of the controller will be updated to its current (sensor) temperature + temperature increase. Only applies in case the controller is a climate entity.

Controller restoration

If the override mode is stopped, the controller is restored to its setting (state/mode and temperature setpoint) prior to the override mode. The settings are stored at the moment the override becomes active.

The restoration settings are kept when HA is restarted.

Controller operation during override

When the temperature setpoint of the controller entity is changed when override mode is active, this change are maintained and saved in the restoration settings. This could mean that the zones no longer get heat. When any zone requests heat, the override continues as before.

When the controller entity is turned off while override is active, the override mode is stopped and all zones which were requesting heat are turned off as well.

Limitations

The following limitations are known and possibly addressed in future updates:

  • The integration is only tested for climate modes heat and off. Modes cool and heat_cool might result in unwanted behaviour.
  • The overide logic assumes that your zones are able to heat up quicker than the controller. If this is not the case, the zones may never reach the desired temperature.
  • This integration does not handle presets for climate devices.

zoned-heating's People

Contributors

nielsfaber avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.