Daysim Control Modes and Honeybee's implementation

Hi all,

I have a few questions regarding Daysim’s control modes and Honeybee’s implementation of them. Been lurking around the forum but haven’t found my answers unfortunately. Would appreciate any help!

Q1: I have a building with a dynamic venetian blind that have 5 slate states (up/inactivated, down/closed, horisontal, 30 and 60 degrees) and they are controlled by exterior irradiance on the facade with different thresholds. I want to calculate the annual illuminance on a grid in the room taking into account the different slate states. Is that possible, and if so how do I do that?

I’ve read that the only way to use an external sensor is to use the Glare Control Recipe, but there’s only one threshold for when the blind should activate, how do I add the other states, with the Shading State components?

Q2: I might’ve misunderstood how the simulation is carried out but why can’t you add the illuminance sensors (external/internal) before the daylight simulation when you calculate the effect of the blinds? Or am I missing something?

Maybe related: If I add three different shading states and also the Glare Control Recipe to the Advanced Dynamic Shading Recipe component I get the following error at Run Daylight Analysis:

Solution exception:‘GlareControl’ object has no attribute ‘exteriorSensor’

I’ve attached my example file with the error. Where do you add the exterior sensor?

Q3: Daysim have a control mode that might not be implemented yet in Honeybee, “External shading schedule” or “AnnualShadingSchedule”. Which imports a blind operation schedule as a csv file. See

If it isn’t implemented, is there a way to manually use this control mode at the moment?

All the best


Daysim illuminance controlled (259 KB)

Simulating Venetian blinds with Daysim is a little tricky. You’d probably want to first check for convergence before you settle on the ab=2 parameter. The chances of rays traced from your illuminance points escaping a room with Venetian blinds and hitting the sky patches with ab=2 are pretty slim.

Illuminance sensors for glare control can be added to a daylighting simulation before as you mentioned. It is just a lot of hassle to then segregate that result from that single point and fashion a control algorithm out of it. Besides it won’t be very efficient either. Let’s say that you have five settings for your blinds corresponding to different illuminance thresholds for your sensor. Those five settings will be five separate daylight coefficient calculations and hence five individual simulations. Including an extra point by the way of an illuminance sensor, albeit an external one, in the preliminary calculation implies that you repeat the same calculation for the point as many times when just one will suffice.


Hi Sarith,

Thanks for your reply!

The ab = 2 is just for testing purposes until I can get the components to work as intended.

Not sure if I follow you completely. I might lack knowledge how Daysim operates, but why would you need 5 different simulations if you have 5 different thresholds? During one simulation can’t Daysim switch between different slat states according to different thresholds of the external sensor?

Just to clarify with my Q1 above, I want the blind to be controlled by an external sensor with 5 different irradiance/illuminance thresholds, and measure the illuminance on a grid in the room to see the effects of the blind.

Anyone got anything to add to Q3? As I said any help is appreciated.

All the best


Hi Mikael,

I am not sure how clear this will be, but consider this example:

Let’s say you have fixed geometry ‘A’ in the scene consisting of everything else except the blinds. Let the geometry of the blinds be (B1,B2…B5). Then the geometry for the five iterations will be ((A+B1), (A+B2)…(A+B5)).

And assume that you are measuring illuminance at four points inside the room (x1,x2,x3,x4) and one point outside the room(y1).

The way Daysim works ( and should work as per the best of my understanding) is that for each setting of the blind (ie. B1,B2,…B5), a separate value of (x1,x2,x3,x4) gets calculated through the Daylight Coefficient Method. So let’s say you have illuminance thresholds of (p,q,r,s,t) corresponding to (B1,B2,…B5). What the shade-control algorithm does is that it compares the illuminance at y1 with your threshold of (p,q,…t) and then chooses a value of (x1,x,2,x3,x4) on basis of that. So, when we repeat this process for (365x24=)8760 hours , we end up with a value of a shade setting for each hour which was set on basis of your threshold illuminance values.

I would have gladly answered your question on HB itself, however, I usually work with Daysim directly through commandline.

(BTW, if you are interested in reading more about Daysim google Christoph Reinhart’s dissertation on the subject, along with some papers by Zack Rogers).

1 Like

Hi Sarith,

Thank you for your clear explanation, appreciated! I will perform simulations for all the states and then in Grasshopper just filter out the values that corresponds to my control algorithm. Shouldn’t be too complex :slight_smile:


1 Like

I have also problems with this issue, is there any working example to study?

1 Like