jmcollin78 / versatile_thermostat

A full featured Thermostat for Home Assistant: presets, window, motion, presence and overpowering management
MIT License
277 stars 25 forks source link

Why doesn't VT turn off my AC when the set temperature is reached? #182

Closed escamoteur closed 9 months ago

escamoteur commented 10 months ago

My VTherm attributes are the following:

hvac_modes:
  - auto
  - cool
  - dry
  - heat
  - fan_only
  - "off"
min_temp: 15
max_temp: 23
target_temp_step: 1
fan_modes:
  - Auto
  - Full
  - High
  - Medium
  - Low
  - Silent
preset_modes:
  - none
  - eco
  - comfort
  - boost
swing_modes:
  - "Off"
  - Vertical
  - Horizontal
  - Both
current_temperature: 19.2
temperature: 23
fan_mode: Auto
preset_mode: none
swing_mode: Horizontal
hvac_action: null
hvac_mode: "off"
type: null
eco_temp: 17
boost_temp: 24
comfort_temp: 20
eco_away_temp: 17
boost_away_temp: 17
comfort_away_temp: 17
power_temp: 13
ext_current_temperature: 8.7
ac_mode: true
current_power: null
current_power_max: null
saved_preset_mode: none
saved_target_temp: 23
saved_hvac_mode: "off"
window_state: "off"
motion_state: null
overpowering_state: null
presence_state: null
window_auto_state: "off"
window_bypass_state: false
security_delay_min: 60
security_min_on_percent: 0.5
security_default_on_percent: 0.1
last_temperature_datetime: "2023-11-10T10:06:00.962124+01:00"
last_ext_temperature_datetime: "2023-11-10T10:08:28.677216+01:00"
security_state: false
minimal_activation_delay_sec: 10
device_power: 1
mean_cycle_power: null
total_energy: 0
last_update_datetime: "2023-11-10T10:08:28.688305+01:00"
timezone: Europe/Berlin
window_sensor_entity_id: binary_sensor.balkonture_kuche_contact
window_delay_sec: 30
window_auto_open_threshold: null
window_auto_close_threshold: null
window_auto_max_duration: null
motion_sensor_entity_id: null
presence_sensor_entity_id: null
power_sensor_entity_id: null
max_power_sensor_entity_id: null
is_over_climate: true
start_hvac_action_date: null
underlying_climate_0: climate.midea_ac_153931627969932
underlying_climate_1: null
underlying_climate_2: null
underlying_climate_3: null
regulated_target_temperature: 25
regulation_accumulated_error: 20
friendly_name: Heizung_Wohnzimmer
supported_features: 57

Describe the bug

A clear and concise description of what the bug is.

I'm trying to control my AC for heating with an external temperature sensor. It seems to work in generally but I observed,n that after reaching the target temperature the ACs set temperature was reduced below my set temperature but the AC was not switched off. I'm pretty sure I made some mistake in my config but don't know what's wrong.

jmcollin78 commented 10 months ago

Hello @escamoteur ,

In over_climate, the regulation is done by tyour underlying climate climate.midea_ac_153931627969932 itself. VTherm "only" informs it of the target temperature and turns it on/off when needed (window detection for instance).

So if the underlying doesn't switch off when the target temperature is reach, it is relative to the underlying and not to VTherm which does nothing special when target temperature is reach.

jmcollin78 commented 10 months ago

One point that you can try to change the default behaviour of the underlying if its regulations is bad is to activate the auto-regulation feature. See in README how it works.

I really think this could helps.

jmcollin78 commented 10 months ago

more over when I lookup at the attributes:

current_temperature: 19.2
temperature: 23

The target temperature (23) is not reached at all (19.2). So with thoses values it is normal than heating continue.

escamoteur commented 10 months ago

Hi Jean, thanks for getting back. The problem is that the internal regulation of the AC isn't very good because when heating the internal temp sensor gets wrong values. That's why I wanted to add an external temp sensor.

You say that your thermostat only sets the target temp in the AC, but I could observe, that it varies the target temp. So it I set a target temp of 21 the AC shows that its target temp is set to 23 and then moves down to 21 after some time.

Any idea what I could do?

All the best Thomas Am 11. Nov. 2023, 00:18 +0100 schrieb Jean-Marc Collin @.***>:

