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

hvac_action does not change to idle in some cases #239

Open
thomas2403 opened this issue Sep 26, 2024 · 3 comments
Open

hvac_action does not change to idle in some cases #239

thomas2403 opened this issue Sep 26, 2024 · 3 comments

Comments

@thomas2403
Copy link

I have set up a SmartThermostat for a room. Everything looks fine when it is heating.
But when the current temperature is above the setpoint (desired temperature), the hvac_action stays at heating status and the control_output is at 5%. It never goes below 5% unless I do a restart.
The example below show current_temperature: 23.5°C and temperature: 22°C with pid_i: 0. I would expect, that the output would go to 0%. But it stays at 5%. I want to switch off the gas boiler, when each thermostat is at idle state.

BTW, if someone is wondering. I use an mqtt device, which gives me room temperature and the setpoint for a room. It will only work in 0.5°C steps, but this is OK for me.

Actual status:

min_temp: 7
max_temp: 30
target_temp_step: 0.5
current_temperature: 23.5
temperature: 22
hvac_action: heating
away_temp: null
eco_temp: null
boost_temp: null
comfort_temp: null
home_temp: null
sleep_temp: null
activity_temp: null
control_output: 5
kp: 20
ki: 0.002
kd: 0
ke: 0
pid_mode: auto
pid_i: 0
friendly_name: Thermostat DG Monika
supported_features: 385

Config:

- platform: smart_thermostat
name: Thermostat DG Monika
unique_id: "smart_thermostat_dg_mo"
heater:
- number.e2m_dg_monika_nord_config_valve_position
- number.e2m_dg_monika_sued_config_valve_position
target_sensor: sensor.raumtemperatur_dg_mo
min_temp: 7
max_temp: 30
ac_mode: False
target_temp: 21
keep_alive:
seconds: 60
kp: 20
ki: 0.002
kd: 0
ke: 0
output_min: 0
output_max: 100
pwm: 0
sampling_period: 60
target_temp_step: 0.5
hot_tolerance: 0.0
cold_tolerance: 0.0

Any idea, why this happens?

@ScratMan
Copy link
Owner

Please add debug: true to your configuration file and restart before checking the pid_p, pid_d and pid_e attributes.
You may also look in the logs to see if an error occurs.

@thomas2403
Copy link
Author

Here is the situation again, this time with debug output. I still don't get it, why the output is not going to zero

min_temp: 7
max_temp: 30
target_temp_step: 0.5
current_temperature: 24.5
temperature: 22.5
hvac_action: heating
away_temp: null
eco_temp: null
boost_temp: null
comfort_temp: null
home_temp: null
sleep_temp: null
activity_temp: null
control_output: 5
kp: 20
ki: 0.002
kd: 0
ke: 0
pid_mode: auto
pid_i: 0
pid_p: -40
pid_d: -0.0
pid_e: 0
pid_dt: 60.00013613700867
friendly_name: Thermostat DG Bad
supported_features: 385

@ScratMan
Copy link
Owner

All pid_... are at 0, control_output being the sum, it shouldn't be non-null. Please look in the logs, there may be an exception raised by home assistant, preventing the PID output value to be stored and applied correctly in the thermostat.

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

No branches or pull requests

2 participants