BenPru / luxtronik

Luxtronik integration for Home Assistant
MIT License
80 stars 30 forks source link

Warning that luxtronik2 Beta 2023.11.30 does not work with HA 2024.10.0 #255

Open HAMASTER1 opened 5 months ago

HAMASTER1 commented 5 months ago

The user-defined integration “luxtronik2” implements the property “is_aux_heat” or uses the additional heating methods in a subclass of ClimateEntity.

In addition the following warnings are listed after HA restart in system - logs.

1) Could not handle config_flow.async_step_dhcp DhcpServiceInfo(ip='192.168.x.xx', hostname='xx', macaddress='xx') Logger: custom_components.luxtronik2 Source: custom_components/luxtronik2/config_flow.py:268

Traceback (most recent call last):
  File "/config/custom_components/luxtronik2/config_flow.py", line 268, in async_step_dhcp
    await self.async_set_unique_id(coordinator.unique_id)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2275, in async_set_unique_id
    raise data_entry_flow.AbortFlow("already_in_progress")
homeassistant.data_entry_flow.AbortFlow: Flow aborted: already_in_progress

2) Could not handle config_flow.async_step_dhcp DhcpServiceInfo(ip='192.168.x.xx', hostname='xx', macaddress='xx') Logger: custom_components.luxtronik2 Source: custom_components/luxtronik2/config_flow.py:269

Traceback (most recent call last):
  File "/config/custom_components/luxtronik2/config_flow.py", line 269, in async_step_dhcp
    self._abort_if_unique_id_configured()
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2258, in _abort_if_unique_id_configured
    raise data_entry_flow.AbortFlow(error)
homeassistant.data_entry_flow.AbortFlow: Flow aborted: already_configured

3) Could not load visibility visibilities.Unknown_Parameter_357 Logger: custom_components.luxtronik2 Source: custom_components/luxtronik2/coordinator.py:344

4) Visibility 'Unknown_Parameter_357' not found Logger: Luxtronik.Visibilities Source: custom_components/luxtronik2/coordinator.py:427

5) luxtronik2::LuxtronikThermostat implements the is_aux_heat property or uses the auxiliary heater methods in a subclass of ClimateEntity which is deprecated and will be unsupported from Home Assistant 2024.10. Please create a bug report at https://github.com/BenPru/luxtronik/issues Logger: homeassistant.components.climate Source: components/climate/init.py:424 luxtronik2::LuxtronikThermostat implements theis_aux_heatproperty or uses the auxiliary heater methods in a subclass of ClimateEntity which is deprecated and will be unsupported from Home Assistant 2024.10. Please create a bug report at https://github.com/BenPru/luxtronik/issues

6) Entity climate.luxtronik_270404_00_heating (<class 'custom_components.luxtronik2.climate.LuxtronikThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/BenPru/luxtronik/issues Logger: homeassistant.components.climate Source: components/climate/init.py:371 Entity climate.luxtronik_270404_00_heating (<class 'custom_components.luxtronik2.climate.LuxtronikThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/BenPru/luxtronik/issues

8) StrEnum was used from luxtronik2, this is a deprecated alias which will be removed in HA Core 2025.5. Use enum.StrEnum instead, please report it to the author of the 'luxtronik2' custom integration Logger: homeassistant.backports.enum Source: helpers/deprecation.py:197 StrEnum was used from luxtronik2, this is a deprecated alias which will be removed in HA Core 2025.5. Use enum.StrEnum instead, please report it to the author of the 'luxtronik2' custom integration

rfcdejong commented 5 months ago

Same warning here, if not fixed it will prevent us to update to 2024.10 whenever that version is released. Would be nice to see the beta going to release status as well. Works without real issues other than this warning here.

DrPain911 commented 5 months ago

+1

DonPrimo12 commented 5 months ago

Any update on this? Cant integrate my heat pump until this gets fixed... 😔

AJediIAm commented 5 months ago

I'm pledging a €10 bug bounty to have this fixed.

Hopefully more will join. Even a €1 pledge is a showing of appreciation which hopefully encourages people with knowledge to pick this up. I simply don't have the skills to fix the code myself.

