-
Notifications
You must be signed in to change notification settings - Fork 78
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. |
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).
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