Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix typos #37

Merged
merged 1 commit into from
Jun 20, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# PROGRAMMABLE THERMOSTAT
This component is a revision of the official Home Assistant component 'Generic Thermostat' in order to have possibility to have target temperature variable according to a sensor state value.
This component is a revision of the official Home Assistant component 'Generic Thermostat' to have the possibility to have the target temperature vary according to a sensor state value.

## HOW TO INSTALL
Use HACS to install the custom component and configure it through the user interface (settings/integration) to have easy and smooth usage.

If you are for the manual method:
Just copy paste the content of the `climate.programmable_thermostat/custom_components` folder in your `config/custom_components` directory.

As example you will get the '.py' file in the following path: `/config/custom_components/programmable_thermostat/climate.py`.
For example, you will get the '.py' file in the following path: `/config/custom_components/programmable_thermostat/climate.py`.

## EXAMPLE OF SETUP
Config flow is available, so just configure all the entities you want through the user interface.
Expand Down Expand Up @@ -42,41 +42,41 @@ cooler | | *Conditional* | Switch that will activate/deactivate the cooling sys
actual_temp_sensor | | *Required* | Sensor of actual room temperature.
min_temp | 5 | Optional | Minimum temperature manually selectable.
max_temp | 40 | Optional | Maximum temperature manually selectable.
target_temp_sensor | | *Required* | Sensor that rapresent the desired temperature for the room. Suggestion: use my [`file_restore`][1] compontent or something similar.
target_temp_sensor | | *Required* | Sensor that represent the desired temperature for the room. Suggestion: use my [`file_restore`][1] component or something similar.
tolerance | 0.5 | Optional | Tolerance for turn on and off the switches mode.
initial_hvac_mode | `heat_cool`, `heat`, `cool`, `off` | Optional | If not set, components will restore old state after restart. I suggest to not use it.
related_climate | | Optional | To be used if the climate object is a slave of an other one. below 'Related climate' chapter a description.
hvac_options | 7 | Optional | This define which combination of manual-auto-off options you want to active. Refer to chapter below for the value.
auto_mode | `all`, `heating`, `cooling` | Optional | This allows to limit the the heating/cooling function with HVAC mode HEAT_COOL.
min_cycle_duration | | Optional | TIMEDELTA type. This will allow to protect devices that request a minimum type of work/rest before changing status. On this you have to define hours, minutes, seconds as son elements.
initial_hvac_mode | `heat_cool`, `heat`, `cool`, `off` | Optional | If not set, components will restore old state after restart. I suggest not to use it.
related_climate | | Optional | To be used if the climate object is a slave of another one. below 'Related climate' chapter a description.
hvac_options | 7 | Optional | This defines which combination of manual-auto-off options you want to activate. Refer to the chapter below for the value.
auto_mode | `all`, `heating`, `cooling` | Optional | This allows limiting the heating/cooling function with HVAC mode HEAT_COOL.
min_cycle_duration | | Optional | TIMEDELTA type. This will allow protecting devices that request a minimum type of work/rest before changing status. On this, you have to define hours, minutes and/or seconds as son elements.

## SPECIFICITIES
### TARGET TEMPERATURE SENSOR
`target_temp_sensor` is the Home Assistant `entity_id` of a sensor which state change accrodingly a specified temperature profile. This temperature profile should described the desired temperature for the room each day/hour.
`target_temp_sensor` must have a temperature value (number with or without decimal) as state.
`target_temp_sensor` is the Home Assistant `entity_id` of a sensor which' state change accordingly a specified temperature profile. This temperature profile should describe the desired temperature for the room each day/hour.
`target_temp_sensor` must have a temperature value (a number with or without decimal) as a state.

Suggestion: use my [`file_restore`][1] custom components.

### ADDITIONAL INFO
Programmed temperature will change accordingly to the one set by the `target_temp_sensor` when in `heat_cool` mode. You can still change it temporarly with the slider. Target temperature will be set, again, to the one of `target_temp_sensor` at its first change.
`heat` and `cool` modes are the manual mode; in this mode the planning will not be followed.
The programmed temperature will change accordingly to the one set by the `target_temp_sensor` when in `heat_cool` mode. You can still change it temporarily with the slider. Target temperature will be set, again, to the one of `target_temp_sensor` at its first change.
`heat` and `cool` modes are the manual mode; in this mode, the planning will not be followed.

After a restart of Home Assistant, room temperature and planned room temperature will match till `actual_temp_sensor` will return a temperature value.
This is done to avoid possible issues with Homekit support with temperature sensor that need some time to sync with Home Assistant.
This is done to avoid possible issues with Homekit support with a temperature sensor that needs some time to sync with Home Assistant.

### RELATED CLIMATE
This field is used if the climate 2 climate object are related each other, for example if they used the same heater.
This field is used if the climate-to-climate objects are related to each other, for example, if they use the same heater.
Set this field with the `entity_id` with a different climate object and this will prevent the heater/cooler to be turned off by the slavery climate if the master one is active.

For example I have 2 climate objects, one for the room and one for the boiler.
Boiler's climate is used to prevent freezing and, if the temperature is lower the the programmed one, room heater is turned on.
This means that, if the room's heater is on and boiler's heater is off, boiler will turn off the heater despite the room one.
With this `master_climate` field this unwanted turn off will not happen.
For example, I have two climate objects, one for the room and one for the boiler.
The boiler's climate is used to prevent freezing and, if the temperature is lower than the programmed one, the room heater is turned on.
This means that, if the room's heater is on and the boiler's heater is off, the boiler will turn off the heater despite the room climate demands heat.
With this `master_climate` field this unwanted turn-off will not happen.

Note: my suggestion is to set it to both climates that are related each other.
Note: my suggestion is to set it to both climates that are related to each other.

### HVAC OPTIONS
This parameter allows you to define which mode you want to activate for that climate object. This is a number with a meaning of each single bit. Here below the table.
This parameter allows you to define which mode you want to activate for that climate object. This is a number with a meaning of every single bit. Here below the table.

bit3 - AUTOMATIC | bit2 - MANUAL | bit1 - OFF | RESULT | Meaning
--- | --- | --- | --- | ---
Expand All @@ -89,13 +89,13 @@ bit3 - AUTOMATIC | bit2 - MANUAL | bit1 - OFF | RESULT | Meaning
1 | 1 | 0 | 6 | AUTOMATIC and MANUAL
1 | 1 | 1 | 7 | DEAFAULT - Full mode, you will have active all the options.

### HEATERS AND COOLER SPECIFITIES
### HEATERS AND COOLER SPECIFICS
From version 7.6 you will be able to set `heaters` and `coolers` to the same list and you'll get the correct way of work in manual mode.
This means that `heat` and `cool` mode will work correctly with the same list, but `heat_cool` mode will not (otherwise you will not be able to switch the real device between the 2 modes).
My suggestion is to set `hvac_options: 3` to remove the auto mode.

## NOTE
This component has been developed for the bigger project of building a smart thermostat using Home Assistant and way cheeper then the commercial ones.
This component has been developed for the bigger project of building a smart thermostat using Home Assistant and way cheaper than the commercial ones.
You can find more info on that [here][3]

***
Expand Down