honeybee-openstudio 2.38.17 → 2.38.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b186cfee90a5b7844b5c7dab43611b384ab476decc61033066c5dbe3befd437
4
- data.tar.gz: a216707dc66e588978cc855fdee27bcc5b4291082322ad80faba60e4e57d702d
3
+ metadata.gz: c7aee40b95cbc2d5cdc33b1a475c197be88b0ac7cdc4f983d446811b0e3cfa15
4
+ data.tar.gz: a006d7f6a6d02ba853c1c307f052dc4a636344204b79168486b8571478d63031
5
5
  SHA512:
6
- metadata.gz: 277979e0ea12fa67cbd08dbe286a60849d8d3b00543e229ae9936950c86966923c07b49214199d70f5694704e54ee7fc185861e931fa28358f3378d5a529cd4f
7
- data.tar.gz: b2df403658dd3de48695a16fa10cc4b6fd27b260fec025f8bd4d3ed1a988d8a57baebf51ccf203708dff5e2c6f5d69eb329f9369853c431eb9a27c3423e59925
6
+ metadata.gz: 3f249e4ebffd0cc213bd64eb34def693d478a1874187b5514ae8a6ed089f14e73ba525426b6fe5fa0b7acc4bf05ca29dcdb9109c76810285dd0f306e96cf6bd8
7
+ data.tar.gz: 461cce1c469a9be907b4b4b1dbb9e5dc2025ec7a0b359eb62ddf31145d99fa78125920b989db2d6ff3c7df6bf74a1dd3da2ba7b5d818272eb8086e89adf617d8
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'honeybee-openstudio'
7
- spec.version = '2.38.17'
7
+ spec.version = '2.38.18'
8
8
  spec.authors = ['Tanushree Charan', 'Dan Macumber', 'Chris Mackey', 'Mostapha Sadeghipour Roudsari']
9
9
  spec.email = ['tanushree.charan@nrel.gov', 'chris@ladybug.tools']
10
10
 
@@ -275,20 +275,37 @@ module Honeybee
275
275
  end
276
276
  end
277
277
  end
278
+
279
+ unless os_air_loops.empty?
280
+ # have an always available schedule ready to use if there are no user controls
281
+ always_avail_name = 'Building HVAC Always Available'
282
+ schedule = openstudio_model.getScheduleByName(always_avail_name)
283
+ unless schedule.empty?
284
+ always_avail = schedule.get
285
+ else
286
+ always_avail = OpenStudio::Model::ScheduleRuleset.new(openstudio_model)
287
+ always_avail.setName(always_avail_name)
288
+ def_day_sch = always_avail.defaultDaySchedule
289
+ time_until = OpenStudio::Time.new(0, 24, 0, 0)
290
+ def_day_sch.addValue(time_until, 1)
291
+ end
278
292
 
279
- # assign the DOAS availability schedule if there's an air loop and it is specified
280
- if @hash[:doas_availability_schedule] && !os_air_loops.empty?
281
- os_air_loops.each do |os_air_loop|
293
+ # assign the DOAS availability schedule if there's an air loop and it is specified
294
+ avail_sch = nil
295
+ if @hash[:doas_availability_schedule]
282
296
  schedule = openstudio_model.getScheduleByName(@hash[:doas_availability_schedule])
283
297
  unless schedule.empty?
284
298
  avail_sch = schedule.get
285
- os_air_loop.setAvailabilitySchedule(avail_sch)
286
299
  end
287
300
  end
288
- end
301
+ unless avail_sch
302
+ avail_sch = always_avail
303
+ end
304
+ os_air_loops.each do |os_air_loop|
305
+ os_air_loop.setAvailabilitySchedule(avail_sch)
306
+ end
289
307
 
290
- # set the outdoor air controller to respect room-level ventilation schedules if they exist
291
- if !os_air_loops.empty?
308
+ # set the outdoor air controller to respect room-level ventilation schedules if they exist
292
309
  oa_sch, oa_sch_name = nil, nil
293
310
  zones.each do |zone|
294
311
  oa_spec = zone.spaces[0].designSpecificationOutdoorAir
@@ -309,16 +326,17 @@ module Honeybee
309
326
  end
310
327
  end
311
328
  end
312
-
313
- if oa_sch
314
- os_air_loops.each do |os_air_loop|
315
- oasys = os_air_loop.airLoopHVACOutdoorAirSystem
316
- unless oasys.empty?
317
- os_oasys = oasys.get
318
- oactrl = os_oasys.getControllerOutdoorAir
319
- oactrl.resetMinimumFractionofOutdoorAirSchedule
320
- oactrl.setMinimumOutdoorAirSchedule(oa_sch)
321
- end
329
+ unless oa_sch
330
+ oa_sch = always_avail
331
+ end
332
+
333
+ os_air_loops.each do |os_air_loop|
334
+ oasys = os_air_loop.airLoopHVACOutdoorAirSystem
335
+ unless oasys.empty?
336
+ os_oasys = oasys.get
337
+ oactrl = os_oasys.getControllerOutdoorAir
338
+ oactrl.resetMinimumFractionofOutdoorAirSchedule
339
+ oactrl.setMinimumOutdoorAirSchedule(oa_sch)
322
340
  end
323
341
  end
324
342
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybee-openstudio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.38.17
4
+ version: 2.38.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanushree Charan
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2024-12-17 00:00:00.000000000 Z
14
+ date: 2025-04-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json_pure