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.
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.
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.
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.
@chris The fix seems to be working great so far. Thanks for looking into this issue. I think this update makes workflow for troubleshooting Ironbug systems a lot more user friendly.