Guenni9 commented 5 months ago

Hi @rfcdejong @AJediIAm @DrPain911 @DrPain911 @HAMASTER1 @DonPrimo12 @BenPru @steffenweber

I understand really no word with Pyton. I don't know anything about programming. But I found out, editing Line 8 in the base.py:

image

from homeassistant.backports.enum import StrEnum

to

image

from enum import StrEnum

removes this issue😇. I made a backup before editing this line of coarse. After restarting Home Assistant, the warning disappears in the log💪!

Maybe somebody is able to change this in the repository?

DrPain911 commented 5 months ago

Well, does this solve the problem or does it only get rid of the notification? 🤣 Since I don’t understand what’s going on there any feedback on what this does is appreciated

Guenni9 commented 5 months ago

Hm AFAIK, this should solve the problem and not only suppress the warning.. . Regarding to this, what I found: https://developers.home-assistant.io/blog/2024/04/08/deprecated-backports-and-typing-aliases/

And another one solved a similar issue here: https://github.com/fuatakgun/eufy_security/pull/1147/commits/12d8652c59921709a0e8d116230961ad83e725e9

But maybe, I'm wrong, perhaps anyone else could help better..

Guenni9 commented 5 months ago

@HAMASTER1 Ah, me again, I see you are using Beta 2023.11.30. Here I use 2024.01.10-Beta and everything is fine. My post only solves the "StrEnum was used from luxtronik2" issue. I think using the actually beta solves your problem

Kars-de-Jong commented 5 months ago

Any update on this? Cant integrate my heat pump until this gets fixed... 😔

Why not? All these issues are just warnings at this stage. The first deprecation to kick in will be 2024.10. Having said that, I do wonder whether @BenPru is still actively working on this...

BenPru commented 5 months ago

@Kars-de-Jong Yes, I will correct this before HA 2024.10.0 will be realesed. But for now I don't have the time for this. @HAMASTER1, @DonPrimo12 and others: I think the problem is the caching from HACS. Some users doesn't see the latest beta versions and installs old stuff. Perhaps clearing the browser cache could help.

BenPru commented 5 months ago

@HAMASTER1 Regarding "Unknown_Parameter_357": Which firmware version and which heatpump do you use? Is it the latest firmware for your hp? A diagnostic file dump in an issue is always a good idea. See "4 Support Tickets" in documentation.

AJediIAm commented 5 months ago

I wasn't aware of 2024.01.10, so we can upgrade HA 2024.07 while still being able to use this integration.

Bug bounty still stands. This integration saves me a good amount of money and energy. It's only fair to kick some of it back to BenPru and anyone else who keeps making this possible. <3

rhammen commented 5 months ago

@HAMASTER1 Regarding "Unknown_Parameter_357": Which firmware version and which heatpump do you use? Is it the latest firmware for your hp? A diagnostic file dump in an issue is always a good idea. See "4 Support Tickets" in documentation.

Quite likely the same issue as #186 ...

Guenni9 commented 5 months ago

@rhammen, @BenPru FYI, I had also the "Unknown_Parameter_357" warning. Only cosmetic, to remove it from the log, I commented it out in the source... I have the very rare, obsolete WWB21 pdf, manual latest firmware WWB1.65. I suppose, this warm water booster doesn't support V0357_SILENT_MODE_TIME_MENU

Maybe it helps?

BenPru commented 2 months ago

@rhammen In 'custom_components/luxtronik2/config_flow.py:269' I just call 'self._abort_if_unique_id_configured()' Why does this produce an error in the log? If you look into the ha dev documentation it is correct to use this: https://developers.home-assistant.io/docs/config_entries_config_flow_handler#unique-ids Or is it wrong?

AJediIAm commented 2 months ago

Testing with 2024.10.0b0 and Luxtronik 2024.9.23 and it seems to work. Sending you a small gift as a thank you for your continued support.

rhammen commented 2 months ago

@rhammen In 'custom_components/luxtronik2/config_flow.py:269' I just call 'self._abort_if_unique_id_configured()' Why does this produce an error in the log? If you look into the ha dev documentation it is correct to use this: https://developers.home-assistant.io/docs/config_entries_config_flow_handler#unique-ids Or is it wrong?

