Fatal Error with HB Window Construction Dynamic: "Missing required property 'outside_layer'" & Temp Out of Bounds

Hi everyone,

I am trying to simulate a Semi-Transparent Photovoltaic (STPV) system using HB Window Construction Dynamic in Honeybee Energy. My goal is to dynamically switch between 3 different window states (20%, 40%, 60% transmittance) based on an hourly schedule.

However, I am encountering fatal errors that terminate the simulation before it begins. I have tested this on both LBT 1.8.0 and LBT 1.9.0, and both fail but with different error messages.

  1. The Setup:

Constructions: 3 valid HB Window Construction objects (originally Single Glazing: Glass + Gap + Glass, also tested simplified Single Layer Glass).
Schedule: An hourly integer schedule (0, 1, 2) generated via Python, connected to HB Fixed Interval Schedule with “Discrete/Mode” Type Limits.
Assignment: The dynamic construction is assigned directly to the HB Aperture.

  1. The Errors:

In LBT 1.9.0 : I get a translation error regarding a “Generic Construction”:
** Severe ** [Construction][Generic Construction] - Missing required property ‘outside_layer’.
** Fatal ** Errors occurred on processing input file.

In LBT 1.8.0 (EnergyPlus 23.2): I get a thermal balance initialization failure (temperature explosion):
** Severe ** CalcHeatBalanceInsideSurf: The temperature of -1306304.02 C for zone=“…”, for surface=“…”
… is very far out of bounds during warmup.

  1. Debugging Steps I Have Taken:

Static Test: I disconnected the dynamic component and tested each of the 3 static constructions individually on the aperture. They all work perfectly. This rules out issues with the material or layer definition.
Data Structure: I ensured the _constructions input on the Dynamic component is Flattened**. Param viewer shows 1 branch with 3 items.
Simplification: I removed the Air Gap and Inner Glass, testing only a single-layer PV glass to rule out “massless layer” issues. The error persists.
Geometry: The glass thickness was corrected to 6mm (0.006m).
Schedule: Verified the schedule contains only integers (0, 1, 2) and has HB Schedule Type Limits set to Discrete/Mode.

It seems like the Dynamic Construction object is not being correctly translated into the OSM/IDF, or the schedule isn’t initializing the state correctly at timestep 0.

I have attached my simplified GH file. Any help or insights would be greatly appreciated!

hi,@leemuzimiao

this is a bug.

The @chris has already fixed this bug in the latest version. I have also reported this matter to you in the online community. I think this post should be marked as resolved.

best.
Zhengrong