more over when I lookup at the attributes: current_temperature: 19.2 temperature: 23 The target temperature (23) is not reached at all (19.2). So with thoses values it is normal than heating continue. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

jmcollin78 commented 10 months ago

If you have turned on the auto-regulation this is normal. This is exactly for what it have been designed. See Readme for more information about auto-regulation.

if you don't have turned on the auto-regulation it is not normal but considering what you are describing, I suppose this is normal.

escamoteur commented 10 months ago

Yeah, I have turned it on. Any idea how I could achieve that the AC gets turned off when it has reached the target temp of the external sensor? Am 11. Nov. 2023, 08:16 +0100 schrieb Jean-Marc Collin @.***>:

If you have turned on the auto-regulation this is normal. This is exactly for what it have been designed. See Readme for more information about auto-regulation. if you don't have turned on the auto-regulation it is not normal but considering what you are describing, I suppose this is normal. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

jmcollin78 commented 10 months ago

AC gets turned off when it has reached the target temp

With VTherm no. But, there is no need to do that. The idea of regulation is to keep the device up so that it can regulate the temperature.

If you want to turn it off, you can do it by clicking on the 'off' button of the card, or with a scheduler when you are sure you don't need it for many hour (but of course the temperature will diverge)

escamoteur commented 10 months ago

The thing is that the AC unit will still consume energy even when it has reached the target temp. Probably not much but still. Could the auto regulation not send an off in that case? Am 11. Nov. 2023, 08:27 +0100 schrieb Jean-Marc Collin @.***>:

AC gets turned off when it has reached the target temp With VTherm no. But, there is no need to do that. The idea of regulation is to keep the device up so that it can regulate the temperature. If you want to turn it off, you can do it by clicking on the 'off' button of the card, or with a scheduler when you are sure you don't need it for many hour (but of course the temperature will diverge) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

jmcollin78 commented 10 months ago

Could the auto regulation not send an off in that case?

No. The purpose of regulation is to regulate. If the device is off, it is not possible to regulate anything.

Turning n and off all the time is not good I guess for device

jmcollin78 commented 10 months ago

Is it ok for you @escamoteur ? If yes can you please close the issue ? Thank you

escamoteur commented 9 months ago

Could the auto regulation not send an off in that case?

No. The purpose of regulation is to regulate. If the device is off, it is not possible to regulate anything.

Turning n and off all the time is not good I guess for device

Sorry for not getting back earlier. I'm using your thermostat now with default self-regulation and when reaching the target temperature my inside AC stops the fan almost completely and just stays that way for a long time. As your thermostat gets its readings from an external zigbee sensor, it would be possible to switch off the AC until temp drops below a minimum delta before powering on the AC unit again.

No. The purpose of regulation is to regulate. If the device is off, it is not possible to regulate anything.

this would still be regulating and probably save energy.

jmcollin78 commented 9 months ago

Sorry, but I will not do that. It is a specific use case. You use it like that but me not. When the target temperature is reach, I don't turn off the heater else temperature will fall down, which exactly what we don't want to save energy. To save energy, we need a stable temperature.

escamoteur commented 9 months ago

IMHO it depends on how good your insulation is and how fast room temperature drops again after having reached its target limit. We heat not exclusively with ACs. As ACs get quickly to their working temperature it can make sense to completely switch it off for half an hour and only switch it on when the temperature has dropped too far. The internal regulation of the AC keeps it running with the fan almost off and almost no heat comes out of the AC when the AC thinks it has reached its target temp, so I don't think it will change room temperature a lot if we would switch the AC off till the temp drops and by this save energy. But I understand if you don't add this as a new feature. I know from my own OSS packages that you can't make every one happy.

jmcollin78 commented 9 months ago

The internal regulation of the AC keeps it running with the fan almost off and almost no heat comes out of the AC when the AC thinks it has reached its target temp, so I don't think it will change room temperature a lot if we would switch the AC off till the temp drops and by this save energy.

I'm not sure to understand this. You mean that event if the AC is turned off, you have a internal regulation which continue to heat (almost no heat) and a little fan (fan almost off) ? Off should be off. The AC I have is totally off (closed) when I send it a hvac_off command.

jmcollin78 commented 9 months ago

I close it but we can continue to discuss about that if needed