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

Overkiz: Atlantic Domestic Hot Water Operating Mode issue #113219

Closed
lolo31370 opened this issue Mar 13, 2024 · 28 comments · Fixed by #114178
Closed

Overkiz: Atlantic Domestic Hot Water Operating Mode issue #113219

lolo31370 opened this issue Mar 13, 2024 · 28 comments · Fixed by #114178
Assignees

Comments

@lolo31370
Copy link

The problem

First, the Operating Mode showed by HA when switching with the Atlantic App is "eco" or "performance"
But the HA UI only allows to choose between manualEcoActive, manualEcoInactive and autoMode which are incorrect (error message while apply).
I have a script calling set_operation_mode to eco or performance which worked last month but doesn't anymore after upgrading to 2024.3.
Looking at the code, the component should use the class AtlanticPassAPCDHW from atlantic_pass_apc_dhw.py but I suspect it calls instead DomesticHotWaterProduction from domestic_hot_water_production.py
Atlantic

What version of Home Assistant Core has the issue?

core-2024.3.0

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

Overkiz

Link to integration documentation on our website

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

Diagnostics information

overkiz-e260467bf99e4dee543219f7a5a38968-DHWP Actuator-665b2430f7ea57de0a447ce4c91a8678.json

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

Hey there @iMicknl, @vlebourl, @tetienne, @nyroDev, @Tronix117, 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 Renames 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.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


overkiz documentation
overkiz source
(message by IssueLinks)

@lolo31370
Copy link
Author

In the log file, the DHW ("controllableName": "io:AtlanticDomesticHotWaterProductionV2_CETHI_V4_IOComponent") section starts at line 9542 to line 10267
Be careful, I have another DHW ("controllableName": "modbuslink:AtlanticDomesticHotWaterProductionMBLComponent") starting at line 10402 to line 11118

@kilkenny44
Copy link

Same problem for me (see logs)
Away mode not working
Setting temp neither

home-assistant-overkiz.log

@PaulMuadDib
Copy link

Hello there.
Trying to change the OPERATION_MODE to the 3 available modes (manualEcoActive, manualEcoInactive, autoMode) fails (diagnostic file attached), but calling the service water_heater.set_operation_mode with the the 3 keys: eco, performance or 'off' works: eco puts the water heater in auto mode, off puts it back to manual, and performance is the boost mode (according to the mobile app).
config_entry-overkiz-d932b5502b744e3b7d3bed0329a61471 (3).json

@anasiot
Copy link

anasiot commented Mar 21, 2024

Same problem here only 3 modes
Auto mode eco active eco inactive and all in error. performance to activate the boost is not showed can you please advise

@ALERTua
Copy link
Contributor

ALERTua commented Mar 22, 2024

After multiple hours of investigation, I'm afraid, AtlanticPassAPCDHW won't help, as it calls the boost mode using the wrong command, is based on HEAT_PUMP mode, and does not account for manualEcoActive/Inactive. This needs a new subclass from AtlanticPassAPCDHW to support all this. I will give it a try, but I doubt my skills are enough to make a decent fix.

@ALERTua
Copy link
Contributor

ALERTua commented Mar 25, 2024

I have added a pull request #114178, that has been tested on my Atlantic Steatite Cube WI-FI VM 150 S4CS 2400W.
The change correctly determines its type, uses the newly created class, adds multiple sensors, correctly changes between boost, eco, manual, and away modes.
image

@lolo31370
Copy link
Author

Thank you @ALERTua
You're new class is working on my second DHW (modbuslink:AtlanticDomesticHotWaterProductionMBLComponent) but doesn't work on my first DHW (io:AtlanticDomesticHotWaterProductionV2_CETHI_V4_IOComponent).
Even if I add it in the CONTROLLABLE_NAME_TO_WATER_HEATER_ENTITY array.
I guess I have to code a specific class for this one...

@ALERTua
Copy link
Contributor

ALERTua commented Mar 27, 2024

@lolo31370 So the way it works now is all devices are distributed between the three types by one particular description: UIWidget. As this field is <UIWidget.DOMESTIC_HOT_WATER_PRODUCTION: 'DomesticHotWaterProduction'> for my Atlantic Steatite Cube WI-FI VM 150 S4CS 2400W, it falls into the common DomesticHotWaterProduction usage, which does not contain the correct instructions for the device. In my code, I have added another field to distinguish the devices by: controllable_name, as this field was suitable for my device to distinguish it from the common DomesticHotWaterProduction device.
I understand that there can be hundreds of more devices with their own instructions and maybe distinguishable fields to tell them apart, but I have only one water heater and cannot cover more devices :)
Yes, you need a separate class then: maybe a child from an existing one, maybe totally new one, but I proved that it is not very hard to do, and can be done even blindly using .json from homeassistant like the ones above, as they contain all the commands and all the fields needed to control and read a device.
Let's prove my point by finishing what I started, then I will help to cover more devices.

@sippe2
Copy link

sippe2 commented Mar 28, 2024

@ALERTua Great work and thank you! Hopefully the Atlantic STEATITE CUBE WIFI WM100 is close enough to the device you are using. It seems there might be some variations between models.

@lolo31370
Copy link
Author

@ALERTua It seems you gave up to add a new class seeing the 3 new PRs included in the 2024.4.
Is it a request from the HA team ?
Do they ask to update binary_sensor, sensor and number.py ?
I created a new class called by your selection method and it works :)

@ALERTua
Copy link
Contributor

ALERTua commented Apr 7, 2024

@lolo31370 no-no, I am not at all giving up on this! According to #114178 (comment) there is one mere formal thing left — to change one variable to another. The change will be possible as soon as https://github.com/home-assistant/core/blob/dev/homeassistant/components/overkiz/manifest.json "requirements": ["pyoverkiz==1.13.9"], is "requirements": ["pyoverkiz==1.13.10"],. @iMicknl said we'll try to merge my PR in for next months update.

