Skip to content

Latest commit

 

History

History
214 lines (134 loc) · 15.4 KB

README.md

File metadata and controls

214 lines (134 loc) · 15.4 KB

Home Assistant Integration for Waterkotte Heatpumps [+2020]

logo

This Home Assistant Integration is providing information from the German heatpump pioneer Waterkotte. In addition and where possible functions are provided to control the system.

Please note, that this integration is not official and not supported by the Waterkotte development team. I am not affiliated with Waterkotte in any way.

All data will be fetched (or send) to your Waterkotte via the build in webserver of the unit. So the functionality is based on the data and settings that are available also via the frontend that you can directly access via a web-browser.

hacs_badge github BuyMeCoffee PayPal hainstall

This component will set up the following platforms

Platform Description
binary_sensor Show something True or False.
sensor Show info from Waterkotte Heatpump API.
switch Switch something True or False.
select Select a value from options.
number adjustable Temperatures (demanded or heating curves)
service Provides services to interact with heatpump

Disclaimer

Please be aware, that we are developing this integration to best of our knowledge and belief, but cant give a guarantee. Therefore, use this integration at your own risk.

What you can get [with Version 2024.3.0 (or higher)]

sampleview

[Get the sources for the sample dashboard_above] - Please note, that this sample dashboard makes use of the custom multiple-entity-row frontend integration that need to be installed separately.

Setup / Installation

if you have installed the previous version of the waterkotte integration from me (marq24) - please follow the migration guide.

Step I: Install the integration

Option 1: via HACS

  • Install Home Assistant Community Store (HACS)
  • Add integration repository (search for "Waterkotte Heatpump [+2020]" in "Explore & Download Repositories")
  • Use the 3-dots at the right of the list entry (not at the top bar!) to download/install the custom integration - the latest release version is automatically selected. Only select a different version if you have specific reasons.
  • After you presses download and the process has completed, you must Restart Home Assistant to install all dependencies
  • Setup the custom integration as described below (see Step II: Adding or enabling the integration)

Option 2: manual steps

  • Copy all files from custom_components/waterkotte_heatpump/ to custom_components/waterkotte_heatpump/ inside your config Home Assistant directory.
  • Restart Home Assistant to install all dependencies

Step II: Adding or enabling the integration

You must have installed the integration (manually or via HACS before)!

Option 1: My Home Assistant (2021.3+)

Just click the following Button to start the configuration automatically (for the rest see Option 2: Manually steps by step):

Open your Home Assistant instance and start setting up a new integration.

Option 2: Manually steps by step

Use the following steps for a manual configuration by adding the custom integration using the web interface and follow instruction on screen:

  • Go to Configuration -> Integrations and add "Waterkotte" integration
  • Provide the IP address (or hostname) of your Waterkotte Heatpump web server
  • Select the Interface-Type of your Waterkotte (see table below)
  • Select the number of TAGs that can be fetched in a single call to your device (older devices might need to adjust this value - for my in 2022 installed Waterkotte 75 is totally fine)
  • Provide area where the heatpump is located

General additional notes

After the integration was added you can use the 'config' button to adjust your settings and you can additionally modify the update intervall

Please note, that most of the available sensors are not enabled by default.

EcoTouch or EasyCon Mode - How to decide?

Please take a look at the different login options and compare with your waterkotte in order to decide, what mode you must select for the integration (sorry only german example screens here)

EcoTouch EasyCon
web login form browser basic-auth

Don't get confused! The EcoTouch web login for newer Waterkotte models shows the text EasyCon - but when there is a webpage where you must enter the login credentials, then you must select the EcoTouch Mode for this integration!

Services

The Integration provides currently 5 services:

Setting dates & times

SET_HOLIDAY

To set the times for the holiday mode use the provided service waterkotte_heatpump.set_holiday and set start and end parameter.

SET_DISINFECTION_START_TIME

To set the water disinfection start time (HH:MM) use the provided service waterkotte_heatpump.set_disinfection_start_time and set starthhmm parameter (seconds will be ignored).

SET_SCHEDULE

When using the service, first select the schedule (type) you want to adjust [Heating, Cooling, Hot Water, Mixer 1-3, Pool, Buffer Tank Circulation Pump, Solar Control, Photovoltaic], select then the start time and the end time, enable/disable the schedule and select the days you would apply the setting.

Additionally, it's possible to specify the Adjustment I and the Adjustment II options. Please be a bit patient when using the Service since there are approx. 100 different tags that have to be written to the heatpump when you apply adjustments for all 7 days.

Please note also, that I did not find a way (yet) to load the current values of the entities into the 'Set a Schedule' dialog. So when adjusting the values via the service you do not see the current values of the fields.

Get Energy Balance

GET_ENERGY_BALANCE

Retrieves the overall energy consumption data for the year

GET_ENERGY_BALANCE_MONTHLY

Retrieves the monthly breakdown energy consumption data for a moving 12 month window. 1 = January, 2 = February, etc...

Waterkotte schedule adjustment support

Introduction

With this the integration it will be possible to adjust the Waterkotte Schedules for:

  • Heating
  • Cooling
  • Hot Water
  • Mixer 1, Mixer 2 & Mixer 3
  • Pool
  • Buffer Tank Circulation Pump
  • Solar Control (without adjustment I & adjustment II)
  • Photovoltaic (without adjustment I & adjustment II)

The easiest way to adjust a schedule is via the 'Set Schedule' Service that can be found in your HA installation. Only via the service it's possible to adjust the start and end times.

When you want to use/display schedule settings in your HA dashboards or use them in your automations you must enable the optional schedule entities [in the configuration of the integration]. But be smart - only add these additional entities if you really need them. If they are added once it's quite tricky to get rid of them again. Please read further to get additional information about the amount of additional schedule entities that will be added to your HA installation.

Calculating the amount of additional entities

For each of the Schedules there are per day:

  1. One switch to turn ON/OFF the schedule
  2. Two switches to turn ON/OFF adjustment I & II
  3. Two values for each of the adjustments (+/- 10°K)
  4. Three start times (one for the schedule, and two for the adjustments)
  5. Three end times (one for the schedule, and two for the adjustments)

This makes a total of 11 Sensor-Entities per day - each Schedule consist obviously of 7 days - so for each of the schedules above 77 Sensor-Entities will be available (even if added - all are disabled by default).

This will result in a total of 659 additional (new) Sensor-Entities in order to support all Schedules - yes this is not a typo! SIX HUNDRED FIFTY-NINE!

So please only add the additional sensors if the use of the 'set schedule service' is not sufficient for your use case. The service can make all the adjustments to your Waterkotte schedules, without the need of having the additional sensor entities added.

Migration Guide

This is the new version of the previous 'ha-waterkotte' repository (which have now been renamed to ha-waterkotte-the-fork). After the refactoring process have been completed, I have decided to create an independent repository - since the refactored version does not have much in common with the origin sources.

Unfortunately HACS does not 'like' renaming of repositories, so you have to perform few steps in order to upgrade your home assistant installation to the latest ha-waterkotte integration version - sorry for this inconvenience!

How to migrate to the new integration version

  1. make a backup (just in case)

  2. go to HACS menu of your home assistant installation

  3. remove the (old) custom HACS repository 'https://github.com/marq24/ha-waterkotte'

    (This step will/should remove the Waterkotte Integration entry from the list of installed HACS Integrations)

  4. add the new repository 'https://github.com/marq24/ha-waterkotte' to HACS

  5. install the waterkotte integration to your local HACS

  6. restart your home assistant system

YES - this procedure sounds totally silly - but HACS stores a custom-id for each repository - And since I have decided to rename the old repository which base on the work from pattisonmichael to 'https://github.com/marq24/ha-waterkotte-the-fork' and created an independent repository, this procedure is necessary in order to be notified about any future updates.

Troubleshooting

Sessions

The Heatpump only allows 2 sessions and there is no way to close a session. Sometimes you will get an error about the login. Just wait a few minutes and it should autocorrect itself. Session usually time out within about 5 min.

Stale Data

The Heatpump will not always respond with data. This happens usually after the system changes status, e.g. start/stop the heating. There is not much we can do about this, unfortunately. I try to cache the data in possible for a better UX.

Credits & Kudos

who what
@pattisonmichael This project was initially forked from Waterkotte-Integration by pattisonmichael (but both projects drifted apart over time - so this repo is now independent).
@chboland Christian Boland created a Python Waterkotte library https://github.com/chboland/pywaterkotte which was forked by @pattisonmichael pywatterkotte library, so this integration is also based on the work from @chboland.
@oncleben31 The forked original project was generated via the Home Assistant Custom Component Cookiecutter template.
@Ludeeus The forked original code template was mainly taken from the integration_blueprint template

Advertisement / Werbung - alternative way to support me

Switch to Tibber!

Be smart switch to Tibber - that's what I did in october 2023. If you want to join Tibber (become a customer), you might want to use my personal invitation link. When you use this link, Tibber will we grant you and me a bonus of 50,-€ for each of us. This bonus then can be used in the Tibber store (not for your power bill) - e.g. to buy a Tibber Bridge. If you are already a Tibber customer and have not used an invitation link yet, you can also enter one afterward in the Tibber App (up to 14 days). [see official Tibber support article]

Please consider using my personal Tibber invitation link to join Tibber today or Enter the following code: 6o0kqvzf (six, oscar, zero, kilo, quebec, victor, zulu, foxtrot) afterward in the Tibber App - TIA!