I have been running into an error with the HB Detailed HVAC component. The component will silently fail to add the IB HVAC system to the model if there is an issue with the IB system. For example adding a Fan On:Off to the airloop will cause the IB system to not be added to the HB model. The report is blank, no error is visible.
example geo.3dm (223.5 KB)
IB-HVAC Issue.gh (181.9 KB)
On the other hand if I use the IB Save to File component the error is picked up.
I attached an example file to demonstrate.
@MingboPeng have you or others encountered this problem?
Hi @MingboPeng, Can you please review my question above when you get the chance, thank you in advance
Hi @cam_lawrence thanks for reporting this issue, and I can recreate it on my side. After digging a little bit, I found that OpenStudio is disabling the FanOnOff in an airloop and I cannot find any developer’s documentation for it. I think they are replacing it with the FanSystemModel, which is not yet supported in Ironbug. I will look into this issue more. Thanks again.
Thanks for looking into this. It seems that its not just the Fan:on:off thats triggering this issue. For example not including any fan on the air loop will also create a similar issue. The main problem is that the component isn’t triggering an error warning when the IB system hasn’t been added successfully.
Hi @cam_lawrence, this is by design. You have to include a fan (or an integrated system that includes a fan) in your air loop to make it valid.
Yup, It shouldn’t run without a fan. Where the issue comes up is if somehow I forget to connect the fan, the “HB Detailed HVAC” doesn’t flag the error so there is no way to know the component didn’t work correctly until you look at the results.
I second this. I have been using IronBug more and one of the biggest challenges is debugging problems. There are few error messages until I go to run a simulation when I am told it fails. Are there ways to check the model before running them?
Hey, Just checking in to see if you have any updates on this issue. It causes a lot of friction in the workflow because if there is a small error in the hvac system, the Detailed HVAC component will fail without an error message. Right now we need to translate the model and open up the OSM file to check whether the IB HVAC system was added to the HB model, or we need to use the old workflow because it will give us an error warning
I have discussed this with @chris internally, but it seems we have some difficulties catching errors in Ruby within a separate process. I guess the best way for now to check the errors from Ironbug is to use “IB Save to File” component.
A new FanSystemModel has been added to Ironbug 1.9.5, which is used to replace FanOnOff.
Thanks for the update, let me know if you figure out a way to catch these errors. For now we will use the save to file component
Thanks for updating Ironbug with the fix, @MingboPeng . And I’m sorry that I gave the impression that it was difficult to get the Ironbug exceptions to the end user (I know I complain about Ruby sometimes more than is good for me). It took an hour to educate myself on some Ruby conventions but I just pushed an update that will raise an error whenever the Ironbug console has a non-zero return code:
So you should now get the OpenStudio components raising an error if you connect a model with an invalid Ironbug HVAC system (eg. one that lacks a fan):
And you see that the error message contains the Ironbug stderr, which should say exactly what is wrong with the HVAC (in this case, the lack of a fan in the air loop). Note that raising the error also ensures that the E+ simulation does not start so you don’t end up wasting your time waiting for an incorrect simulation.
The update should be available with the LB Versioner in an hour or so.
Thanks for bringing this up, @cam_lawrence and @Justin_Shultz