elden1337 / hass-peaqhvac

Home Assistant custom component to help hvac-systems stay below peak hourly energy levels and prioritize cheap hours to heat your home.
Other
7 stars 2 forks source link
homeassistant nibe peak-shaving smart-pricing

2024-10-08

Dear Peaquser,

After three years of open source in these projects, I am about to set sail on the next leg of my journey. I will soon start a job where I will work with adjacent technology, and thus will seize to update the repos with new features. This is to not be questioned regarding IP going forward.

For the time being I want to let the codebases stay online, and will accept pull requests and occasionally do patch updates and bug fixes to > keep the solutions running. However, I will not take part in general feature discussions any longer, starting from 2024-12-01.

If you wish you may fork the projects and create features that you send me as pull requests. That way we can keep the flow going without > my direct interference in the inventions. For any usage not covered by the general download by hacs, look towards the license on the repos for guidance. Here's a snapshot of what > the licenses on my code requires: https://creativecommons.org/licenses/by-nc-nd/4.0/deed.en

Thanks for all engagement and happy to have helped a bunch of people with this spare time invention of mine. //Magnus

Peaq_downloads hass-peaqhvac_downloads Paypal BuyMeACoffee Discord

Peaqhvac

PeaqHvac is a custom component for Nibe F-series users. As of 2022-12-20 the tested versions are exhaust-air pumps F730 and F750, but it probably works fine with other similar ones as well. In future releases other brands might be added.

Because of the slow response from the Nibe Uplink-api, calls are made somewhat prematurely to try and correct for this lag. If peakshaving is active (requires PeaqEv) this means that peaks sometimes cannot be avoided completely, but rather lessened in their emphasis.

Preparations

Nibe

Nibe clients will need to have an uplink premium subscription in order to be able to manipulate the Hvac remotely.

It is required to have at least this setup in your configuration.yaml:

nibe:
  systems:
    - system: 1234567890
      sensors:
        - 40995
        - 40997
        - 47206

Integrations used

Required:

Optional:

Installation

Required to install is Home Assistant version 2023.10.5 or higher.

Preferred if you have HACS installed is to search for Peaqhvac there.

Otherwise you may:

Configuration

There are a few options when configuring PeaqHvac:

Name Description
Hvac systemid The provided system-id from your vendor. For Nibe F-series this is often a five digit number.
Temp sensors indoors Your indoor temp sensor(s). Added as sensor.my_sensor. Comma-separated if many.
Temp sensors outdoors Your outdoor temp sensor(s). Added as sensor.my_sensor. Comma-separated if many.
Stop heating temp The outside temp where you never want Peaqhvac to start heating
Very cold temp A very cold outside temp in your area, where Peaqhvac should start acting differently to save energy. Not recommended to put value below -10C here.
Nonhours waterboost A selectable list of hours where you never wish to have a water-boost conducted (not operational)
Low DM-value A number somewhere in between your Compressor-start and Electric addon start. Lower than this and Peaqhvac will take extra steps to conserve energy

Functions

Heating

PeaqHvac works with the common peaqevcore-library which is also used by PeaqEv to calculate good and bad hours of operation. What comes out of that is a set of offsets for today (and tomorrow if available) that are used to tune your hvac up/down accordingly. After this calculation several things do happen, depending on the number of temperature-sensors used, if you want peak-shaving or not and if you have set up weather integration.

  1. Weather: If peaqhvac detects an anomaly of more than 2.5C in the coming three hours from now, it will adjust the offset to pre-heat/pre-cold and make the curve more lean
  2. Temp diff: Depending on your mode of operation, PeaqHvac is more or less forgiving towards temperature-changes. Normal operation for instance has a tolerance of -0.2C and +0.4C. These tolerances may also change depending on the base-offset. If the current indoor-temp breaches these thresholds, temp-diff will add/remove steps from the offset.
  3. Temp trend: If the current trend of temperatures indoors tells the system that within an hour, it will breach the tolerances descired above, this function will add/remove steps.

Key functions that do occur occasionally:

Water

The included logic for water heating temp is not self learning, but is adjusting to a number of factors. Should you require water at a specific time, you may override the boost with the myuplink service calls. The boost may require multiple runs to heat to your desired temp depending on your current peak energy level. The boost signals when it is about to start both in the frontend, and through the HA servicebus to warn other integrations if they are listening (such as PeaqEV).

Included sensors

Climate

climate.peaqhvac_climate_control

Set your desired temperature with this climate-control, in steps of half-degrees from 15-27C. There are presets available in this sensor that you may set by automations or manually. They have different characteristics:

Sensors

Switches