Ali,
You have raised a great point that was also raised by some engineers with whom my architecture office is trying to develop a “shared energy model” workflow.
While I personally have never had the need to use space types, construction sets, etc. because Grasshopper allows the automatic assigning of schedules/loads/constructions to multiple zones at once, I realize that these features are critical for anyone wishing to edit things within the OpenStudio GUI.
This has become a big enough issue within my office work that I will definitely implement something to take care of this before the next stable release of Honeybee. I have just been taking a bit of time to think about the best way to implement it. Ideally, I would like to avoid adding additional components to assign space types or construction sets to zones since Honeybee already has a lot of components, it would be a bit redundant of the current functionality, and I know that both Mostapha and I like the “Grasshopperiness” of the current method for assigning schedules and construction sets to whatever lists of zones we want.
For this reason, I am currently leaning towards adding code to the OpenStudio component that can automatically figure out which zones have the same schedules and assign schedule sets. The same would be done for loads + load definitions. I have added an issue here so that you can track the progress of this:
https://github.com/mostaphaRoudsari/honeybee/issues/652
The only downside to this automation would be that people would not be able to name these schedule sets + loads definitions but I think this could be ok if I generate an automatic name from the first zone that has these things assigned (people can always rename things in the OpenStudio GUI).
I imagine doing something similar for construction sets:
https://github.com/mostaphaRoudsari/honeybee/issues/653
Once we have this initial functionality implemented, it will cut out a lot of the redundancy and we can think about space types. Personally, I’m still questioning what the best workflow for this would be as I think the current assigning of space types based on zone program is nice, allowing you to easily identify the base program of zones exported from Honeybee. If this zone program becomes linked to schedule sets and loads, it could de-couple it from this Honeybee zone program.
Perhaps we add an option on the OpenStudio component to either assign space types based on assigned Honeybee zone program (not linked to schedules or loads) or link it to schedules+loads and auto-generate space types based on how many common schedule sets/loads there are.
Ali and anyone reading this, let me know if you have any thoughts on this proposed implementation.
-Chris