Skip to content

Fix timeseries heating/cooling setpoints when using on/off thermostat deadband model#2192

Merged
shorowit merged 3 commits intomasterfrom
ddb_timeseries_setpoints
Apr 16, 2026
Merged

Fix timeseries heating/cooling setpoints when using on/off thermostat deadband model#2192
shorowit merged 3 commits intomasterfrom
ddb_timeseries_setpoints

Conversation

@shorowit
Copy link
Copy Markdown
Contributor

@shorowit shorowit commented Apr 13, 2026

Pull Request Description

We now use the heating/cooling setpoint schedules ("Schedule Value") rather than the zone output variables (e.g., "Zone Thermostat Heating Setpoint Temperature"), since E+ will automatically adjust the latter as part of the model.

Results for base-hvac-air-to-air-heat-pump-1-speed-research-features.xml:

image

The blue/orange data is before this change and the red/black is after. The latter no longer shows the E+ adjustments that are being made. However, they may still be confusing to a user because the HPXML inputs are 78F for cooling and 64-70F for heating, with a 2F deadband, while the timeseries results show the edges of the deadband. Maybe we just need to document this?

Checklist

Not all may apply:

  • Schematron validator (EPvalidator.sch) has been updated
  • Sample files have been added/updated (openstudio tasks.rb update_hpxmls)
  • Tests have been added/updated (e.g., HPXMLtoOpenStudio/tests/test*.rb and/or workflow/tests/test*.rb)
  • Documentation has been updated
  • Changelog has been updated
  • openstudio tasks.rb update_measures has been run
  • No unexpected changes to simulation results of sample files

@shorowit
Copy link
Copy Markdown
Contributor Author

However, they may still be confusing to a user because the HPXML inputs are 78F for cooling and 64-70F for heating, with a 2F deadband, while the timeseries results show the edges of the deadband. Maybe we just need to document this?

@yzhou601 @jmaguire1 Let me know if you have an opinion on this.

@shorowit shorowit requested a review from yzhou601 April 14, 2026 00:46
@jmaguire1
Copy link
Copy Markdown
Collaborator

I think documentation would be fine here unless we start getting complaints from users. Thanks for highlighting this one and fixing the bug!

@yzhou601
Copy link
Copy Markdown
Collaborator

However, they may still be confusing to a user because the HPXML inputs are 78F for cooling and 64-70F for heating, with a 2F deadband, while the timeseries results show the edges of the deadband. Maybe we just need to document this?

@yzhou601 @jmaguire1 Let me know if you have an opinion on this.

Yep we need to document it or we can post processing if it's just for reporting (it would be a larger lift that I'm not sure if it's worthy). The ideal is improving E+ to adjust the way they model the on-off deadband thermostat, currently it takes setpoint schedule as cut-in temperature and applies the temperature difference above/below setpoint, it would be nice if they can take setpoint schedule as the middle point and apply deadband around it. That will be a smaller lift on E+ side but can save so much processing on our end!

@shorowit shorowit merged commit 19caeea into master Apr 16, 2026
@shorowit shorowit deleted the ddb_timeseries_setpoints branch April 16, 2026 20:18
@github-project-automation github-project-automation bot moved this from Triage to Done in OpenStudio-HPXML Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants