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

Blind slat control

asked 2025-05-22 04:41:47 -0500

Lilia's avatar

updated 2025-05-22 13:31:23 -0500

Hi—I’m using the Python API to control both the slat angles and the blind activation schedules. I’ve made sure to wait until the warm-up period ends before applying any actions or writing output, yet I still see a 20-day delay before the blinds respond. Temperature controls work immediately when I wait for warm-up period to apply, but the blind slats inexplicably take 20 days to move. I have this objects in order to have illuminance values :

Daylighting:Controls,
    108 DaylightingControls, !- Name
    108,                     !- Zone or Space Name
    SplitFlux,               !- Daylighting Method
    ,                        !- Availability Schedule Name
    Continuous,              !- Lighting Control Type
    0.3,                     !- Minimum Input Power Fraction for Continuous or ContinuousOff Dimming Control
    0.2,                     !- Minimum Light Output Fraction for Continuous or ContinuousOff Dimming Control
    1,                       !- Number of Stepped Control Steps
    1,                       !- Probability Lighting will be Reset When Needed in Manual Stepped Control
    Face 10,                 !- Glare Calculation Daylighting Reference Point Name
    0,                      !- Glare Calculation Azimuth Angle of View Direction Clockwise from Zone y-Axis {deg}
    ,                        !- Maximum Allowable Discomfort Glare Index
    ,                        !- DElight Gridding Resolution {m2}
    Face 10,                 !- Daylighting Reference Point 1 Name
    0,                       !- Fraction of Lights Controlled by Reference Point 1
    ;                     !- Illuminance Setpoint at Reference Point 1 {lux}

!-   ===========  ALL OBJECTS IN CLASS: DAYLIGHTING:REFERENCEPOINT ===========

Daylighting:ReferencePoint,
    Face 10,                 !- Name
    108,                     !- Zone or Space Name
    2,                       !- X-Coordinate of Reference Point {m}
    -1,                       !- Y-Coordinate of Reference Point {m}
    0.7;                    !- Z-Coordinate of Reference Point {m}

and i have these schedues for the blind status and slat angle :

ScheduleTypeLimits,
  BlindScheduleLimits,    !- Name
  0,                      !- Lower Limit Value
  1,                      !- Upper Limit Value
  Discrete;               !- Numeric Type

Schedule:Compact,
  Blind_Schedule,         !- Name
  BlindScheduleLimits,    !- Schedule Type Limits Name
  Through: 12/31,         !- Field 1
  For: AllDays,           !- Field 2
  Until: 24:00, 1;        !- Value = “1” (blinds active) every t

ScheduleTypeLimits,
    SlatAngle,                  !- Name
    0,                          !- Lower Limit Value
    180,                        !- Upper Limit Value
    Continuous;                 !- Numeric Type

Schedule:Compact,
    SlatAngle_Manual,       !- Nom du calendrier pour Face 7
    SlatAngle,                   !- Type
    Through: 12/31,               !- Toute l'année
    For: AllDays,                 !- Tous les jours
    Until: 24:00, 90;             !- Angle 90° (ouvert)

WindowShadingControl,
   Zone1_Shading_Control,
  108,
 1,
  InteriorBlind,          !- Changed to BLIND
     ,                       !- Construction Name
     OnIfScheduleAllows,     !- Control Type
     Blind_Schedule,         !- Schedule Name
     ,                       !- No setpoint
    Yes,                    !- Scheduled control
    No,
    VenetianBlind,          !- Blind Material Name
    ScheduledSlatAngle,     !- Slat Control Type
    SlatAngle_Manual,       !- Slat Angle Schedule
    ,
    ,
    Group,
    Face 7_Combined;

as i said im using the python api to set the actuator values, and m using the last version (25.1)

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2025-05-27 13:47:20 -0500

It sounds like you need to specify the ShadowCalculation object. Note that it says, "By default, the calculations are done for every 20 days throughout a weather run period; an average solar position is chosen and the solar factors (such as sunlit areas of surfaces) remain the same for that number of days."

It looks like you either need to update the Shading Calculation Update Frequency field or change the Shading Calculation Update Frequency Method field from Periodic to Timestep.

edit flag offensive delete link more

Comments

Hello thanks for your reply.Actually i did find this in the documentation and fixed it but i appreciate really you helpbut im facing another probelm Im controling the system schedules like thermostat and slat‐angle schedule vii Python. api using 2 callbacks :callback_begin_zone_timestep_before_init_heat_balance to send the actions and this to retrieve the resuts of the simualtion callback_end_zone_timestep_after_zone_reporting but i noticed that the thermostat setpints applies directly and the blind angle has a delay of one time step when i apply an action now its effect is delayed by one

Lilia's avatar Lilia  ( 2025-05-27 15:18:22 -0500 )edit

And also do you have an idea about the slat angle minimum and maximum states because i saw in the docuemntatii that energyPLus uses the blinds properties to dertermine the min and the max, and how to select the most effective angles ? i appreciate your help !

Lilia's avatar Lilia  ( 2025-05-27 15:21:18 -0500 )edit

FYI - @Lilia please keep the conversation for your other questions in their own posts that you created for most effective slat angles and controls delay.

Aaron Boranian's avatar Aaron Boranian  ( 2025-05-28 12:00:29 -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

Stats

Asked: 2025-05-22 04:20:37 -0500

Seen: 176 times

Last updated: May 28