@lolo31370 What device did you cover with your new class? Will you make a PR after mine is merged?

@lolo31370
Copy link
Author

@ALERTua Understood, I will wait next month to do a PR :)
I did the class for a Thermor Aeromax 5 but I guess it should also work with other DWH with heat pump from Atlantic

@iMicknl
Copy link
Contributor

iMicknl commented Apr 7, 2024

@lolo31370 you can already create your PR. When #114178 is merged, you can rebase your branch. It is good to create it as early as possible, since a review will take time.

@ALERTua
Copy link
Contributor

ALERTua commented Jul 3, 2024

congratulations, everyone! the changes have been released and are working well in my production server :)

@anasiot
Copy link

anasiot commented Jul 3, 2024

congratulations, everyone! the changes have been released and are working well in my production server :)

Just installed the HA 2024 07 release but I don’t see those changes on overkiz integration can you please advise ?

@sippe2
Copy link

sippe2 commented Jul 3, 2024

congratulations, everyone! the changes have been released and are working well in my production server :)

@ALERTua Thank you, Alexey. I am very grateful that you managed to solve the secrets of the Atlantic Steatite Cube. I hope you continue to develop support for the Atlantic. You just made my life a lot easier, as I no longer have to keep running to buy new smart plugs when the old ones break under load (and yes, 16A relay seems to be too weak), and I no longer have to fear a fire.

Atlantic Steatite Cube VM100 2400W
dashboard

Just one very stupid question... How can I set absence on in automation side?

Performance mode goes like this:

performance

And manual mode goes like this:

manual

But absence mode... Do you prefer like this:

away

@ALERTua
Copy link
Contributor

ALERTua commented Jul 4, 2024

Just installed the HA 2024 07 release but I don’t see those changes on overkiz integration can you please advise ?

The changes applied on both previously added devices and the newly added ones. Try re-adding your integration

@sippe2 thank you for your kind words. I will dig deeper into the possibilities of the API of my device when I have more stable electricity. Right now everything circles around getting the house stuff done in those 2 hours when the electricity is on.

As for the Away mode, this code works for me:

service: water_heater.set_away_mode
data:
  away_mode: true
target:
  entity_id: water_heater.boiler

The Away mode is not an operational mode in Home Assistant, but a separate device state. It can be done as an operational state, which would be more logical for me, but I've done it the way it was previously done in the other similar devices of this integration.

@anasiot
Copy link

anasiot commented Jul 4, 2024

Just installed the HA 2024 07 release but I don’t see those changes on overkiz integration can you please advise ?

The changes applied on both previously added devices and the newly added ones. Try re-adding your integration
I already tried to delete the integration and reinstall it again but it does not change any idea
IMG_5303

@sippe2
Copy link

sippe2 commented Jul 4, 2024

@anasiot , What device are you using? The following devices have been found to work at this time:
Atlantic Steatite Cube WI-FI ES-VM 150 (2400W)
Atlantic Steatite Cube WI-FI ES-VM 100 (2400W)

@anasiot
Copy link

anasiot commented Jul 4, 2024

@anasiot , What device are you using? The following devices have been found to work at this time: Atlantic Steatite Cube WI-FI ES-VM 150 (2400W) Atlantic Steatite Cube WI-FI ES-VM 100 (2400W)

I don’t know what is the reference of mine , I have this info at the overkiz main page connected with Cozytouch V2
IMG_5304

@ALERTua
Copy link
Contributor

ALERTua commented Jul 4, 2024

@anasiot that's a different device to operate. I could help you set up a development environment to test and add support for your device via my changes if you want to and have Linux and python knowledge. please contact me via facebook or telegram @ALERTua

@anasiot
Copy link

anasiot commented Jul 4, 2024

@ALERTua oh I was waiting for this feature since few months :( I don’t have Linux and python knowledge , only sql basics

@ALERTua
Copy link
Contributor

ALERTua commented Jul 4, 2024

@anasiot I'm afraid in this case the only way for me is to get your Atlantic Account credentials, add your device to my development HA server, make your device work (make it use my current changes or make a new class for it), create a pull request to support your device type. and won't be able to test it before it is in the stable HA version.

@frco9
Copy link

frco9 commented Jul 17, 2024

Hello @ALERTua,

Could you test my branch : https://github.com/frco9/core/tree/feat/make-it-work-for-io (this commit).
I've tested it on my Atlantic Lineo (io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent).
All your changes are working for my io device, can you test it also works for modbus ?
If so I'll create an official PR

@ALERTua
Copy link
Contributor

ALERTua commented Jul 18, 2024

@frco9 reading them, the changes seem fine (except for the class renaming and annotation), I will test them as soon as I have the electricity. It is a tough time with power right now in Kyiv, Ukraine. Got only 3 times by 2 hours of electricity per day.

@sippe2
Copy link

sippe2 commented Jul 18, 2024

Hi @frco9,

It’s worth testing whether the absence mode works the same way as in the Atlantic Steatite Cube. @ALERTua has made a fix to its functionality. Practically, the absence mode requires start and end times to start correctly.

iMicknl/python-overkiz-api#1294
#121801

@ALERTua
Copy link
Contributor

ALERTua commented Jul 18, 2024

@frco9 Got some time to test due to the rainy weather. Yes, your code works. Here's the final one in my branch without the class naming. Based on my PR #121801, so the away mode also works correctly.
Let's not spam here. We can keep in touch in Discord: alertua

@github-actions github-actions bot locked and limited conversation to collaborators Aug 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants