plugwise / plugwise-beta

Custom-component / development version of the Plugwise Home Assistant platform
MIT License
24 stars 8 forks source link

[BUG]: Anna/Elga combo, Anna only provides Heat/Cool mode but Elga has cooling turned off #547

Closed robertklep closed 10 months ago

robertklep commented 10 months ago

Describe the bug.

My Elga (old model) has cooling explicitly turned off:

image

However, Anna only has Heat/Cool mode:

image

I would expect Anna to only have the Heat mode (it used to, I think it changed recently, possible going from 2023.11 to 2023.12).

This seems somewhat related to a previous issue I had, only there the issue was with the Elga device, not the Anna device.

What version of Plugwise Beta are you using?

v0.46.0a4

What was the last working version of Plugwise Beta (or Core if not using beta before)?

No response

What version of Home Assistant Core are you using?

core-2023.12.3

What type of installation are you running?

Home Assistant Container

How did you install plugwise-beta?

HACS

What kind of Plugwise device is having issues?

Smile: Anna

What firmware version is your Plugwise product at?

4.4.1

Logging

No response

Diagnostics information

No response

Additional information

Relevant output from /core/appliances:

      <point_log id="32b5621ce3a0490d99ca841397805041">
        <type>cooling_state</type>
        <unit/>
        <updated_date>2023-12-26T10:52:30.274+01:00</updated_date>
        <last_consecutive_log_date>2023-12-26T10:52:30.274+01:00</last_consecutive_log_date>
        <interval/>
        <boiler_state id="6421071fdcc744b5b0733173ecdf048d"/>
        <period start_date="2023-12-26T10:52:30.274+01:00" end_date="2023-12-26T10:52:30.274+01:00">
          <measurement log_date="2023-12-26T10:52:30.274+01:00">off</measurement>
        </period>
      </point_log>

      <point_log id="9257714483e4423a8a3423072eda3d40">
        <type>cooling_enabled</type>
        <unit/>
        <updated_date>2023-12-26T10:41:31.142+01:00</updated_date>
        <last_consecutive_log_date>2023-12-26T10:41:31.142+01:00</last_consecutive_log_date>
        <interval/>
        <cooling_toggle id="b556a934246f4d99979288841e7ee58a"/>
        <period start_date="2023-12-26T10:41:31.142+01:00" end_date="2023-12-26T10:41:31.142+01:00">
          <measurement log_date="2023-12-26T10:41:31.142+01:00">off</measurement>
        </period>
      </point_log>

      <point_log id="f44b7396040a45b6b7e06c8fe4727e90">
        <type>thermostat_supports_cooling</type>
        <unit/>
        <updated_date>2023-12-27T10:07:04.335+01:00</updated_date>
        <last_consecutive_log_date>2023-12-27T10:07:04.335+01:00</last_consecutive_log_date>
        <interval/>
        <dip_switch id="b00302a2eca64e00a771a29cb29ea86c"/>
        <period start_date="2023-12-27T10:07:04.335+01:00" end_date="2023-12-27T10:07:04.335+01:00">
          <measurement log_date="2023-12-27T10:07:04.335+01:00">off</measurement>
        </period>
      </point_log>

      <toggle_functionality id="7de76401da0249e1b9f13759d8938749">
        <cooling_toggle id="b556a934246f4d99979288841e7ee58a"/>
        <updated_date>2023-12-26T10:41:31.142+01:00</updated_date>
        <type>cooling_enabled</type>
        <state>off</state>
      </toggle_functionality>
bouwew commented 10 months ago

@robertklep This is not a bug. This is exactly how the Home Assistant devs have required us to implement this to be able to get the plugwise-beta code into the Home Assistant Core Plugwise integration. Meaning, when a climate-system has both heating and cooling capabilities, the hvac_mode must be heat_cool.

And in some aspects the HA devs are correct: the Anna+Elga system can be configured to automatically switch between heating and cooling based on certain temperature setpoints. For such a system the hvac_mode heat_cool gives a correct representation of such a system in HA.

We understand what you expect to see. Hopefully sometime in the future we can convince the HA devs that a climate-system that does not automatically switch between cooling and heating, can have separate hvac_mode's.

Also, we are not sure if the cooling_enabled point-log value is a clear representation of the status of the Elga. Maybe you can help us to understand the Anna+Elga combination better?

robertklep commented 10 months ago

I understand that when a system offers both heating and cooling, the mode should be heat_cool. But my Elga is configured to never cool, which is shown correctly in the first screenshot (the one with "Diagnostic").

So the integration knows that the Elga has cooling disabled, but the Anna device in HA still has heat_cool as its only mode (second screenshot), so there's a mismatch between the configured capabilities of the Elga device and the Anna device in HA.

I don't know if it's possible to dynamically switch the allowed hvac_mode's. If not, it makes sense to always use heat_cool because I'm sure there are people that use Elga's cooling mode. But like I said, up until recently the Anna device in HA was running in heat mode, with a single temperature attribute. I moved my HA server to a different server over Christmas, and also upgraded to the latest HA (from 2023.11.x), and noticed my automations and dashboard stopped working because the aforementioned attribute was gone and I now need to use sensor.*_heating_setpoint.

AFAIK it's the toggle_functionality that determines if cooling is enabled/disabled on the Elga.

bouwew commented 10 months ago

Again, we understand your problem. But as far as we know from other Elga owners that use the cooling-mode on the Elga, it cannot be set by the Plugwise App/local website.

What you point out, thermostat_supports_cooling = off, this we can probably use. I'll look into this.

robertklep commented 10 months ago

But as far as we know from other Elga owners that use the cooling-mode on the Elga, it cannot be set by the Plugwise App/local website.

AFAIK, that's correct, from what I know it's only possible to turn off cooling with the official Honeywell thermostat for the old-model Elga that I have. It wouldn't surprise me if it's not possible to turn off cooling entirely on the current Elga models.

What you point out, thermostat_supports_cooling = off, this we can probably use. I'll look into this.

That's a tricky situation though, because the Elga can still cool if the thermostat doesn't support it (that's what the dipswitch on the old Elga is used for, to tell Elga if the thermostat supports cooling or not). And in case of the Anna thermostat, I think it supports cooling.

bouwew commented 10 months ago

In the code I can check the state of thermostat_supports_cooling. If off, the code will assume that the cooling-mode is not available and the Anna will only show the hvac_mode = heat. Could that work? What do you think?

bouwew commented 10 months ago

I have a question: the toggle_functionality cooling_enabled, to which switch in the Plugwise App is that connected? Maybe to A6 Geen koelfunctie thermostaat?

Or is it somehow connected to these setpoints: image

robertklep commented 10 months ago

You have to enable cooling explicitly by pressing a button on the Elga:

image

("Knop 2")

The A6 switch and the cooling setpoints are only used to configure cooling when it's enabled.

bouwew commented 10 months ago

Thanks, yes I did understand before that cooling must be activated on the Elga. And that it cannot be activated from the Plugwise App.

It would help me to understand to which switch in the Plugwise App the thermostat_supports_cooling toggle is connected. Is there any way you can determine that?

robertklep commented 10 months ago

@bouwew apologies, I misunderstood.

The thermostat_supports_cooling toggle is connected to Elga's A6 dipswitch: EED76F25-8898-4437-BE79-18321F40F6D3_1_201_a

A6 on (in other words, to tell Elga that the connected thermostat does not support cooling):

      <point_log id="f44b7396040a45b6b7e06c8fe4727e90">
        <type>thermostat_supports_cooling</type>
        <unit/>
        <updated_date>2023-12-28T10:15:38.580+01:00</updated_date>
        <last_consecutive_log_date>2023-12-28T10:15:38.580+01:00</last_consecutive_log_date>
        <interval/>
        <dip_switch id="b00302a2eca64e00a771a29cb29ea86c"/>
        <period start_date="2023-12-28T10:15:38.580+01:00" end_date="2023-12-28T10:15:38.580+01:00">
          <measurement log_date="2023-12-28T10:15:38.580+01:00">off</measurement>
        </period>
      </point_log>

A6 off:

      <point_log id="f44b7396040a45b6b7e06c8fe4727e90">
        <type>thermostat_supports_cooling</type>
        <unit/>
        <updated_date>2023-12-28T10:16:39.342+01:00</updated_date>
        <last_consecutive_log_date>2023-12-28T10:16:39.342+01:00</last_consecutive_log_date>
        <interval/>
        <dip_switch id="b00302a2eca64e00a771a29cb29ea86c"/>
        <period start_date="2023-12-28T10:16:39.342+01:00" end_date="2023-12-28T10:16:39.342+01:00">
          <measurement log_date="2023-12-28T10:16:39.342+01:00">on</measurement>
        </period>
      </point_log>
bouwew commented 10 months ago

Ok thanks!

Then my idea is correct, I will update the plugwise code using this measurement. I will have something for you to test later this week :)

bouwew commented 10 months ago

@robertklep please update plugwise-beta to v0.46.1a0 and restart HA. After the restart all cooling-related entities should be gone. Also the hvac_mode heat_cool should be replaced by heat.

robertklep commented 10 months ago

Yep, seems to be working! 👍🏻

image
bouwew commented 10 months ago

Nice! Thanks for reporting.

bouwew commented 10 months ago

Implemented and released in pw-beta v0.46.1