denpamusic / homeassistant-plum-ecomax

Plum ecoMAX boiler controller integration for Home Assistant.
MIT License
29 stars 7 forks source link

Can't switch off mixer pump #43

Open danielkovarik2 opened 10 months ago

danielkovarik2 commented 10 months ago

Is there an existing issue for this?

I'm having the following issue:

I am not able to control mixer pump as the switch is disabled. I can turn off via work mode which turns off the pump, but when I leave it off for more than a few seconds it does reset target mixer temp to 50 celsius and does not turn on the pump back again. Is there a reason why the pump switch is disabled?

Thank you and thank you for the great integration.

Screenshot 2023-11-09 at 9 42 42

I have following devices connected:

I'm connecting to my devices using:

Ethernet/WiFi to RS-485 converter

I'm seeing following log messages:

No response

My diagnostics data:

config_entry-plum_ecomax-f79604ccbcd8327ffc115ce04904bf03.json.txt

Code of Conduct

denpamusic commented 10 months ago

Hi,

Thank you for the feedback and kind words!

Firstly, lets clarify, that switch "Disable pump on thermostat" is not meant to be used to disable pump from Home Assistant (HA), it is used to tell ecoMAX (EM) to disable pump when room thermostat reaches set temperature.

Here's an excerpt from the manual for your controller: Excerpt from the ecoMAX 860D3-HB manual about Disable pump by thermostat parameter

After reviewing diagnostics that you provided, I concluded that this switch is disabled, because EM860D3-HB uses different parameter table, from regular EM 8xx series. Instead of using "off_therm_pump" key as other EM 8xx, it's most likely uses "therm_mode" key to control this option. For the next version I will think of method to handle such differences.

As for disabling pump from the HA, there's sadly no way other then using work mode. If you need a switch, you can create one using HA's template integration.

For example:

switch:
  - platform: template
    switches:
      mixer_work_mode_switch:
        value_template: "{{ is_state('select.<your work mode select id>', 'heating') }}"
        turn_on:
          service: select.select_option
          data:
            option: "heating"
          target:
            entity_id: select.<your work mode select id>
        turn_off:
          service: select.select_option
          data:
            option: "off"
          target:
            entity_id: select.<your work mode select id>

I'll take a look at why your target mixer temp are getting reset, but it's probably how controller is supposed to operate, since this integration only sends a request to change a single parameter, when changing mixer's "Work mode". That being said, you can also use aforementioned template integration to reset target temp to required value, when turning mixer back on.

Hopefully this helps you to create a switch.

Thanks again for the feedback and diagnostics!

danielkovarik2 commented 10 months ago

Thank you @denpamusic for clarification. My use case is to pair this integration with TRVs. So I want to switch off the mixer pump when all valves are closed and turn it on when some of them opens. I will probably just set the target temperature to minimum to mimic off and maximum to mimic on as it's probably the safest solution.

denpamusic commented 10 months ago

You're welcome! You can also use template switch to set target temperature as you described, just use service: number.set_value instead of service: select.select_option. Sorry I couldn't help you more...

edit. I'll keep this issue open, until I fix missing "off_therm_pump" parameter for the EM860D3-HB.