Skip to content
forked from foxy82/warmup4IE

Home Assistant integration for Warmup heating thermostats as a HACS integration or a custom component

License

Notifications You must be signed in to change notification settings

ha-warmup/warmup

 
 

Repository files navigation

Introduction

This software is a Custom Component to integrate Warmup under-floor heating devices into Home Assistant. It is compatible with the Home Assistant Community Store (HACS).

hacs_badge

Warmup Plc manufacture under-floor heating (UFH) and control systems, including a range of wifi-enabled home thermostats. Some of these thermostats, such as the 4IE and 6IE, have an API. This software enables communication via this API, and allows Home Assistant to read and control the supported devices, using a python script to perform the integration.

You may install this integration from the Home Assistant Community Store (HACS), or continue reading below for instructions on the manual installation of this component.

License

This software is published under Apache 2.0 license. Please see LICENSE.md.

Usage

The library is primary intended to interface the 4IE with home assistant, but may also be used standalone.

Register with My Warmup

Before you can use this component, you need to register for a Warmup account. See https://my.warmup.com/login

Home Assistant Community Store

If you have HACS installed, then use this button

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Alternatively Explore HACS Repositories and search for warmup

See more detailed instuctions on installing warmup in HACS

Manual installation

Here are instructions for you to install this software as a Custom Component that is manually included in a Home Assistant Core installation (manual using Python virtual environment).

Install custom component

You need to copy the contents of the custom_components/warmup subfolder into in your HA config folder, e.g.:

cd path/to/your/config

git clone https://github.com/ha-warmup/warmup.git /tmp/warmup

# remove any previous version
rm -r ./custom_components/warmup 2>/dev/null
mkdir -p ./custom_components/warmup
cp -r /tmp/warmup/custom_components/warmup/* ./custom_components/warmup
# clean up
rm -rf /tmp/warmup/

alternative versions

If you are testing a specific branch, like dev, then you would git clone -b dev https...etc to get the branch you need.

In the unlikely event that you cannot manually install the HACS compatible version of this custom component, you may go back to the last release before HACS compatibility, Release v23.02. Please refer to the README inside that source file for the legacy commands to deploy the custom component manually.

Warnings in logs

Note that once you have successfully deployed the custom component and restarted you Home Assistant, you should see the following warning in the logs:

WARNING [homeassistant.loader] 
We found a custom integration warmup which has not been tested by Home Assistant. 
This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

This is a positive sign, as it means the custom component has been successfully loaded. Great! - now carry on.

Configuration

Add the warmup platform manually via YAML

Then add to your configuration.yaml:

climate:
  - platform: warmup
    username: YOUR_E_MAIL_ADDRESS
    password: YOUR_PASSWORD
  • username (required): the username used to login to the warmup web site
  • password (required): the password used to login to the warmup web site; may be moved to the secrets.yaml file. See secrets

After restarting home assistant, the component will be loaded automatically.

Tip when changing config

If you are winding up having to do multiple restarts because Home Assistant won't shutdown with the updated config file (because when it checks the config file, integration warmup not found) you can get around that by using the CLI command ha core restart.

Alternatively, with the menu restructuring, the menu entry for Stop Server isn't accessible. However you can use the keyboard short cut 'c' and type restart to find that choice. Once the server has stopped you can move the config entry in and do a ha core start

Debugging flags

If you do encounter issues, here are the logger settings in the Home Assistant configuration file you use to set debug or other levels of logging.

logger:
  default: warning
  logs:
    custom_components.warmup.climate: debug
    custom_components.warmup.warmup4ie.warmup4ie: debug

Add your devices to the dashboard

Our wiki has some ideas on how to configure warmup devices in your Home Assistant instance.

Other installation types

We do not currently have instructions for using this software as a Custom repository for Home Assistant Operating System (HAOS) or Home Assistant Container deployments, but you are welcome to use our issue tracker to discuss any potential improvements to this project.

Standalone

OLD instructions

You may install the library via pip using

>>> pip install warmup4ie

After that, import the library, and away you go.

>>> import warmup4ie
>>> warmup = warmup = warmup4ie.Warmup4IE('<e-mail>', '<password>',
>>> warmup.get_all_devices()
>>> device = warmup.get_device_by_name(\"Underfloor\") 
>>> device.get_current_temperature()

Status

Supported models

  • 4IE
    • this is the device for which this project was launched, so has reasonable support
  • 6IE
    • this newer device has shown teething issues here, but seems to work with some caveats
    • try keeping your wifi network SSID length <= 32 characters and password <= 15 characters
    • you cannot set it up as 'living room', but you can choose 'kitchen' and change through the warmup web interface
    • please see 6ie Thermostat compatibility issues #33 for details

Note that some models may not have comma on the keyboard, which may also limit your choice of wireless network SSID and Password.

Supported Features

At the moment the library supports reading current temperature, target temperature plus other values from the thermostat and setting the target temperature, switching between manual, automatic and frost protection mode, switching the device off, and setting a temporary override.

For further information on versions please see the CHANGELOG

Find out more

There is more detailed documentation on the API and the information returned from the device on the documentation wiki. If you have issues using this software then please check our Issue list and if someone else has not already, then do raise a new issue. If you wish you become more involved with the project then please see our guide to contributing.

ha-warmup is an independent project

Please note that Warmup Plc were not involved in the creation of this software. We do, however, acknowledge their ownership of registered trademarks relating to their brand and products.

History

Many Thanks to all the contributors helped us get here!

Originally inspired by @alyc100's project for SmartThingsHub here, this code is derived from some great work by @alex0103 to create a Home Assistant Custom Component and Python Package. That has been improved by a number of coders, notably @foxy82, with valuable contributions and support from @artmg, @rct, @robchandhok, @kkoenen.

Thank you to the community who continue to be involved with and support this project, and encourage others to use it.