I don't have this error in my logs after a restart. Do you have this error in your logs after restart? In case you don't, then lets have @HAMASTER1 confirm whether the problem is still there with 2024.9.23 Beta, or not.

Having 10 issues mentioned in 1 Issue doesn't help. My view: 1) & 2) : I don't have that problem in my logs after restart. If users still experience it, let's create a separate issue for it. Or is this covered in #216 #220 ? 3) & 4) : Track via #186 5) Solved 6) Still present. Can this be fixed easily? Then let's do that. Otherwise create new Issue for it. 7) Still present. Seems very fix --> Let's implement the fix.

And then close this Issue which covers 7 issues...

BenPru commented 2 months ago

@Guenni9 @HAMASTER1

  1. Visibility 'Unknown_Parameter_357' not found

Which firmware version do you use in your hp? I think we have to add 'min_firmware_version_minor' to exclude this visibility.

  1. is_aux_heat

Should fixed since 2024.9.23-Beta

rhammen commented 2 months ago

@Guenni9 @HAMASTER1

  1. Visibility 'Unknown_Parameter_357' not found

Which firmware version do you use in your hp? I think we have to add 'min_firmware_version_minor' to exclude this visibility.

My firmware version is V3.79 (and I have these warnings in the logs)

Guenni9 commented 2 months ago

@BenPru , my firmware is "Firmware: WWB1.65", but as mentioned, it is a very rare WWB21..

BenPru commented 2 months ago

Okay, my ist 2.88.3 with No warning. I think I add *.80 as min Version.

BenPru commented 2 months ago

@Guenni9 @HAMASTER1 @rhammen Please try 2024.9.29-Beta

rhammen commented 2 months ago

@Guenni9 @HAMASTER1 @rhammen Please try 2024.9.29-Beta

Updated to 2024.9.29-Beta, and after restart the warnings related to "Unknown_Parameter_357" are gone ! Looks good to me! Since the warnings only started appearing somewhere end of last year I think you can put the cutoff at .85 or .87, but that's minor. Thanks!

Guenni9 commented 2 months ago

@BenPru just tried out, the "357" error and the "from homeassistant.backports.enum import StrEnum.." error were gone! Thank you! I still have the warnings in my log, but don't worry, I'm sure it is because my heatpump WWB21, the successor of the WWB20 is obsolete and no more supported. It doesn't have this two parameters and there is since years no new firmware available:

2024-09-29`` 12:24:51.849 WARNING (MainThread) [custom_components.luxtronik2] Could not load visibility visibilities.ID_Visi_LIN_ANSAUG_VERDAMPFER 2024-09-29 12:24:51.853 WARNING (MainThread) [custom_components.luxtronik2] Could not load visibility visibilities.ID_Visi_Waermemenge_ZWE 2024-09-29 12:24:54.869 WARNING (Thread-5 (do_request_available_firmware_version)) [custom_components.luxtronik2] Could not request download portal firmware version Traceback (most recent call last): File "/config/custom_components/luxtronik2/update.py", line 159, in do_request_available_firmware_version self.__firmware_version_available = filename.split("-", 1)[1]

KlausV66 commented 2 months ago

Do you see any problems to update to the latest beta 2024.9.29, (current 2023.11.30 with minor changes) by using HA 2024.09 and AIT heatpump 3.89? I see many changes. Maybe better to backup the luxtronik2 folder. Thanks. Klaus

rhammen commented 2 months ago

Do you see any problems to update to the latest beta 2024.9.29, (current 2023.11.30 with minor changes) by using HA 2024.09 and AIT heatpump 3.89? I see many changes. Maybe better to backup the luxtronik2 folder. Thanks. Klaus

@KlausV66 2023.11.30 was already a Beta version using the new code-base. In my view that makes the step smaller than coming from a non-Beta version. I expect you will be fine.

For extra security/comfort, making a backup is of course a great idea. In that case I recommend to also backup your HA database (home-assistant_v2.db)