[component][pid] Pid climate add set deadband parameters action#14730
[component][pid] Pid climate add set deadband parameters action#14730ngolf wants to merge 15 commits intoesphome:devfrom
Conversation
|
To use the changes from this PR as an external component, add the following to your ESPHome configuration YAML file: external_components:
- source: github://pr#14730
components: [pid]
refresh: 1h(Added by the PR bot) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #14730 +/- ##
==========================================
+ Coverage 75.36% 75.38% +0.02%
==========================================
Files 55 55
Lines 12076 12076
Branches 1667 1667
==========================================
+ Hits 9101 9104 +3
+ Misses 2558 2556 -2
+ Partials 417 416 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
👋 Hi there! I've automatically requested reviews from codeowners based on the files changed in this PR. @OttoWinter - You've been requested to review this PR as codeowner(s) of 2 file(s) that were modified. Thanks for your time! 🙏 |
There was a problem hiding this comment.
Pull request overview
Adds runtime tuning and observability for PID deadband multipliers in the PID climate component.
Changes:
- Add a new automation action
climate.pid.set_deadband_control_parameters_multipliersto set PID deadband KP/KI/KD multipliers at runtime. - Add new PID sensor types to expose deadband KP/KI/KD multipliers.
- Extend PID component tests to cover the new action and sensor types.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/components/pid/common.yaml | Adds config coverage for the new deadband multiplier action and new PID sensor types. |
| esphome/components/pid/sensor/pid_climate_sensor.h | Extends the C++ enum with deadband multiplier sensor types. |
| esphome/components/pid/sensor/pid_climate_sensor.cpp | Publishes the new deadband multiplier sensor readings from the PIDClimate parent. |
| esphome/components/pid/sensor/init.py | Exposes the new sensor type strings mapped to the new enum values. |
| esphome/components/pid/pid_climate.h | Introduces the new automation action class that sets deadband multipliers on the PIDClimate instance. |
| esphome/components/pid/climate.py | Registers the new automation action and wires templatable config values into the C++ action. |
You can also share your feedback on Copilot code review. Take the survey.
Memory Impact AnalysisComponents:
📊 Component Memory Breakdown
🔍 Symbol-Level Changes (click to expand)Changed Symbols
New Symbols (top 15)
Removed Symbols (top 15)
This analysis runs automatically when components change. Memory usage is measured from a representative test configuration. |
What does this implement/fix?
Adds actions (climate.pid.set_deadband_control_parameters_multipliers, climate.pid.set_deadband_threshold_parameters) to allow tuning pid deadband multipliers at runtime.
Also adds sensors for PID multipliers and threshold parameters.
Types of changes
Related issue or feature (if applicable):
Pull request in esphome-docs with documentation (if applicable):
Test Environment
Example entry for
config.yaml:Checklist:
tests/folder).If user exposed functionality or configuration variables are added/changed: