Open starlight2k opened 9 months ago
I'll pick this one up in the next few days
EDIT: no modbus registers for HK3. Unable to proceed.
its just not documented, because the "public" pdf version is for WPM3 , but i have WPM4
they just put the values at the end ;)
HK3 is 609 (ist) and 610 (soll)
maybe also interesting..
if you have another pt1000 for cooling, its now register 523
I have contacted the headquarter in Germany and asked confirmation. I'm not confident to implement registers based on a deduction or reverse engineering.
EDIT: also WPM4 is WPMsystem, so it's not correct to consider the manual suitable for WPM3.
you are right, WPM4 is WPMsystem. so it must be related to the software version of the ISG
Anyway, it is apparent the ISG manual is incomplete. Waiting for a feedback from headquarters.
if you have another pt1000 for cooling, its now register 523
It's 524, actually. I have implemented 524 to 527 and HK3 water temperatures. To be tested by anyone with such parameters populated.
There must be something wrong in code
it read out target temp, but actual temp is disabled... after activate manual , whole plugin fails.
`
Logger: homeassistant.loader Source: loader.py:842 First occurred: 20:36:28 (1 occurrences) Last logged: 20:36:28 Unexpected exception importing platform custom_components.stiebel_eltron_isg.climate
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 842, in get_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 859, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "
`
Logger: homeassistant.setup Source: setup.py:403 First occurred: 20:36:28 (1 occurrences) Last logged: 20:36:28 Unable to prepare setup for platform 'stiebel_eltron_isg.climate': Platform not found (Exception importing custom_components.stiebel_eltron_isg.climate)
Did you update to 2024.2?
now updated, not breaking anymore but still not showing values
aha, looks like you swapped the modbus address
- name: HK3_ist
unit_of_measurement: °C
device_class: temperature
address: 609
scale: 0.1
slave: 1
input_type: input
data_type: int16
- name: HK3_soll
unit_of_measurement: °C
device_class: temperature
address: 610
scale: 0.1
slave: 1
input_type: input
data_type: int16
- name: cooling_actual
unit_of_measurement: °C
device_class: temperature
address: 523
scale: 0.1
slave: 1
input_type: input
data_type: int16
aha, looks like you swapped the modbus address
It's not that I swapped the addresses. It's just that they are undocumented. Provided HK1 and HK2 ordering is actual first, target second, I assumed it was the same. Can you please double check this is the case.
i dont get it,
i checked the code , 609 and 610 should be correct. i deleted custom components, parsed it manually from main, rebooted 100 times, but it still reading actual as target. actual still not available and cant be activate.
any idea if its a problem with my HA or code?
btw cooling surface is reading out OK, but i read 523 in code its 524 , so i will try 610 / 611
# 604-609 COOLING CIRCUIT TEMPERATURE_HK1 to HK5
decoder.skip_bytes(28)
# 610
result[ACTUAL_TEMPERATURE_HK3] = get_isg_scaled_value(
decoder.decode_16bit_int()
)
# 611
result[TARGET_TEMPERATURE_HK3] = get_isg_scaled_value(
decoder.decode_16bit_int()
)
wpm_coordinator.py
this will fix it, i dont understand why. the plugin reads everything +1?
Sorry, but why are you uploading a picture of cooling fancoil? It is confusing.
# 604-609 COOLING CIRCUIT TEMPERATURE_HK1 to HK5 decoder.skip_bytes(28) # 610 result[ACTUAL_TEMPERATURE_HK3] = get_isg_scaled_value( decoder.decode_16bit_int() ) # 611 result[TARGET_TEMPERATURE_HK3] = get_isg_scaled_value( decoder.decode_16bit_int() )
wpm_coordinator.py
this will fix it, i dont understand why. the plugin reads everything +1?
@pail23 can you confirm the base address of the function is +1?
for some reason, the plugin reads everything +1 (starting from 1) and the modbus plugin of homeassistant reads everything starting from 0
so if i read them with the modbus plugin ,,, its 523 (cooling) / 609 (actual HK3) / 610 (target hK3) but stiebel plugin its 524/610/611
its also in the documentation:
Modbus-Systemwerte für Wärmepumpen mit WPM Hinweis Die aufgeführten Geräte werden grundsätzlich unterstützt.
- Nicht jedes Objekt ist bei jedem Gerät verfügbar.
- Für nicht verfügbare Objekte wird der Ersatzwert „32768 (0x8000H)“ ausgegeben. - Die Adressierung des ISG ist 1 basiert (1 based).
so my mistake :(
@pail23 How would you like to proceed for fixing it?
Sorry, but why are you uploading a picture of cooling fancoil? It is confusing.
Maybe its confusing.
There are two possibilities to use the heat pump for cooling: Fan Cooling (Gebläsekühlung) Surface Cooling (Flächenkühlung) (sometimes is just your underfloor heating system, but can also ceiling cooling circuit)
If you have included a buffer in your system, the heatpump will cool down the buffer, which is connected to your cooling system. The readout actual value is just a pt1000 which is in the upper third of your buffer.
It cannot read the target temp, because the heatpump can only heat OR cool. When summer mode is activated, it will switch to cooling and you can use the fan/surface cooling device.
The values for cooling wasnt included in the 2024.2 release, but now in the main. they are working and reading the same as ISG webinterface. just posted a screenshot, that they look like reading correct.
Maybe its confusing.
Yes, thanks, I am actually from Stiebel Eltron, so I am familiar with how it works. Confusing was the picture of HK3 target temperature together with fancoil cooling. I didn't see the relationship.
is it possible to integrate also the climate entity or target temperature input_number entity for HC3? like this
It's already implemented, registers 592 to 595. @pail23 these registers 609 and 610 are still undocumented, and I fill unease with it
@mapo-89
do you have HK3? can you report back if actual and target temp shows correctly ? still no idea if 609/610 or 610/611
@Padanian its stiebel eltron, a german company. they are slow with everything and it will take decades before they will release a new doc
while you fill unease with it i added it like this
# 531 External Heater
result[ACTUAL_TEMPERATURE_EXT] = get_isg_scaled_value(
decoder.decode_16bit_int()
)
# 532 External Heater
result[TARGET_TEMPERATURE_EXT] = get_isg_scaled_value(
decoder.decode_16bit_int()
)
# 610
result[ACTUAL_TEMPERATURE_HK3] = get_isg_scaled_value(
decoder.decode_16bit_int()
)
# 611
result[TARGET_TEMPERATURE_HK3] = get_isg_scaled_value(
decoder.decode_16bit_int()
)
for me its working. also the external heater which is not available in main fork
@starlight2k I do not receive any data from the sensor for the actual temperature HC3, but the target temperature receives the actual temperature
Thanks for verification.
need to be changed to 610/611 not 609/610.
short question: Why am I not able to see the climate sensor for HC3?
while you fill unease with it i added it like this
I'm happy it works for you, but hey, I'm volunteering as you are. Feel free to commit your code. There are not many units with 3 circuits out there, and I can't reverse engineer all registers. Also it is unexplicable why all other sequence of registers are in line, and registers from 501 onwards are shifted by 1.
Hello,
i have 3 heat circuits, but only temps for 1 and 2 are shown, 3 is not available.
Is there any chance to get HK3 ? With the extension WPE its even possible to have more heat circuits
https://github.com/pail23/stiebel_eltron_isg_component/issues/89#issuecomment-1756155468 only shows values for HK3 from FET, but not from heat pump.