This component has been created to be used with Home Assistant.
⚠️ Use at your own risk!⚠️
You can write config parameters to your heatpump, altering it's efficiency and functionality.
Please be careful.
Based on Bouni/luxtronik / Bouni/python-luxtronik. ❤️
This component extends the original luxtronik component with automatic discovery of the heatpump und home assistant climate thermostat. The Luxtronik
integration lets you monitor and control heat pump units containing a Luxtronik controller. It is used by various manufacturers such as:
- Alpha Innotec
- Siemens Novelan
- Roth
- Elco
- Buderus
- Nibe
- Wolf Heiztechnik
This integration works locally. It's only necessary to connect the Luxtronik controller to your network using an ethernet cable. No additional hard- or software is needed.
- Installation
1.1 HACS (Recommended)
1.2 Manual installation - Adding Luxtronik
- Tips for using Luxtronik
3.1 Energy use
3.2 Additional sensors (advanced)
Add the custom repo to HACS
- Go to 'HACS > Integration'
- Select 'Custom repositories' from the top right menu
- Under Repository, enter 'https://github.com/BenPru/luxtronik'
- Under Category, select 'Integration'
- Click 'Add' The new integration will appear as a new integration and under 'Explore & Download Repositories' in the bottom right
Install the integration
- Click on the new integration or find it under 'Explore & Download Repositories' in the bottom right
- Select 'download' at the bottom right.
- Restart Home Assistant
Add the integration to Home Assistant
- Download the latest release of the Luxtronik integration from this repository
- In Home Assistant, create a folder 'config/custom_components'
- Add the Luxtronik integration to the 'custom_components' folder;
- Restart Home Assistant;
Install the integration
- Add the Luxtronik integration to Home Assistant (
Settings -> Devices & services -> Add integration
); - Restart Home Assistant;
Your heatpump should be autodiscovered by home assistant.
Press Configure
and follow the steps to the end.
'If auto discovery does not work, please give feedback with the first six chars of your luxtronik heatpump mac address, the original hostname, the manufacturer and model.
To add the heatpump manually go to Settings -> Devices & services -> Add integration
and add a new Luxtronik device.'
Select Configure and review the settings.
ℹ️ Ensure the IP address is static. This can be configured in your router.'
It's not always clear from the name alone what an entity exactly means and how it effects your heatpump. The main source of information is ofcourse the Luxtronik Operating Manual.
Another great source is FHEM - Luxtronik 2.0. It's in German so use Google Translate.
It contains details about the various parameters and how to use them to optimize your heatpump efficiency. Read carfully though. Make small incremental changes and monitor your progress in Home Assistant. You don't want to miss out on this information.
Not all heatpumps have build in electrical energy metering and instead only show the energy produced in heat, not the energy consumed in electricity. Adding a (strong) energy meter is a nice addition to measure the SCOP of your device. Shelly energy meters are recommended since they offer offer a 16A power plug and a variety of in-line or clamp energy meters with various protection mechanisms.
The most usefull sensors and parameters are created automaticly. But if you miss a sensor you can add it manually via yaml configuration like the original module from Bouni/luxtronik.
A short description of many of the available sensors can be found here Loxwiki - Luxtronik Java Web Interface
Take these files as a reference to figure ot which IDs to use:
- https://github.com/Bouni/python-luxtronik/blob/master/luxtronik/parameters.py
- https://github.com/Bouni/python-luxtronik/blob/master/luxtronik/calculations.py
- https://github.com/Bouni/python-luxtronik/blob/master/luxtronik/visibilities.py
In order to change parameters on the Luxtronik conroller, you can use the following service:
Domain: luxtronik2
Service: write
Service Data: {"parameter": "ID_Ba_Hz_akt", "value": "Automatic"}
- parameter
- description: ID of the parameter.
- type: string
- value
- description: Value you want to set the parameter to.
- type: [string, float]
Only a small number of the over 1100 parameters have a known funtion and only these can be written, these are:
ID_Ba_Hz_akt
The mode of operation of the heating circuit, possible values are "Automatic", "Second heatsource", "Party", "Holidays", "Off"ID_Ba_Bw_akt
The mode of operation of the hot water circuit, possible valus are "Automatic", "Second heatsource", "Party", "Holidays", "Off"ID_Soll_BWS_akt
The set point for hot water generation, for example 50.0 for 50.0°CID_Einst_BA_Kuehl_akt
The mode of operation of the cooling circuit, possible values are "Automatic", "Off"ID_Einst_KuehlFreig_akt
The outdoor temprature from wher on the cooling should start to operate, for example 24.0ID_Ba_Sw_akt
The mode of operation of the swimming pool heating circuit, possible values are "Automatic", "Party", "Holidays", "Off"ID_Einst_TDC_Max_akt
Max. temperature difference of the hot water buffer tank, for example 70.0ID_Sollwert_KuCft1_akt
Cooling set point for mixer circuit 1, for example 19.0ID_Sollwert_KuCft2_akt
Cooling set point for mixer circuit 2, for example 19.0ID_Sollwert_AtDif1_akt
Cooling working temperature difference 1, for example 5.0ID_Sollwert_AtDif2_akt
Cooling working temperature difference 2, for example 5.0ID_Ba_Hz_MK3_akt
The mode of operation of the heating mixer circuit 3, possible values are "Automatic", "Party", "Holidays", "Off"ID_Einst_Kuhl_Zeit_Ein_akt
Cooling outdoor temperature overrun, for example 0.0ID_Einst_Kuhl_Zeit_Aus_akt
Cooling outdoor temperature underrun, for example 0.0ID_Einst_Solar_akt
Mode of operation for solar heat generation, "Automatic", "Second heatsource", "Party", "Holidays", "Off"ID_Einst_BA_Lueftung_akt
Mode of operation of the integrated ventilation unit, posisble values are "Automatic", "Party", "Holidays", "Off"ID_Sollwert_KuCft3_akt
Cooling set point for mixer circuit 3, for example 20.0ID_Sollwert_AtDif3_akt
Cooling working temperature difference 3, for example 5.0
ℹ️ Before changing a parameter it smart to first read the current value and note it somewhere in case you want to set it back to its original value. All parameters can be configured as sensors and read that way.
The Luxtronik sensor platform allows you to monitor the status values of a heat pump unit controlled by a Luxtronik controller.
Sensors are read-only. To write to the heatpump, use the provided service Luxtronik Integration - Service.
To use a Luxtronik sensor in your installation, add the following lines to your configuration.yaml
file:
# Example configuration.yaml entry
sensor:
- platform: luxtronik2
sensors:
- group: calculations
id: ID_WEB_Temperatur_TVL
- group:
- description: Value group where the ID is located, possible values are
calculations
,parameters
,visibilities
. - required: false, if group is provided in id.
- type: string
- description: Value group where the ID is located, possible values are
- id:
- description: The id of the value or the group.id (
calculations
,parameters
,visibilities
). e.g. calculations.ID_WEB_Temperatur_TVL - required: true
- type: string
- description: The id of the value or the group.id (
- friendly_name:
- description: Sets a meaningful name for the sensor, if not provided the sensor will be named after the id,
sensor.luxtronik2_id_webemperatur_tvl
for example, otherwisesensor.luxtronik2_temperature_forerun
. - required: false
- type: string
- description: Sets a meaningful name for the sensor, if not provided the sensor will be named after the id,
- icon:
- description: Set an icon for the sensor
- required: false
- type: string
# Example configuration.yaml entry
sensor:
- platform: luxtronik2
sensors:
- group: calculations
id: ID_WEB_Temperatur_TVL
- id: calculations.ID_WEB_Temperatur_TVL
friendly_name: Temperature forerun
icon: mdi:thermometer
The Luxtronik binary sensor platform allows you to monitor the status values of a heat pump unit controlled by a Luxtronik controller.
Binary sensors are read-only. To write to the heatpump, use the provided service Luxtronik Integration - Service.
To use a Luxtronik binary sensor in your installation, add the following lines to your configuration.yaml
file:
# Example configuration.yaml entry
binary_sensor:
- platform: luxtronik2
sensors:
- group: calculations
id: ID_WEB_EVUin
- group:
- description: Value group where the ID is located, possible values are
calculations
,parameters
,visibilities
. - required: false, if group is provided in id.
- type: string
- description: Value group where the ID is located, possible values are
- id:
- description: The id of the value or the group.id (
calculations
,parameters
,visibilities
). e.g. calculations.ID_WEB_Temperatur_TVL - required: true
- type: string
- description: The id of the value or the group.id (
- friendly_name:
- description: Sets a meaningful name for the sensor, if not provided the sensor will be named after the id,
sensor.luxtronik2_id_web_evuin
for example, otherwisesensor.luxtronik2_utility_company_lock
. - required: false
- type: string
- description: Sets a meaningful name for the sensor, if not provided the sensor will be named after the id,
- icon:
- description: Set an icon for the sensor
- required: false
- type: string
- invert:
- description: Inverts the value
- required: false
- type: boolean
- default: false
# Example configuration.yaml entry
binary_sensor:
- platform: luxtronik2
sensors:
- group: calculations
id: ID_WEB_EVUin
- id: calculations.ID_WEB_EVUin
friendly_name: Utility company lock
icon: mdi:lock