Unable to re-assign constructions?

Hello all, we ran into what is probably not a big problem, but can’t find our way around it:

In running an OpenStudio simulation, We can’t reassign constructions using the “_Set EP Zone Construction” (setEPZoneConstr) component. No matter which construction we assign to roof and wall surfaces in HBZones, the OS generator component assigns the same generic constructions.

So far we have tried different wall and roof types. We have no issues assigning different glazing types with other components. Also, the construction definitions carry through when running the Energy Plus generating component, and those models come out differently (as intended).

Is this an issue in how the OSMs get generated? Are HBZones that are generated using different components (perhaps assembled from HBsurfs) treated differently?

Attached is the little experiment script we threw together to test out the issue.

Thanks in advance for any thoughts!

test_why_same_constructions.gh (535 KB)

Hi Nick, This sounds like a bug. I remember that I have this fixed once before. It’s just about the fact that OpenStudio doesn’t generate an error in cases like this and applies the default. Let me see if I can get to this tomorrow.

I can attest to the fact that the OpenStudio component really needs some love right now. I just put the functionality of natural ventilation into the OpenStudio component and the it seems we are all at fault for not maintaining the code so well. I also just updated the component to the most recent version of OpenStudio (1.9) that works with E+ 8.3 and put the new OS v1.9 dlls onto our github. Make sure that you update you OS libraries before you make changes.


Nick and Mostapha,

I am just letting you know that I fixed the bug:


Sync with the github and this feature should now work.


Thanks Chris, Mostapha,

I also noticed that HB only records the surface type of the roof/ceiling is there a way to add the surface type of the other surfaces.

We are trying to generate an OSM file then we were hoping to apply the AEDG radiant DOAS in openstudio and for the measure is using the surface type to apply the radiant panels to the surface (floor).

(If I can help with the code where should I start from to understand the structure of HB ?)


HB automatically assigns a sufrace type of every HBSurface whenit is created. Use the “separate based on type” component to see how each surface is assigned. These types are based on gbxml, which I believe OpenStudio intrinsically understands (because of its export capability to gbxml).

If you have not already done so, you should go through all of the video tutorials on Honeybee energy simulation:
Honeybee Energy Modeling: http://www.youtube.com/playlist?list=PLruLh1AdY-SgW4uDtNSMLeiUmA8YX
The Label zones and Label Zone Surface components will also be very helpful for understanding the underlying variables that HB assigns.


When I use the separate based on type I see each surface acording to their type but when I move to openstudio (v1.9.0) in the spaces left tab then the surfaces upper tab I only get the roofceiling only everything else is empty. I also noticed that the ground floor boundary condition is also empty.

Am I doing something wrong ?

I am aware of the youtube HB energy modeling playlist and I have being using the label surface component which works perfectly in rhino but I thought this might be something similar to the construction that you just fixed.

(I meant the python code if I want to work on the mechanical systems part for example… To familiarize myself with the python code structure )

Thank’s for the quick response.


I just imported the HB generated file into openstudio (v1.8.0) and the surface type is passed correctly however the measure somehow does not find the floor type. Which makes me think that my problem is a version problem, is it?

Hi Mohamed,

It might be a change on how OpenStudio 1.9.0 accepts the types. Honeybee does assign the types for all the surfaces (https://github.com/mostaphaRoudsari/Honeybee/blob/57d8e42c1a71f4633…).

I just downloaded OpenStudio- and checked a couple of examples and surface types get exported correctly. Are you sure that you have the libraries updated? Can you check the attached file?

unnamed.osm (108 KB)

Am I doing something wrong ?

Well… I checked in the OpenStudio interface and not the app. Let me double check.

Hi Mohamed! Turns out that OpenStudio 1.9.0 is case sensitive which is strange if not a bug. EnergyPlus is not case-sensitive and OpenStudio used not to be. Anyways… I modified the code to take care of this. Attached file is generated by the new version. Update Honeybee and use the new component. Thanks for reporting!

unnamed.osm (108 KB)