Skip to main content

Smart boiling of household

Project description

SMARTBOILER

This is a README for the smartboiler library, used in a Home Assistant Add-On to decrease energy usage for heating water in a boiler. This is achieved by learning household consumption trends and heating water above the emergency temperature just before predicted consumption.

Recursive link to the GitHub repository: https://github.com/grinwi/smartboiler.

What's it all about?

This project was undertaken as a master's thesis at FIT VUT Brno. The goal was to find a solution for cutting costs by predicting household inhabitants' behavior with machine learning. Machine learning was utilized to train an LSTM network on historical data from a smart home. Based on the prediction of heat consumption from the water boiler, the algorithm included in class Control achieves a reduction in the average temperature of the water in the boiler, lowering energy losses, and the energy needed to deliver heat into the boiler. The method control() from this class is called in infinite loop of the main section in controller.py script. This is achieved also in cooperation with classes DataHandler which provides data for training model and retrieving actual stats, class Forecast for training LSTM model for prediction and getting the prediction for the next 6 hours, class EventChecker which is in charge of getting events from Google Calendar, class Photovoltaics for communicating with Solax Cloud API and getting information for function to optimize the usage of the additional power generated by the powerplant.

This solution assumes that the user has a boiler whose heating can be controlled by a Shelly smart plug https://www.shelly.com/en/products/shop/shelly-plus-1-pm. Another requirement is a Home Assistant running in the required household with an InfluxDB database, which stores household data as well as weather information, the presence of devices via NMAP https://www.home-assistant.io/integrations/nmap_tracker/ integration, and a flow meter with a temperature sensor placed on the output of the boiler. Another temperature sensor must be placed inside the boiler casing to control the heating based on the water temperature in the boiler. The data from the smart home must be collected into a time series database InfluxDB, for which can be used the Home Assitant Add-On https://www.home-assistant.io/integrations/influxdb/.

Users can also utilize their Google Calendar to turn off the heating, for example, when they are on holiday. Another function using the calendar is heating to a needed temperature when unusually high consumption is expected. This can be achieved by copying Google calendar API token as token.json to /app folder of the Add-On retrieved by this manual: https://developers.google.com/calendar/api/guides/overview

The Home Assistant Add-On repository can be found at this address: https://github.com/grinwi/smartboiler-add-on.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smartboiler-0.1.2.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smartboiler-0.1.2-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file smartboiler-0.1.2.tar.gz.

File metadata

  • Download URL: smartboiler-0.1.2.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for smartboiler-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ee27e3c122ab8353c02d163989b3118ca2ab05a5d66532f17cbd5de2ab9f0be9
MD5 c9f5c0ee4a11de6b37f2cd870746d48b
BLAKE2b-256 d8eaca1766bd130beda29ed061e428cc2c6912e8bd97c22e2ee7ecf14d816da6

See more details on using hashes here.

File details

Details for the file smartboiler-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: smartboiler-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for smartboiler-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8fd27b87f7b8d519e1c895a792e11bf4ce5a5568d2567f4c93fb61d9f0f70b04
MD5 203f0f6733fcf9e5f30b77d3a51907c1
BLAKE2b-256 bda1aa4cdd5863c5b02cafd112a678fdfdb29771350e69a26da947926cf7385b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page