Code Monkey home page Code Monkey logo

drey's People

Contributors

ccitro avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

drey's Issues

Desired Temp Rounding

Background

When trying to pick what temperature to set the thermostat to, Drey looks at the temperature difference between the thermostat's sensor, and the most demanding room's sensor. That difference is a decimal number, but Nest only allows setting temperatures with integer precision.

Problem

Currently Drey uses standard rounding rules to pick a temperature to set the thermostat to. However this often means that the HVAC will stop while the most demanding room is still about 1/2 a degree off of the target temperature.

Fix

Instead of rounding, use either floor or ceiling depending on if the system is in heating or cooling mode. This may cause the system to overshoot the temperature, but at least the target temperature is met.

Thermostat Temperature

Currently, the thermostat temperature is read from the thermostat entity attributes. This is rounded to integer precision, but the actual sensor entity for the thermostat has 1 decimal point precision.

When calculating the desired thermostat setting, the difference from the "demanding sensor" temperature, and the thermostat's temperature is required. For the best calculation, the thermostat temperature with the highest precision should be used.

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.