Honeybee Generation Release

Hello everyone,

Integrate Photovoltaic and Wind generators into your Honeybee models and make the design and financial analysis of renewable energy systems easier with the Beta release of Honeybee generation!

See an example work flow for designing, simulating and analysing a Photovoltaic system below.

Download a Grasshopper and Rhino example file:



See a quick introduction and tutorial videos here: https://www.youtube.com/playlist?list=PLrx2KnyhaJ5YXo5hpk8Q9q4Vy99O…

  1. Select a building to mount a photovoltaic generator on (seen in Rhino in green).

  1. Select a surface within that building to mount a photovoltaic generator on (seen in Rhino in green).

  1. Create a Honeybee context surface from that surface.

  1. Place a photovoltaic generator on that Honeybee context surface by using the Honeybee generation component. Honeybee_Generator_PV and connecting the context surface to it’s input _HBSurfaces. Then you can specify both the performance and the financial data of the photovoltaic generator.

  1. Create a Honeybee generation system which consists of the photovoltaic generator in 4. By using the component Honeybee_generationsystem and connecting 4 to its input PVHBSurfaces_. Then you can specify the annual maintenance cost of this system.

  1. Run the simulation in Energy Plus by connecting 5. to the input HBGenerators_.

  1. Read the results of the simulation:
  • The electricity produced by the Honeybee generation system in 5.

  • The net purchased electricity of the facility (the Honeybee zone) to which the Honeybee generation system is attached to. This is the electricity consumed by the facility less the electricity generated by the Honeybee generation system.

  • The financial costs of the Honeybee generation system; capital, maintenance and replacement costs.

  1. Calculate the net present cost of the Honeybee generation system in 5 assuming a 25 year lifetime.

  1. Visualise the net present cost.

This is very cool Anton! Thanks.

Thank you very much, Anton!

According to your workflow, it seems that the Honeybee EP Context Surfaces component shown below is not connected to the “HBContext_” node on the “Honeybee_Run Energy Simulation” component.

So, will the shading effect of this context surface used to define a PV generator be taken care of by this Honeybee EP Context Surfaces component?


Hi Grasshope,

Thanks for your message yes the shading will be taken care of. Since you are passing a HB generator system to E+ run file you must connect it to HBgenerators, the context surface that the PV generator is mounted on will automatically be taken into account.

Even if you were to also connect the surface to HBContext_ it wouldn’t make a difference.

If there’s anything that you think that could be more user friendly or if you have any user requests do let me know.

Love your picture by the way, what is it? A gopher?

Thank you , Anton!

Your simulation is so nice!!

So,I tried your tutorial

But something is wrong with running simulation.

I set up grasshopper like your tutorial, But it does not work like the picture.

I replaced newer Honeybee.

So, could you give me some advice?

Best regard.

Hi Hitokikanto,

Sorry to hear about your issue, please attach your GH file and I will fix this for you.



Hi HitokkiKano

I’ve uploaded a new example file that should have no issues try it.



Hi, Anton, here’s the goofy gopher which serves as a potentially cool name for a new GH plugin for sth like data mining etc. … as in “digging for truth, and bite it!”…


Hi! Thanks for the work! I got it working - nice!

1) How does the calculations differ in these components compared to the PV-components in ladybug? Accuracy of shading, calculation time etc. I’m only interested in the total generated power…

2) Also, when using the DecoupledUllebergDynamic it states in the EP+ documents you should specify the Module Heat Capacity and Module Heat Loss Coefficient. What values have you used as inputs?

3) I could not find your example files on hydra (was i searching sloppy?), and the version you have in this thread do not work with the newly released honeybee without updating script components. Just so u know…

Hi Ludvig,

  1. The calculations in this component use the E+ PV generator object. Seen here http://bigladdersoftware.com/epx/docs/8-4/input-output-reference/gr…. While the Ladybug components are based on the NREL PV watts calculator.

You can see how the calculations are conducted here: http://bigladdersoftware.com/epx/docs/8-4/engineering-reference/pho…

  1. I just realized that I overlooked this when I created the component. Are you going to use this model? Do you need me to integrate it into the component for you?

  2. It seems that my example file wasn’t uploaded to Hydra I will upload it shortly.

Hi Ludvig and Anton,

Anton, since you have use the same model as Djordje’s for the example file I assume it won’t be very hard to compare the results? I assume that they should be in close agreement.


Hi Anton and Mostapha,

1) Thanks for providing me with the link directly Anton, especially the second one. Its all there. And it would be interesting to conduct a comparative study between the two you are right, Mostapna. Especially preciseness in mutual shading calc is interesting for me.

2) No need to integrate those inputs for my sake right now. I have encountered some issues and am thinking about switching to the ladybug pv-components. My issue is that I cant seem to fill a surface with a pv-module (close to) completely. The PV-module component warns about me using more than 85% and it outputs that im using 97,5%, however the E+ simulation outputs errors that the solar fraction on the surface is 1,975 and it wants to stay in the bound of 0-1.

Hi Ludvig,

  1. This sounds like a bug that I need to fix can you attach your Grasshopper file here or email it to me - ajszilasi@gmail.com?

I’ll work this out for you right away.


This is the file. I found that it actually does work when only one surface is input, it still does not work with multiple surfaces. Hope it reproduces the same error for you and that i internalized all relevant surfaces.

In continuation i´d like to test each surface for production
and cull away the surfaces that dont produce a set amount.

Btw, do you think i should do this culling procedure just
based on irradiation instead of pv output?

This is the panel im trying to reproduce right now.

PV discussion ratio error.gh (657 KB)

Hi Ludvig,

I’ve actually made an update to the PV generator component to make the warning more clear. Please find it in the attached file.

The issue here is your geometry. Before we go any further can you simply your geometry so that you are not using 266 surfaces? e.g geometry of the same size can be merged into one.

Basically one of the geometry pieces is too small to mount a panel of that size (300 W) on. Therefore the surface area is greater than one and it doesn’t work - see the new error in the component.

PVdiscussionratioerror AJZ 11.18.gh (941 KB)

I created a new topic on this question since it isnt related to PV-components…
Thanks!Well, I realize that it is indeed the geometry. However it is because HB_context surfaces component splits some of the panels in two, increasing the number of panels - which have half the area - and thus creating the errors in the e+ simulation.When i merge everything into 43 surfaces going into the context surfaces component it still splits some of them up.is this a bug?Will i loose e+ information associated with each surface if i merge them together again after the context geometry component?

Issue resolved.

It was the context shading component causing problems. If anyone else encounters this problem there is an update to the component in this thrread.

Hello Anton,

Thanks for the interesting model, i am currently working on a PV optimization project, but i need to work with a different Energy Plus calculation model other than the simple. How can i change the iterations to be using the Sandia or Equivalent one diode model?


Hi Mohamed

I am simply using the simple model I haven’t implemented those models. Your best bet is to modify my code . The code is spread over Honeybee_Honeybee, the PV gen component and the Run Energy Plus component. Let me know if you need any help.

Thanks Anton,

so in order to work this out, i will have to modify the code?, where do i find the code lines for this?. This is important, since Sandia, model is the one able to calculate the efficiency of the module’s output based on its temperature which is extremely crucial for detailed studies. Another thing based on this the PV generation component would change significantly, would that happen automatically with the code change?