Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Operation Modes broken for DomesticHotWaterProduction (io:AtlanticDomesticHotWaterProductionV2_CE_S4_IOComponent) #87417

Open
MassimoL06 opened this issue Feb 4, 2023 · 48 comments
Assignees

Comments

@MassimoL06
Copy link

The problem

Fix from #83934 doesn't work !!
Proposed values are now different !
image

But when I try to change it, I still have the issue (fail to call service ...)
image

What version of Home Assistant Core has the issue?

2023.2.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Atlantic Cozytouch (via Overkiz)

Link to integration documentation on our website

https://www.home-assistant.io/integrations/overkiz/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

home-assistant bot commented Feb 4, 2023

Hey there @iMicknl, @vlebourl, @tetienne, @nyroDev, mind taking a look at this issue as it has been labeled with an integration (overkiz) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of overkiz can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Change the title of the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign overkiz Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


overkiz documentation
overkiz source
(message by IssueLinks)

@iMicknl
Copy link
Contributor

iMicknl commented Feb 26, 2023

Can you please download your diagnostics file and drag and drop this in a new comment? It would be great to understand more about your device.

Can you add me on Discord? (iMick#1903)? We can have a look together to fix it quicker.

@jmcollin78
Copy link

Hello same problem for me and here is my diagnostic file:

config_entry-overkiz-87d71e682b3ac61d4d7eaf5d8cbb7b76.json.txt

@jmcollin78
Copy link

jmcollin78 commented Feb 28, 2023

Sending operation_mode 'eco' with the service works:

service: water_heater.set_operation_mode
data:
  operation_mode: eco
target:
  entity_id: water_heater.chauffe_eau

But not the mode which are listed in:

operation_list:
  - manualEcoActive
  - manualEcoInactive
  - autoMode

@MassimoL06
Copy link
Author

Hello @iMicknl ,

here is the diagnostic file.
overkiz-19023ee303b0dc7a757625e74e4d77a1-DHWP Actuator-1b21436884631c82b4cd3fe4f92d5af2.json (2).txt

I have added you as a friend in discord.
My discord account is Massimo#6992.

@MassimoL06
Copy link
Author

From Diagnostic file I see that the 3 modes are associated to this data.
"type": "DiscreteState",
"values": [
"autoMode",
"manualEcoActive",
"manualEcoInactive"
],
"qualifiedName": "io:DHWModeState"

But in fact the operation mode should be associated to this (I think):
"type": "DiscreteState",
"values": [
"antifreeze", "auto", "away", "eco", "frostprotection", "manual", "max", "normal", "off", "on", "prog", "program", "boost"
],
"qualifiedName": "core:OperatingModeState"

@nyroDev
Copy link
Contributor

nyroDev commented Mar 1, 2023

@MassimoL06 and @jmcollin78 : your diagnostic json file you send will help a lot.
Could you also provide the error log by any chance?

@MassimoL06
Copy link
Author

Hello, where can I find the error log ?
I have activated the "enable debug logging" in the overkiz integration but haven't found the log is.

@MassimoL06
Copy link
Author

When I switch my water heater to manual mode from Atlantic Cozytouch mobile app, I see the the value of io:DHWModeState changing from autoMode to manualEcoInactive.
And in HA the state is changing from
image

to
image

So forget my previous comment.

@nyroDev
Copy link
Contributor

nyroDev commented Mar 1, 2023

@MassimoL06 On the regular Somfy/Atlantic app, could you confirm that you can only choose between eco and auto please?

@MassimoL06
Copy link
Author

Hello,
there are 2 modes AUTO and MANUAL
Screenshot_20230301-235859_Cozytouch

Then in manual mode I can choose the number of showers.

Screenshot_20230302-000005_Cozytouch

You can also see the BOOST and BOOST+ options.
These are specific modes for the Water Heater.
Then at a upper level in the App, I can select the "absence mode"
Screenshot_20230302-001101_Cozytouch

@MassimoL06
Copy link
Author

Enabling "absence" mode ask you to enter a start date and end date.

Also notice that, from HA, the other commands like away mode duration or Boost mode duration are not working.
Errors are shown in the logbook.
image

Thanks for your support

@MassimoL06
Copy link
Author

Last news,
from log file, I am having this error.

Logger: homeassistant.components.websocket_api.http.connection
Source: components/overkiz/water_heater_entities/domestic_hot_water_production.py:327
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: March 1, 2023 at 11:16:28 PM (1 occurrences)
Last logged: March 1, 2023 at 11:16:28 PM

[140026833200048] 'manualEcoActive'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1787, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1824, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 680, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 968, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 720, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/overkiz/water_heater_entities/domestic_hot_water_production.py", line 327, in async_set_operation_mode
OverkizCommand.SET_DHW_MODE, self.operation_mode_to_overkiz[operation_mode]
KeyError: 'manualEcoActive'

@MassimoL06
Copy link
Author

Hello Again,
looking to the source code in file domestic_hot_water_production.py
Capture
if variable 'operation_mode' = manualEcoActive then using the table 'operation_mode_to_overkiz' is not usefull.
Or the combo in the Combox in the screen should use 'eco', 'off', ...
But in that case the Table OVERKIZ_TO_OPERATION_MODE is not good because 'eco' is used twice: for 'manualEcoActive ' and for 'AutoMode' !

Hope it helps

@nyroDev
Copy link
Contributor

nyroDev commented Mar 3, 2023

@iMicknl On @MassimoL06 reports, the execution_history is empty.
I noticed the ha-tahoma is installed too.
Could it be the reason the execution_history is empty?
It will help understand what should be done when changing status and everything like that.

@MassimoL06 thanks for your investigation, this is the good track.
The thing is that the domestic_hot_water_production is used for many devices that have this class, and every devices have some slights changes.
@jmcollin78 have an other one for instance.

Issue #84091 have same kind of problem with 1 other device too.

I'm trying to figure out what is expected for every change we have to do.
And so far, my guess is that it's very different from device to device....

@jmcollin78 your diagnostic do include an execution_history which is very helpful.
It could be really great if you could :

  1. Do different action on the official android app (boost, eco, manual, etc...) by letting 1 or 2 minutes between each action
  2. List everything you're doing in correct order
  3. Wait a few more minutes after the last action and post your diagnostic and the list of what you did

Bonus point if you could also post screenshot for your mobile app for every action too.

@jmcollin78
Copy link

Will do that.

@jmcollin78
Copy link

jmcollin78 commented Mar 3, 2023

Here you will find:

  1. the diag file:
    config_entry-overkiz-87d71e682b3ac61d4d7eaf5d8cbb7b76.json (1).txt
  2. the list of screen I do (in order):
    a. removing the away mode (I start with the away mode activated)
    Screenshot_2023-03-03-22-06-44-32_02c3b1a4aff3bdb21c2b7a862afad345
    b. setting the manual mode,
    Screenshot_2023-03-03-22-08-49-56_02c3b1a4aff3bdb21c2b7a862afad345
    c. setting shower number to 4
    Screenshot_2023-03-03-22-10-39-50_02c3b1a4aff3bdb21c2b7a862afad345
    d. setting the Eco mode:
    Screenshot_2023-03-03-22-17-10-25_02c3b1a4aff3bdb21c2b7a862afad345
    e. setting the auto mode :
    Screenshot_2023-03-03-22-36-47-48_02c3b1a4aff3bdb21c2b7a862afad345
    f. setting away mode with start date and time and end date and time:
    Screenshot_2023-03-03-22-38-06-01_02c3b1a4aff3bdb21c2b7a862afad345

I hope this helps

@jmcollin78
Copy link

jmcollin78 commented Mar 3, 2023

I can confirm that no command are working: away duration, boost duration, mode.

The sensor value seems to be good.

I can accept to install a beta release with logs if you need.

@nyroDev
Copy link
Contributor

nyroDev commented Mar 4, 2023

@jmcollin78 thanks for your data, I think have great info for your device, will process it when I have others too.

@jmcollin78
Copy link

Great. If you need help to test, you can ask me.

@mycanaletto
Copy link

+1

For the moment this water heater is unusable as it is under HA and I installed a Shelly 1PM+ at the inlet. I manage it like a classic water heater, which is a shame for such a device!

Even with the app it's not great. I tested with the Cozybox and the Tahoma, the latter recognizes it even worse.

@nyroDev
Copy link
Contributor

nyroDev commented Mar 6, 2023

@mycanaletto please send your diagnostic file, you might not have the exact same device.

@jmcollin78
Copy link

@jmcollin78 thanks for your data, I think have great info for your device, will process it when I have others too.

Hello @nyroDev , it's been a long time you tell me you have some good news. Do you have some news about this issue ? May I help to test something with my device ?

@MassimoL06
Copy link
Author

Hello @nyroDev , I believe you are very busy.
Do you know when you will have time to work on this issue ?
Thanks

@rembomy
Copy link

rembomy commented Jun 28, 2023

I have the same issue, copied my info from another request to this one. If you need more then please let me know.

The problem

When I try to set any mode in the integration, from Eco to auto for example then it does give error. Changing Temperature does nothing and temperature stays same in water heater (even after hours of waiting). Atlantic water heater, Cozytouch app.

What version of Home Assistant Core has the issue?

core-2023.6.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Overkiz

Link to integration documentation on our website

https://www.home-assistant.io/integrations/overkiz

Diagnostics information

image

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.websocket_api.http.connection
Source: components/overkiz/water_heater_entities/domestic_hot_water_production.py:327
Integration: Home Assistant WebSocket API ([documentation](https://www.home-assistant.io/integrations/websocket_api), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+websocket_api%22))
First occurred: 11:18:56 (4 occurrences)
Last logged: 11:32:19

[547657004944] 'auto'
[547878770192] 'auto'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 205, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1910, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1950, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 226, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 811, in entity_service_call
    future.result()  # pop exception if have
    ^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1034, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 851, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/overkiz/water_heater_entities/domestic_hot_water_production.py", line 327, in async_set_operation_mode
    OverkizCommand.SET_DHW_MODE, self.operation_mode_to_overkiz[operation_mode]
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'auto'

Additional information

It also seems to be missing boost option and absence options that are available in the app, but this is not the main topic of this issue. It is able to read data, but not able to input anything back to the servers.

@iMicknl

This comment was marked as resolved.

@rembomy

This comment was marked as resolved.

@iMicknl

This comment was marked as resolved.

@rembomy

This comment was marked as resolved.

@jmcollin78
Copy link

@jmcollin78 thanks for your data, I think have great info for your device, will process it when I have others too.

Hello @nyroDev , have you any news on this ? You said you had good news a long time ago and many people have exactly the same issue. Thanks for your reply.

@jffluis

This comment was marked as duplicate.

@smortier59

This comment was marked as duplicate.

@iMicknl
Copy link
Contributor

iMicknl commented Sep 1, 2023

If someone (preferably 2 😃) is willing to temporarily change and share their credentials, I will have a look.

Now on holidays, but you can contact me on Discord (_imick) after October 1st.

@MassimoL06
Copy link
Author

Hello, I tried again with the latest version of HA and it is always same error occuring
On my previous comment,
#87417 (comment)
I showed you the line of python code that should be changed to fix the issue.

@iMicknl
Copy link
Contributor

iMicknl commented Nov 7, 2023

@MassimoL06 your change will break this device for others, that is the main issue why this fix is so difficult. It seems there are multiple devices that use the same characteristics, but are not 100% the same..

@iMicknl iMicknl changed the title Atlantic Cozytouch (via Overkiz) water heater operating commands doesn't work Operation Modes broken for DomesticHotWaterProduction (io:AtlanticDomesticHotWaterProductionV2_CE_S4_IOComponent) Nov 7, 2023
@jmcollin78
Copy link

Can I help in any way ?

@Delaballe85
Copy link

Delaballe85 commented Nov 12, 2023

Hello,

I also have the same problem as @jmcollin78
After activating Boost mode from the Android application I have the following message in the logs below:

2023-11-11 08:27:02.470 DEBUG (MainThread) [custom_components.overkiz] Event(name=<EventName.DEVICE_STATE_CHANGED: 'DeviceStateChangedEvent'>, timestamp=1699687621648, setupoid=_CountingAttr(counter=479, _default=None, repr=<function obfuscate_id at 0x7f0dcd907380>, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), owner_key=None, type=None, sub_type=None, time_to_next_state=None, failed_commands=None, failure_type_code=None, failure_type=None, condition_groupoid=None, place_oid=None, label=None, metadata=None, camera_id=None, deleted_raw_devices_count=None, protocol_type=None, gateway_id=None, exec_id=None, device_url=io://****-****-1634/9560847#1, device_states=[EventState(name='core:DateTimeState', type=<DataType.JSON_OBJECT: 11>, value={'month': 11, 'hour': 8, 'year': 2023, 'weekday': 5, 'day': 11, 'minute': 27, 'second': 1}), EventState(name='core:BoostStartDateState', type=<DataType.JSON_OBJECT: 11>, value={'month': '??', 'hour': 0, 'year': 0, 'weekday': 0, 'day': '??', 'minute': 0, 'second': 0}), EventState(name='core:BoostEndDateState', type=<DataType.JSON_OBJECT: 11>, value={'month': '??', 'hour': 0, 'year': 0, 'weekday': 0, 'day': '??', 'minute': 0, 'second': 0}), EventState(name='io:DHWBoostModeState', type=<DataType.STRING: 3>, value='on')], old_state=None, new_state=None)

I notice that there is io:DHWBoostModeState and we do not find DHWBoostModeState in the command.py file of pyoverkiz, wouldn't that be the path to follow?

My equipment works with the Cozytouch and I also have other problems like the ALLURE3 PREMIUM G towel dryer named io:AtlanticElectricalTowelDryer_IC3_IOComponent which is not recognized by Overkyz, so I think that there must also be missing elements.
.

@iMicknl
Copy link
Contributor

iMicknl commented Nov 12, 2023

@Delaballe85 can you add your diagnostics as well?

  1. If your device already shows up in Home Assistant, go to your integrations page and select Overkiz, your hub and the device. Press the 3 dots and select "Download diagnostics.
    Otherwise, go to your integrations page and select Overkiz. Next to your hub, click the 3 dots and select "Download diagnostics".

  2. Attach your diagnostics (JSON file) to this issue by uploading the file in a new comment (drag and drop supported).

Regarding your Tower Dryer, please create a new issue with your diagnostics, if there is no existing issue yet.

@Delaballe85
Copy link

@iMicknl

A little late, attached the requested file

config_entry-overkiz-c2c7a9e3b3fa3153634b95ce4b4f641b.json.txt

@efolio
Copy link

efolio commented Jan 2, 2024

Same isssue with Sauter water heaters, connected via Cozytouch.
This is a big issue for me…
If I can do anything to help fix this…

Even basic functions are unavailable (like on/off…)

@jmcollin78
Copy link

To maintainer, is this integration still maintained ? Is there anything we can do to have something working or is this "too old" to be working and should be avoided ?

PS: I know (cause I'm also an integration maintainer) that you do that on your available time, but we need to know if we can hope something or not and then switch to another solution. There is no aggressivity in this message but only a "need to know".

Thank you for your answer.

@iMicknl
Copy link
Contributor

iMicknl commented Jan 3, 2024

Yes it is still maintained.
Last months, the main focus was on shipping the Local API in Overkiz integration. At the moment the main blocker is that my time is quite limited, and lately I am the only maintainer that is working on the fixes/new features. There are 44 open issues at the moment. Every time we close one, new ones get opened due to the popularity of this integration and the huge amount of devices that Overkiz has.

Adding and/or fixing new devices is very time consuming, because I don't have access to them. Easiest is when someone lends their credentials (preferably via Discord) and I locally program against your device. However, I didn't add this device myself, and it seems there are multiple devices that are very similar, but have different features. That makes it a lot more complex, because when I fix the issue for one, another one will have a broken device.

TLDR: if a few people can reach out on Discord (_imick) I will see if I can add a fix in the coming weeks, since this is an issue that blocks a lot of users.

@jmcollin78
Copy link

Yes it is still maintained. Last months, the main focus was on shipping the Local API in Overkiz integration. At the moment the main blocker is that my time is quite limited, and lately I am the only maintainer that is working on the fixes/new features. There are 44 open issues at the moment. Every time we close one, new ones get opened due to the popularity of this integration and the huge amount of devices that Overkiz has.

Adding and/or fixing new devices is very time consuming, because I don't have access to them. Easiest is when someone lends their credentials (preferably via Discord) and I locally program against your device. However, I didn't add this device myself, and it seems there are multiple devices that are very similar, but have different features. That makes it a lot more complex, because when I fix the issue for one, another one will have a broken device.

TLDR: if a few people can reach out on Discord (_imick) I will see if I can add a fix in the coming weeks, since this is an issue that blocks a lot of users.

Hello, @iMicknl,

I would really thank you for your effort.
Thank you for your quick reply. I would be glad to share with some temporary credentials on discord if you think it is preferable. I will contact you soon (have to look how to change the credentials before).

For instance remember that you have my device debug file above (in march)

@efolio
Copy link

efolio commented Jan 3, 2024

I reached out to you on Discord, you need to befriend me so we can PM :)

@PaulMuadDib
Copy link

PaulMuadDib commented Mar 15, 2024

Same problem here:
image
trying to change between the 3 modes (Auto, Manual Eco Active or Manual Eco inactive) fails. Those 3 modes are indeed the ones of the mobile app.
With HA, I can only trigger the boost mode (available in the 3 modes, the only option in the auto mode) by setting "DHWP Actuator Boost mode duration" to 1 (above 0).
The is no way in the mobile app to set the temperature target (or indirectly through the expected number of showers in the manual mode, whereas it is automatically set in the auto mode) or to trigger the heat pump (only via a solar input).

config_entry-overkiz-d932b5502b744e3b7d3bed0329a61471 (2).json

@kilkenny44
Copy link

@sippe2
Copy link

sippe2 commented Mar 22, 2024

Hello,

Same problem here with Atlantic Steatite Cube Wi-Fi. Unable to change modes manual, eco+, absence and so on...

config_entry-overkiz-cb29e09c672460151f12b67990119d54 (1).json

This looks strange:

Nordpool --- Boiler (On to Off): Error executing script. Error for call_service at pos 2: Operation mode autoMode not valid for entity water_heater.lamminvesivaraaja. Valid operation modes are: eco, auto
Nordpool --- Boiler (On to Off): Error executing script. Error for call_service at pos 2: {'errorCode': 'INCOMPATIBLE_VALUE', 'error': 'setDHWMode() : Invalid value for command parameter p1 : expected string value (autoMode, manualEcoActive, manualEcoInactive) but got auto (String)'}
Nordpool --- Boiler (On to Off): Error executing script. Error for call_service at pos 2: Operation mode manualEcoInactive not valid for entity water_heater.lamminvesivaraaja. Valid operation modes are: eco, auto

It's also impossible to turn off or set away (absence).

Clever ideas?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests