Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat(hvac): Refactor HVAC to be extensible for future systems #69

Merged
merged 1 commit into from
Jan 14, 2020

Conversation

chriswmackey
Copy link
Member

This commit overhauls how HVAC systems are currently assigned to the Python objects and how they are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model dictionary schema in order to support this.

This commit also creates a base _HVACSystem class from which all HVAC systems will inherit and lays out simple ground rules for adding new HVAC classes to honeybee_energy. These ground rules will be followed when we eventually add the honeybee_energy_hvac extension.

Lastly, I added a few new features to the IdealAirSystem class. Notably, I added heating/cooling availability schedules both as a means to test out how we will collect schedules across future detailed HVAC systems and because @zha specifically requested them :)

@chriswmackey chriswmackey added enhancement New feature or request critical Features/fixes that are critical to continued development new development For issues that require new code honeybee energy labels Jan 13, 2020
@chriswmackey chriswmackey self-assigned this Jan 13, 2020
chriswmackey added a commit to chriswmackey/honeybee-energy-standards that referenced this pull request Jan 13, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
chriswmackey added a commit to chriswmackey/honeybee-schema that referenced this pull request Jan 13, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69)
chriswmackey added a commit to chriswmackey/honeybee-grasshopper-core that referenced this pull request Jan 13, 2020
This commit brings the plugin up-to-date with [this recent one on honeybee_energy](ladybug-tools/honeybee-energy#69).
@chriswmackey chriswmackey force-pushed the master branch 2 times, most recently from ad1afb6 to 2784497 Compare January 14, 2020 00:25
chriswmackey added a commit to chriswmackey/honeybee-schema that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69)
chriswmackey added a commit to chriswmackey/honeybee-openstudio-gem that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69) and [this PR in honeybee_shcema](ladybug-tools/honeybee-schema#12)
chriswmackey added a commit to chriswmackey/honeybee-grasshopper-energy that referenced this pull request Jan 14, 2020
This commit brings the plugin up-to-date with [this recent one on honeybee_energy](ladybug-tools/honeybee-energy#69).
chriswmackey added a commit to chriswmackey/honeybee-grasshopper-energy that referenced this pull request Jan 14, 2020
This commit brings the plugin up-to-date with [this recent one on honeybee_energy](ladybug-tools/honeybee-energy#69).
chriswmackey added a commit to chriswmackey/honeybee-openstudio-gem that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69) and [this PR in honeybee_shcema](ladybug-tools/honeybee-schema#12)
chriswmackey added a commit to chriswmackey/honeybee-schema that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69)
chriswmackey added a commit to chriswmackey/honeybee-openstudio-gem that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69) and [this PR in honeybee_shcema](ladybug-tools/honeybee-schema#12)
honeybee_energy/hvac/_base.py Outdated Show resolved Hide resolved
honeybee_energy/writer.py Show resolved Hide resolved
tests/model_extend_test.py Show resolved Hide resolved
honeybee_energy/hvac/_base.py Outdated Show resolved Hide resolved
chriswmackey added a commit to chriswmackey/honeybee-schema that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69)
chriswmackey added a commit to chriswmackey/honeybee-openstudio-gem that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69) and [this PR in honeybee_shcema](ladybug-tools/honeybee-schema#12)
This commit overhauls how HVAC systems are currently assigned to the Python objects and how they are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC  system templates in honeybee_legacy).  It also restructures the representation of HVAC within the Model dictionary schema in order to support this.

This commit also creates a base _HVACSystem class from which all HVAC systems will inherit and lays out simple ground rules for adding new HVAC classes to honeybee_energy. These ground rules will be followed when we eventually add the honeybee_energy_hvac extension.

Lastly, I added a few new features to the IdealAirSystem class. Notably, I added heating/cooling availability schedules both as a means to test out how we will collect schedules across future detailed HVAC systems and because @zha specifically requested them :)
@chriswmackey
Copy link
Member Author

@mostaphaRoudsari ,
For the sake of not holding up the PRs on other repos that are updating to this change, I am going to merge this one in. I can send some more PRs afterwards to address any other comments you have.

@chriswmackey chriswmackey merged commit e87c65d into ladybug-tools:master Jan 14, 2020
chriswmackey added a commit to ladybug-tools/honeybee-schema that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69)
@ladybugbot
Copy link
Contributor

🎉 This PR is included in version 1.23.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

chriswmackey added a commit to ladybug-tools/honeybee-grasshopper-core that referenced this pull request Jan 14, 2020
This commit brings the plugin up-to-date with [this recent one on honeybee_energy](ladybug-tools/honeybee-energy#69).
chriswmackey added a commit to ladybug-tools/honeybee-grasshopper-energy that referenced this pull request Jan 14, 2020
This commit brings the plugin up-to-date with [this recent one on honeybee_energy](ladybug-tools/honeybee-energy#69).
chriswmackey added a commit to ladybug-tools/honeybee-openstudio-gem that referenced this pull request Jan 14, 2020
This commit overhauls how HVAC systems are represented in the schema.

Specifically, it makes it possible in the future to support HVAC systems that are assigned to multiple Rooms (like most of the HVAC system templates in honeybee_legacy). It also restructures the representation of HVAC within the Model schema in order to support this.

This commit is coordinated with [this PR over on honeybee_energy](ladybug-tools/honeybee-energy#69) and [this PR in honeybee_shcema](ladybug-tools/honeybee-schema#12)
chriswmackey added a commit to chriswmackey/honeybee-energy-standards that referenced this pull request Jan 14, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
chriswmackey added a commit to chriswmackey/dragonfly-energy that referenced this pull request Jan 14, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
chriswmackey added a commit to ladybug-tools/honeybee-energy-standards that referenced this pull request Jan 14, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
chriswmackey added a commit to chriswmackey/dragonfly-energy that referenced this pull request Jan 14, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
chriswmackey added a commit to ladybug-tools/dragonfly-energy that referenced this pull request Jan 14, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
chriswmackey added a commit to chriswmackey/dragonfly-grasshopper that referenced this pull request Jan 14, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
chriswmackey added a commit to ladybug-tools/dragonfly-grasshopper that referenced this pull request Jan 14, 2020
This commit brings the tests in line with [this PR](ladybug-tools/honeybee-energy#69) on honeybee_energy.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
critical Features/fixes that are critical to continued development done energy enhancement New feature or request honeybee new development For issues that require new code released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants