Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

EMS-Actuator Need for Complex Shading Control

asked 2019-02-14 18:52:02 -0500

Amir Tabadkani's avatar

updated 2019-02-15 08:03:57 -0500

Dear Community,

I am trying to develop a non-conventional shading system (like an origami-based shade) and test its impacts on indoor thermal comfort.

I am considering in using EMS as a controller plugin for E+, and available actuator list that can control the available sensors, however based on controlling shading system there is only one actuator called 'Window Shade Control' that can control only conventional shading systems (roller shades, Blinds and EC glazing), which is not applicable in my case. On the other hand, there is an option within E+ in terms of implementing shading fractions as a schedule through an input under 'AdvancedConstruction' category called 'SurfaceProperty:LocalEnvironment' that accepts a shading fraction schedule and I think this property would work in my case.

I wanted to know if there is any possibility to develop a new actuator that can overwrite the shading fraction or somehow gives an opportunity to us to control non-conventional shading systems or not? and Who should I ask this request exactly?

Or do you have any recommendations regarding this limitation? As you know recently many authors increased their interest in designing complex shading systems, but there are still some limitations to simulate it.

Regards Amir

edit retag flag offensive close merge delete


Hi Amir,

Can you expand a bit more on how the Origami shading is activated? Is it deployed based on Indoor temperature? Does it have intermediate states or only ON/OFF?

Maybe you can model it as a Shading:Building:Detailed and modify a Transmittance schedule with EMS - but again, it depends on how the shading will be activated and deployed.

rafael.alonso's avatar rafael.alonso  ( 2019-02-15 09:35:27 -0500 )edit

Dear Rafael,

Basically, as we are not capable of modelling complex shading through E+, I am trying to design a non-conventional shading device that corresponds to the same hourly shading fractions, So Yes, it will have intermediate states as well.

Regarding your suggestion, by which actuator we can control the transmittance schedule?

There is actually a sensor that can collect the 'outdoor face sunlit fraction' in EMS, but in terms of actuators, our options are limited to blinds, roller shades, and EC glazing.

Amir Tabadkani's avatar Amir Tabadkani  ( 2019-02-15 17:34:26 -0500 )edit

2 Answers

Sort by » oldest newest most voted

answered 2019-02-16 08:56:57 -0500

updated 2019-02-18 07:01:17 -0500

Hi Amir,

I'll reply here because I can't attach images in the comments section. I was referring to model the shading explicitly, as a context Surface with Shading:Building:Detailed and then assign a transmittance schedule to replicate the activation of your shading. Basically, if this schedule is 1, the shading is completely transparent (removed), or if it is 0, completely opaque (deployed in your case).

image description

You could use the EMS to modify the value of the transmittance schedule according to Indoor Temp, or solar radiation or any of the other sensor options.

If you Start with a constant Transmittance schedule of 1, your shading will be "OFF" by default. You can then replace this constant schedule value (1) with an EMS object.

image description

When you write the EMS program you can set the number of intermediate steps that you wish. For example, when the indoor temperature reaches 22, set the Transmittance Schedule value to 0.8, when it reaches 24 set it to 0.6, and so on.

If you need further control, you could always model several shading surfaces that are controlled with different EMS programs and adjust their functioning differently.

The only bit that you'd need to explore is when the EMS is intiated every timstep - but I don't have much experience with that. Probably there is a good example in the files that come with E+.

Hope this helps

edit flag offensive delete link more



Thanks a lot for sharing your thoughts .. I ll try that and let you know

Amir Tabadkani's avatar Amir Tabadkani  ( 2019-02-16 17:19:30 -0500 )edit

Hi Raphael,

I am now using the method you mentioned to change the Transmittance schedule of component block.But I don't know why the transmittance of the component block is changed according to the EMS program I set, but it has no influence on the cooling load of the building.Do you have the same situation as me?

Jienie's avatar Jienie  ( 2019-05-28 10:06:52 -0500 )edit

Hi @Jienie,

I´ve not tested this method yet, but from what I can see from Amir´s response below it seems to be working fine. At least the Transparency schedule is getting modified.

If you want to be certain you can test if the Transparency itself affects your cooling load (using a traditional schedule), before adding further complications through the EMS.

Thinking out loud, make sure that your Sky Diffuse Modeling Algorithm is set to DetailedSkyDiffuseModeling in the shadow calculation object. There is more infor about this in the Input/Output manual :)

Let us know if you get it to work

rafael.alonso's avatar rafael.alonso  ( 2019-06-11 09:05:52 -0500 )edit

answered 2019-02-17 21:11:21 -0500

Amir Tabadkani's avatar

updated 2019-04-15 10:59:54 -0500

Dear Raphael,

I followed your suggestion, but there is something strange within the evaluated schedule after applying EMS coding on the transparency shading schedule.

As you see here I defined three ranges to control the shading transparency based on the 'Surface Outdoor Face Sunlit Fraction' which in my case I selected the external window surface as a sample.

  S1,                      !- Name
  zone_0_Srf_0_glz_0,      !- Output:Variable or Output:Meter Index Key Name
  Surface Outside Face Sunlit Fraction ;  !- Output:Variable or Output:Meter Name

  myA1,                    !- Name
  ASF,                     !- Actuated Component Unique Name
  Schedule:Year,           !- Actuated Component Type
  Schedule Value;          !- Actuated Component Control Type

  MyComputedTransProg,     !- Name
  BeginTimestepBeforePredictor,  !- EnergyPlus Model Calling Point
  MyComputedTransSch;      !- Program Name 1

  MyComputedTransSch,      !- Name
  Set SurfaceFraction = S1,!- Program Line 1
  IF SurfaceFraction < 0.3,!- Program Line 2
  SET myA1 = 0.9,          !- A4
  ELSEIF (SurfaceFraction >= 0.3) && (SurfaceFraction < 0.8),  !- A5
  SET myA1 = 0.4,          !- A6
  ELSE,                    !- A7
  SET myA1 = 0.1 ,           !- A8
  ENDIF;                   !- A9

  myglobeA1;               !- Erl Variable 1 Name

  Weighted Shade Fraction Schedule,  !- Name
  myglobeA1,               !- EMS Variable Name
  Averaged,                !- Type of Data in Variable
  SystemTimestep;          !- Update Frequency

But, when I see the results, everyday I obtain a strange numbers out of the ranges I defined for Transparency SCH with EMS in the beginning and ending hour of the daytime. Like in below I got 0.76666 and 0.3666, which based on my definition in EMS-Program and sunlit fractions must be 0.9 and 0.1 respectively.

image description

Did I do sth wrong in the definition?

Regards Amir

edit flag offensive delete link more


@Amir Tabadkani technically, this isn't an answer and should be posted as a comment(s) under @rafael.alonso 's solution because you're asking further questions. Next time, please post links to images in comments.

The reason that you see different values is likely because you are reporting outputs in your CSV at hourly frequency, but your simulation Timestep object uses a smaller frequency. The 0.7667 and 0.3667 values are the result of EnergyPlus averaging timestep results into one hour (some timesteps are 0.9 and some are 0.1 over the hour).

Aaron Boranian's avatar Aaron Boranian  ( 2019-02-18 11:54:37 -0500 )edit

Dear Aaron,

Thanks for your reply and sorry for my mistake, I am new to forum and won't happen again ..

Amir Tabadkani's avatar Amir Tabadkani  ( 2019-02-18 16:39:21 -0500 )edit

Hi @Amir, Apologies for the (terribly!) late reply

From what I see your EMS is working fine, and the schedule is getting modified.

Did you see the expected impact on your results?

It would be very useful to validate or discard this method, so that other users around the forum can find it.

rafael.alonso's avatar rafael.alonso  ( 2019-06-11 09:09:53 -0500 )edit

Dear @rafael.alonso

Yes after some modifications I could get what I was expecting, first the time steps should be the same, and more importantly, the EMS programming should cover all possibilities.

Regards Amir

Amir Tabadkani's avatar Amir Tabadkani  ( 2019-10-20 18:16:14 -0500 )edit

That´s great to know 👌🏻, thanks!

rafael.alonso's avatar rafael.alonso  ( 2019-10-21 03:31:26 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops


Question Tools



Asked: 2019-02-14 17:24:45 -0500

Seen: 631 times

Last updated: Apr 15 '19