# Generate metrices for control of shading system based on DGPs

Hi everyone,

The current workflow with 3phase components enables to generate blind schedules based on a logic for a sensor.

I am trying to control vertical blinds (0°, 45°, 90°, 135°) based on the illuminance value (DPGs) for certain sensors. I used 4 BSDF files for the 4-states.
After running the simulation, I would like to calculate annual metrices with the illuminance values for each sensor for each blinding state. So I would to get: (x,y,z)

x = blinding angle (0°, 45°, 90°, 135°)
y = hour
z = sensor point (in my case on of the four)

Could someone help me by using the Python component to generate a certain “3D matrix”?

I red already this topic below from @OlivierDambron which gives me a bit more insight:

But I don’t know how to do it by myself. My Python skills are not so well, but I want definitely want to learn it. Could anyone help me or give me advice? I suspect that the script doesn’t have to be difficult, but at the moment it feels very difficult because I haven’t enough knowledge about Python.

Kind regards,
Kim

BSDFs.rar (621.1 KB)
Verticalblinds_Kim_python.gh (507.0 KB)

Hi @KimBodde,

I will be happy to help whenever I get a chance but in order for us to help you, we need you to get started writing some code and we can take it from there.

Currently the way Honeybee[+] is set-up, and I agree that it is not necessarily the best approach, one sensor controls all the window groups. You can however write your own code and come up with a different logic. If you see the code that calculates the logic based on the sensor you will see how to access the values for a single sensor. What you need to do is:

1. Apply your logic to each sensor and generate the schedule for the blind based on the values.
2. Merge them together in a Honeybee[+] format which is a tuple with values for all window groups in each time-step.

As you said it is totally possible. You just need to get started. Here is the honeybee[+] code that calculates blind states:

Hi Mostapha,

Thank you so much for the information. At the moment, I am trying to figure it out by myself, but the way I do it now is not very elegant.

I will try to explain my situation as good as possible:
The simulation case is an office room with one big window in the south façade. I placed four sensors in this office, which represents to occupants who both look in two directions. The shading system are vertical blinds. (see the image below)

I used the three phase method to do a daylight simulation. I would like to control the vertical blind system by evaluating the performance of alle possible shading states a every timestep and for every sensor and select the most apporopriate state. I will use a penalty function to rank for every timestep the ‘best’ shading state, so at the end I would like have one list with blind states for the whole year.
A very informative and interesting example is the article of A. Ganji Kheybari and S. Hoffman:

There are different challenges for me, but the first one is to generate the illuminance values for every timestep, for every hour and for every sensor. I tried to do this with a combination of Honeybee and Python. Maybe my file below makes my problem more clear, represents my struggles and shows my nog very elegant work:

Verticalblinds_Kim_python_.gh (651.3 KB)
BSDFs_15_5_2019_Kim.rar (646.2 KB)

The last days I struggled a lot to achieve what is represented in the document above. Tomorrow I will start to work on your advice with the honeybee[+]code that calculates blind states. Can I use this code in the GH_python component or is it easier to adapt an existing component, for example Honeybee[+] Dynamic Blinds Schedule?

Thank you so much in advance for your time and that you are willing to help me.

Kind regards,
Kim Bodde

1 Like