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

VRF terminal unit fan in SDK

asked 2016-01-14 06:11:43 -0600

ngkhanh gravatar image

updated 2016-01-14 10:45:07 -0600

J Monteiro gravatar image


1/I would like to know how to modify default value of VRF TU supply fan. I want to change their pressure rise, fan and motor efficiency, schedule, etc ..

2/What's syntax i need to use when object is HVAC component class and schedule class ?


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-01-14 09:18:46 -0600

require 'openstudio'

m =

terminal =

# The default fan type for the terminal in OS is FanOnOff
# but if you want to see what type your terminal has you could do this
# I think FanConstantVolume is also allowed
puts terminal.supplyAirFan.briefDescription

# or this

# this is how you "cast" the generic HVAC component "to_FanOnOff"
# note that the "get" will cause you program to crash 
# if the fan type is not FanOnOff
fan = terminal.supplyAirFan.to_FanOnOff.get

# you can check if the casting was successful before calling get like this
# this is a way to prevent a crash in your program if you don't know what type you have
optional_fan = terminal.supplyAirFan.to_FanOnOff

if ! optional_fan.empty? 
  fan = optional_fan.get

# might also be
#fan = terminal.supplyAirFan.to_FanConstantVolume.get

edit flag offensive delete link more


Thank a lot for an impressive answer. I would like to get more explanation about syntax in your examples : 1/ puts terminal.supplyAirFan.briefDescription/ puts - what i will get with this syntax : object or just info in screen ? if want to automately configure based on fan type information get from this syntax - which is next syntax ? 2/ May i use the syntax for changing object type like this : "iddObjectinitial.to_Iddobjectdestination" 3/ After that i dont need to reattach fan ?

ngkhanh gravatar image ngkhanh  ( 2016-01-14 10:15:14 -0600 )edit

1) Yes the "puts" will merely output to the screen. I will update my answer a little later with some more detail about how to use this information to control the program flow.

2) You can reassign the fan, but not in the way you describe. I can provide an example of this too.

3) This is related to question 2. I think a code example will illuminate this for you. Again let me come back to this a little later today and I'll have some more examples for you.

Kyle Benne gravatar image Kyle Benne  ( 2016-01-14 10:40:57 -0600 )edit

Done with fan setup by manually add scripts but still question for topics 2 and 3. Waiting for your reply. Thanks

ngkhanh gravatar image ngkhanh  ( 2016-01-14 16:59:08 -0600 )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



Asked: 2016-01-14 06:11:43 -0600

Seen: 127 times

Last updated: Jan 14 '16