Hi everyone,
I’m working on an energy simulation workflow using Ladybug Tools and Honeybee in Grasshopper. I want to implement a dynamic BSDF control system for two windows that switch between two optical states (state_1.xml
and state_2.xml
) based on solar altitude. Both windows behave identically, while a third window in the model is static and doesn’t use BSDFs.
To handle this dynamic switching, I created a custom OpenStudio measure that defines multiple Construction:ComplexFenestrationState
objects and adds EMS logic (Sensor
, Actuator
, Program
, etc.) to change states during the simulation. I placed the measure.rb
and measure.xml
files inside a folder named AddDynamicBSDF
, along with the two BSDF files.
However, when I try to load this measure in Grasshopper using the HB Load Measure
component, I immediately get the following error:
{0;0}
0. Runtime error (TypeErrorException): iteration over non-sequence of type NoneType
Traceback:
line 248, in _parse_metadata_file, “/Users/julia/ladybug_tools/python/lib/python3.10/site-packages/honeybee_energy/measure.py”
line 49, in init, “/Users/julia/ladybug_tools/python/lib/python3.10/site-packages/honeybee_energy/measure.py”
line 198, in script
The component does not update or expose inputs, and it seems to fail while parsing the XML. I’ve already made sure to include a dummy argument in the <arguments>
section of measure.xml
as Honeybee requires, but the issue persists. Any suggestions on what might be causing this or how to properly format a custom measure so Honeybee can recognize it?
Thanks in advance for any help!