-
Notifications
You must be signed in to change notification settings - Fork 79
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
Setpoint Restructure #655
base: master
Are you sure you want to change the base?
Setpoint Restructure #655
Conversation
When this goes in it needs to be accompanied with a new chapter in docs.brickschema.org |
@connorjcantrell, excellent suggestion. A few considerations I might add: Deadband can be ambiguous so it needs to be very clearly defined. As an example, if you have a 2 degree deadband, some people interpret that as 2 degrees either side of the setpoint while others interpret it as 1 degree either side of the setpoint. Also, not all deadbands are centered around the setpoint. As an example, you might have a total deadband of 2 degrees, with 1.5 degrees above the setpoint and 0.5 degrees below the setpoint. I would personally define that as a 2 degree deadband with +0.5 degree offset. Airflow thresholds, particularly for terminal boxes with reheat, can be tricky. The box will have a minimum airflow threshold below which the active airflow setpoint can not be reset. Cooling only boxes will have a single maximum airflow threshold above which the active airflow setpoint can not be reset. But terminal boxes with reheat can have, but don't always have, a cooling maximum airflow threshold and a heating maximum airflow threshold, like what's shown in this diagram: My apologies for forgetting, but how were you planning on differentiating "active" setpoints from "target" setpoints. To clarify, if a terminal box has a zone air temperature setpoint of 72 degrees F, I would call that the target setpoint, and if that box also has a 4 degree deadband and is in heating, it would be effectively controlling to 70 degrees F, which I would call the active setpoint. |
Annoyingly, at least with Ecobee, the term they use is '{heat|cool} differential temperature'. https://support.ecobee.com/s/articles/Threshold-settings-for-ecobee-thermostats |
Deadband
Thanks @wroantree, you're right about the potential ambiguity of deadband terminology. To avoid confusion, I agree we should adopt the interpretation that a 2-degree deadband means 2 degrees total, or 1 degree on either side of the setpoint. For example, with a setpoint of 70°F and a 4-degree deadband:
OffsetThe term "offset" seems to have its own ambiguity issues. We should reconsider how we use it for setpoint-threshold differences. Many sources indicate "offset" typically describes the error between a process and target value, which differs from our current usage. If we reserve "offset" for process-target value errors, what term should we use for the setpoint-threshold difference?
All together now...I have put together several scenarios that we might come across in practice. I am open to suggestions on how to model each scenario. For these examples, I'm using the following terms (open to alternative suggestions): Setpoint Offset: The deviation between a threshold and the setpoint. Deadband Shift (replacing "Offset"): The displacement of the deadband's center from the setpoint. It indicates how much the deadband is shifted above or below the setpoint, rather than being equally distributed around it. Deadband: The total range between two thresholds where no control action occurs. Calculated as the difference between the upper and lower thresholds. For example, with an upper threshold of 72 and a lower threshold of 68, the deadband would be 4 units. Scenario A:
Scenario B:
Scenario C:
Scenario D: |
Hey @connorjcantrell , I stumbled over some modelling issues regarding setpoints in the past as well, so thanks for your important suggestions! I have one question and a remark: Edit: One could also argue that there is no need to model the setpoint/tolerance at all. If the deadband is not equally distributed, one has to model using lower and upper thresholds. |
In Scenario C, the "setpoint offsets" of -1 and +3 describe the position of the the lower and upper thresholds relative to the setpoint. The "deadband shift" of +1 (corrected from -1) indicates the deadband's center is 1 unit above the setpoint. Definitions:
I agree with this. Perhaps we can hold off on introducing this concept and wait to see if it is needed in the future. We have two options:
I'm in favor of option 2. Do you have any strong opinions on this @wroantree / @SBlechmann? |
@connorjcantrell I am also in favor of option 2. I think the concepts will need to be defined eventually, but not necessarily right now. One quick point about which approach to take when they do get defined, I would suggest defining both as well as the translations between the two. The reality is that there's no standardized approach and I've seen both approaches in practice, so we should define both so that regardless of what points are discovered (setpoint, threshold, threshold or setpoint, deadband, and shift), the points can be accurately modeled and potentially translated to a "standard" approach, using virtual calculated points, if one is selected. Thoughts? |
I have been spending time on this at Switch as well, my findings align well with yours, here is a summary:
|
@connorjcantrell I agree with option 2 as well. Thanks for clarifying. |
Hi @KatieJMcGee, Regarding your comparison of "EMW Mode Disable Outside Air Temperature Upper Threshold" vs "EMW Mode Disable Above Outside Air Temperature Threshold": Upper Threshold implies the action is initiated when the temperature is above the specified value. I have updated the definition of Upper and Lower Threshold for added clarity. Here's the improved definition:
Am I understanding your concern of upper/lower thresholds correctly?
I agree, the term offset is used in several contexts. There are several offsets that appear to require their own distinct name:
|
@wroantree @SBlechmann @KatieJMcGee I've created a separate issue to address Offset Ambiguity: #668 Given the potential depth of this discussion, I believe it warrants its own dedicated thread. This will allow us to thoroughly explore the various contexts and definitions of "Offset" in our industry. More in particular, the offset between setpoint and threshold is related to the topic of deadband mentioned in this PR. The resolution of this new issue has been added as a prerequisite for this PR. This ensures that we'll have clarity on offset-related terminology before proceeding with the changes proposed here. Please continue any offset-related discussions in the new issue. This will help keep our conversations organized and focused. |
Problem
The current Setpoint class has a combination of "Targets" (e.g., Zone Air Temp Setpoint), "Thresholds" (e.g., Cooling Setpoint), and "Parameters" (e.g., Deadband Setpoint).
Issues:
Solution
Restructure classes to clearly represent the semantic differences between these fundamental concepts:
Redefine Setpoint to represent only "Target" setpoints:
Introduce a new Threshold class for concepts initiating actions when a process value crosses a limit:
Create two Threshold subclasses:
Move (and rename) several Setpoints to Parameter:
This separation clarifies the distinct concepts and improves class organization.
Proposed Class Reorganization (Draft)
Reclassified as Parameters
Reclassified as Thresholds
Deprecated Classes
New Additions
Setpoint:
Threshold:
Under Consideration
Potential reclassification as Parameters:
Open Discussion Topics