Skip to content

Commit

Permalink
Merge pull request #27 from Moohan/patch-1
Browse files Browse the repository at this point in the history
Update readme.md
  • Loading branch information
nielsfaber authored Feb 18, 2024
2 parents 070c0ee + 9e04168 commit 3f2a1c3
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
## 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).
It creates 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.
**Note:** This is a work-in-progress, so things may not work properly. Report issues when you find them.

## Installation
No HACS support yet, only manual installation possible
No HACS support yet, only manual installation is 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.
4. Click the 'configure' button to start 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 | |
| Controller | The device in your house that controls the boiler. | The controller can be of type `climate` or `switch`. |
| Zones | The device in your house which controls the areas. | The zones must be of type `climate`. |
| Maximum setpoint | Limits the maximum temperature setpoint that can be sent to the controller | |
| Controller delay time | Time it takes for the controller entity to be updated after a new setpoint is sent | Default is 10 seconds (most thermostats update almost instantly) |

## Switch entity
Expand All @@ -45,14 +45,14 @@ The `switch.zoned_heating` entity exposes the following attributes:
## Functionality

### Temperature override
The main goal of the zoned heating is to override the controller when one or more zone requests heat.
The main goal of the zoned heating is to override the controller when one or more zones request 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).
2. The zone with the highest temperature increase is considered dominant and will be used to operate the controller.
3. In case no zone is calling 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, its 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
Expand All @@ -61,16 +61,16 @@ If the override mode is stopped, the controller is restored to its setting (stat
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.
When the temperature setpoint of the controller entity is changed when override mode is active, this change is 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.

<u>Note</u>: after the zoned-heating integration has updated the setpoint of the controller, a manual change made to the controller within the time defined by the 'controller delay time' setting will not cause the restoration settings to be updated.
**Note:** after the zoned-heating integration has updated the setpoint of the controller, a manual change made to the controller within the time defined by the 'controller delay time' setting will not cause the restoration settings to be updated.

## 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.
* The override logic assumes that your zones can 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.

0 comments on commit 3f2a1c3

Please sign in to comment.