Writing a component for Luxtronik Heatpumps

Hi Bouni,

when is the official release?

thanks again

Today I tried to install the new version after my card broke in my raspberry 3 ;-(.
I load the hass.io image for testing. Now is have 0.100.2 running.
But is can´t use the luxtronic componet 2.2 or 2.3.
i get this error.

2019-10-20 09:43:17 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.luxtronik. Make sure all dependencies are installed
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/loader.py”, line 346, in _load_file
module = importlib.import_module(path)
File “/usr/local/lib/python3.7/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1006, in _gcd_import
File “”, line 983, in _find_and_load
File “”, line 967, in _find_and_load_unlocked
File “”, line 677, in _load_unlocked
File “”, line 728, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/luxtronik/init.py”, line 6, in
from luxtronik.calculations import Calculations
ModuleNotFoundError: No module named ‘luxtronik.calculations’
2019-10-20 09:43:19 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.luxtronik. Make sure all dependencies are installed
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/loader.py”, line 346, in _load_file
module = importlib.import_module(path)
File “/usr/local/lib/python3.7/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1006, in _gcd_import
File “”, line 983, in _find_and_load
File “”, line 967, in _find_and_load_unlocked
File “”, line 677, in _load_unlocked
File “”, line 728, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/luxtronik/init.py”, line 6, in
from luxtronik.calculations import Calculations
ModuleNotFoundError: No module named ‘luxtronik.calculations’
2019-10-20 09:43:22 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.luxtronik. Make sure all dependencies are installed
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/loader.py”, line 346, in _load_file
module = importlib.import_module(path)
File “/usr/local/lib/python3.7/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1006, in _gcd_import
File “”, line 983, in _find_and_load
File “”, line 967, in _find_and_load_unlocked
File “”, line 677, in _load_unlocked
File “”, line 728, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/luxtronik/init.py”, line 6, in
from luxtronik.calculations import Calculations
ModuleNotFoundError: No module named ‘luxtronik.calculations’
2019-10-20 09:43:22 ERROR (MainThread) [homeassistant.config] Platform error: sensor - Integration ‘luxtronik’ not found.
2019-10-20 09:43:23 ERROR (MainThread) [homeassistant.setup] Setup failed for luxtronik: Integration not found.
2019-10-20 09:43:23 ERROR (MainThread) [homeassistant.config] Platform error: binary_sensor - Integration ‘luxtronik’ not found.

The System creates an Folder in custom_components\luxtronik
with the name: __pycache__ .

and a file in it with the Name : __init__.cpython-37.pyc

If i use the old Version from Luxtronic_Componets 0.04.
All works Good and i get Values from the HeatPump.

Hi everyone,
sorry for the long silence.

I fixed some isues with the luxtonik module @mastermarkush and @Volti-Ba

@Volti-Ba
Are you using the component I’ve submitted a pull request for?

@Kabala
Not sure. I marked the PR as WIP because I will try to create tests for the component.

Hi Bouni,
thank´s, this was the problem… I used the wrong files :woozy_face:

After this is used the Version 0.2.5.
But the parameter “Circulation_Pump” has a divide by 10 Luxtronik

Hi, everybody,

I bought a boiler from alpha innotec and looking for information I found this forum. I am completely new to programming, but I would like to be able to monitor the boiler’s operating parameters from hass.io with a pi4 raspberry. I’ve been trying the different options in the forum for hours and I can’t see any data.

If I run nmap I get:
pi@raspberrypi:~ $ nmap -p T:8888,8889,8214 192.168.1.20
Starting Nmap 7.70 ( https://nmap.org ) at 2020-01-11 04:46 GMT
Nmap scan report for 192.168.1.20
Host is up (0.0024s latency).

PORT STATE SERVICE
8214/tcp closed unknown
8888/tcp open sun-answerbook
8889/tcp closed ddi-tcp-2

Could you tell me which files I should use and where to put them?
Greetings,

Hi Dmartinezs! Welcome to the forum!

You have bought a warm water boiler from Alpha Innotec. Which heat pump model do you use? We’ll need to grasp data from the heat pump rather from the boiler directly.

If your boiler is somehow “smart” and is connected: What’s the make, serial number, etc.?

Cheers,
Markus

Hi Markus,
Thanks for your help. My heat pump is an alpha innotec model LWD90A.

I have news. I have updated the firmware of the heat pump and now I have ports 8214/8888/8889 open and I can read data and give stop/start commands by connecting through a web browser with the IP 192.168.1.20, once inside if I use the password 009445 I change to install mode and I can modify many more parameters.

  • I am totally new to this subject so I may not have configured homeassistant correctly. I downloaded the files here: https://github.com/Bouni/Home-Assistant-Luxtronik
  • I pasted the luxtronik folder into custom_components
  • I have added to the files configuration.yaml, sensors.yaml and binary_sensors.yaml the indicated text.

I restart home assistant but it doesn’t detect any new components/sensors.

config2 config3

OK @dmartinezs, we’re almost there :smiley:

  1. you said that you have created the .yaml files for sensors, binary_sensors, etc. You’ll need to configure the configuration.yaml file accordingly, so that homeassistant knows where to find those. In consequence, all entries of the same domain (e.g. sensor) must be moved to the declared file outside of the configuration.yaml file. Have a look here: https://www.home-assistant.io/docs/configuration/splitting_configuration/

  2. have a closer look at your indentation within these newly created .yaml-files. Especially the binary_sensors.yaml would need to look like this:

  - platform: luxtronik
    scan_interval: 60
    sensors:
      - 'ID_WEB_Temperatur_TVL' # Vorlauftemperatur ist
      - 'ID_WEB_Temperatur_TRL' # Rücklauftemperatur ist Heizkreis
      - 'ID_WEB_Sollwert_TRL_HZ' # Rücklauftemperatur Soll Heizkreis
      - [put any sensor that you want in the same format}

You find an almost complete value table for the luxtronik sensor section (the brain of the alpha innotech heat pumps) here: https://www.loxwiki.eu/pages/viewpage.action?pageId=18219334

More questions: I can certainly help. This custom component is running in my homeassistant for several months now, without any problems. Good news: @Bouni will soon publish an official integration which will make it far easier to configure this component in the future.

Hi Markus,

I can read the data from the boiler! Your program is working fine.

After many attempts, I reinstalled homeassitant and reconfigured the files and :grinning:

I would like to be able to stop/start the heat pump from homeassistant. This way when we leave our house for several days, I could turn on the boiler before we come back. The option offered to me by alpha innotec through its website is not good because it is updated every 5 hours.

I have seen that you can use these libraries to write data, https://github.com/Bouni/luxtronik how do I incorporate them into homeassistant ?

Greetings and thank you very much for sharing your knowledge with everyone.

I’m sorry, I haven’t yet worked with @Bouni 's python-luxtronik library in order to write data to the heat pump. Not sure if the official homeassistant component (to come) will allow us to do so ?

Hi erveryone,

My integration for HA is currently in the review process but I don’t know how long that will take.

Not sure if the official homeassistant component (to come) will allow us to do so ?

It will!

If anybody wants to test the component then you can copy the necessary files into your custom components/luxtronik folder:

https://github.com/Bouni/home-assistant/tree/luxtronik/homeassistant/components/luxtronik

You can write data to the heatpump using the write service as described in the docs:

2 Likes

Hi @Bouni when will this component integrated within the Home Assistant release? What is necessary to merge it in the code base?

Hi Bouni,
This is very interesting integration. I did not yet read thru entire discussion but checking the github link I woudl like to make sure I understand correctly that there are no files to place to HA ?
Also some links (from github description) like “Luxtronik Integration - Service.” does not work… :frowning:

Good morning,

I have used Bouni’s files and now I can start, stop the heating, … from home assistant.

Additionally I have integrated Alexa into home assistant so I can now start the heating through voice.

I would like that alexa tells me the value of a parameter (e.g. TBW) when I ask it. So I need to create an entity with the value obtained by reading the data from luxtronik ( sensor.TBW ). This way Alexa would recognize the sensor and tell me by voice its value ( temperature of the hot water is 45 ºC ) .

Does anyone know how to create this sensor from the values we read from our heat pump ?

Greetings,
David

1 Like

I’m testing the luxtronik which is waiting for merge into hassio. Everything is working fine so far.

Can someone explain for me what the “group: calculations” keyword is used for.
I see on some previous examples that some people are using group, and some are not.
Is this the right way to format configuration.yaml?
Also what is the difference between sensors and binary sensors?

sensor:
  - platform: luxtronik
    scan_interval: 60
    sensors:
      - group: calculations
        id: ID_WEB_Temperatur_TVL
        friendly_name: Temperature Tur
        icon: mdi:thermometer
      - group: calculations
        id: ID_WEB_Temperatur_TRL
        friendly_name: Temperatur Retur
        icon: mdi:thermometer
      - group: calculations
        id: ID_WEB_Sollwert_TRL_HZ
        friendly_name: Setpunkt Retur
        icon: mdi:thermometer
      - group: calculations
        id: ID_WEB_Temperatur_TA
        friendly_name: Temperatur Ute
        icon: mdi:thermometer

Hi everyone,

sorry for the long silence, I’m just to busy to keep an eye on this :expressionless:

“group: calculations” means that the parameter is out of this group, there are group: calculations and group: visibilities as well.
The first one is pretty useful, it holds measurement values like temperatures, the later is pretty uselesss on the other hand.
The exact use is not really clear to me at the moment but the best guess is that it tells the normal webinterface if a parameter should be shown or not.

Take this GitHub repo as reference: https://github.com/Bouni/luxtronik/tree/master/luxtronik

Let me know if you have more questions

Good morning,

I’m using the write function and it works perfectly with ID_Ba_Hz_akt signal. The problem I have is that I would like to know the status (read it) but when I set the variable I always get this photo error. I have used the options group: calculations, parameters and group: visibilities , but the error continues.

Do you know how I can read the status of this variable ( automatic, party, … )?

Greetings,
David

Hi Bouni, I just got an update of the heatpump software 3.79 to 3.85 the GUI changed from java webserver to HTML which is a relief but I’m not getting all values or statuses correctly in HA. Do you know what’s going on?

Hi,

I was wondering how to setup this integration with HA.
Currently I’ve added the custom_component with the following files:

After that I created the following 2 sensors and the luxtronik platform in my configuration.yaml:

# Luxtronik Warmtepomp integratie
luxtronik:
  host: 192.168.2.160
  port: 8889
  safe: true
# Luxtronik Warmtepomp Sensor
  - platform: luxtronik
    sensors:
      - group: calculations
        id: ID_WEB_Temperatur_TVL
    
# Binary Sensors
binary_sensor:
# Luxtronik Binary Sensor
  - platform: luxtronik
    sensors:
      - group: calculations
        id: ID_WEB_EVUin

But the sensors are not visible within Home Assistant?
I can however find the service: luxtronik.write within services.

What am I doing wrong?

The logs state the following:

Logger: homeassistant.components.binary_sensor
Source: custom_components/luxtronik/binary_sensor.py:64
Integration: Binaire sensor (documentation, issues)
First occurred: 17:16:14 (1 occurrences)
Last logged: 17:16:14

Error while setting up luxtronik platform for binary_sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 179, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/luxtronik/binary_sensor.py", line 64, in setup_platform
    sensor_cfg[CONF_FRIENDLY_NAME],
KeyError: 'friendly_name'

Any help would be greatly appreciated

1 Like