Git Product home page Git Product logo

virtual_thermostat's Introduction

GitHub Release GitHub Activity License hacs BuyMeCoffee

Component based upon the virtual thermostat project (https://github.com/dadge/virtual_thermostat).

This custom component for Home Assistant solves a very specific use case, and you will probably not need this. Some hardware thermostats come without presets. This component creates a virtual thermostat with presets and will execute a continuous two-way sync of status and setpoint between the hardware thermostat and the virtual thermostat.

How Generic thermostat behaves with modes :

Basically, the generic thermostat handle two preset mode : AWAY and NONE. When AWAY mode is set, the thermostat will set the tempaerature with the away temperature defined in the yaml configuration. When NONE is selected, the temperature set is saved. Every time you set the mode as NONE, the temperature will be automatically set with the saved value. If you want to change the saved value, set the mode to NONE, set the deisred temperature, and that's it.

How Virtual Thermostat behaves with modes and additional feature

Define by default all the modes defined in the climate specs : https://developers.home-assistant.io/docs/core/entity/climate#presets The virtual thermostat reproduce the behavior of the mode NONE in generic thermostat and extend it to all the modes :

  • Pick a mode

image

  • Set a temperature

image

  • That's it ! The temperature is saved for this mode.
  • Reproduce the previous step to update the temperatures / set other modes

Minimum requirements

  • This implementstion can override or superseed the core generic thermostat

Installation

HACS installation

  1. Install HACS. That way you get updates automatically.
  2. Add this Github repository as custom repository in HACS settings.
  3. search and install "Virtual Thermostat" in HACS and click install.
  4. Modify your configuration.yaml as explain below.
  5. Restart Home Assistant.

Manual installation

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called virtual_thermostat.
  4. Download all the files from the custom_components/virtual_thermostat/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Modify your configuration.yaml as explain below
  7. Restart Home Assistant

Configuration

In the following examples we are assuming that you know how to configure a generic thermostat (if not please have a look at : https://www.home-assistant.io/integrations/generic_thermostat/ ) and we will just highlight the differences in the configuration to apply.

climate:
  - platform: virtual_thermostat
    name: Study
    heater: switch.study_heater
    target_sensor: sensor.study_temperature

If you had already configure a generic thermostat the onli changes you have to do are the following :

  • platform must be changed from generic_thermostat to virtual_thermostat
  • away_temp must be removed

Even Better with Scheduler Component !

In order to enjoy the full power of virtual thermostat, I invite you to use it with https://github.com/nielsfaber/scheduler-component Indeed, the schdeuler component porpose a management of the climate base on the preset modes. This feature has limited interest with the generic thermostat but it becomes highly powerfull with Virtual thermostat :

Starting here, I assume you have installed Virtual Thermostat and Scheduler Component.

In Scheduler, add a schedule :

image

Choose "climate" group, choose one (or multiple) entity/ies, select "MAKE SCHEME" and click next : (it is possible to choose "SET PRESET", but I prefer to use "MAKE SCHEME")

image

Set your mode scheme and save :

image

In this example I set ECO mode during the night and the day when nobody's at home BOOST in the morning and COMFORT in the evening.

I hope this example helps you, don't hesitate to give me your feedbacks !

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines


virtual_thermostat's People

Contributors

dadge avatar paalkr 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.