added new field rangeUnit in StateDescription #4455
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addressed Issue (1 mark):
The main issue tackled was the unclear handling of
min
,max
, andstep
values in thermostat configurations when units like Celsius and Fahrenheit were used, causing inconsistencies. (Issue #4432)What You Have Reengineered (1.5 marks):
StateDescription
Class: Added arangeUnit
attribute to make unit handling explicit.rangeUnit
.StateDescriptionFragment
and its builder classes to recognize and userangeUnit
.Impact of Changes (1 mark):
These updates allow for clear, unit-aware configurations, ensuring thermostats behave consistently regardless of the unit system. Plus, everything still works as before if
rangeUnit
isn’t used.Reengineering Strategy or Approach Used (1.5 marks):
A step-by-step refactoring approach was used to add
rangeUnit
without breaking existing code. Tests were updated to confirm everything functions smoothly, keeping things backward-compatible and ready for future enhancements.