From a3dfbae3161bbf05d507f017e7c196e69a60e581 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 20 May 2024 13:13:50 -0600 Subject: [PATCH 1/9] comment out saving .json --- lib/measures/detailed_hvac_viewer/measure.rb | 6 +++--- lib/measures/detailed_hvac_viewer/measure.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/measures/detailed_hvac_viewer/measure.rb b/lib/measures/detailed_hvac_viewer/measure.rb index 0232966..79fb686 100644 --- a/lib/measures/detailed_hvac_viewer/measure.rb +++ b/lib/measures/detailed_hvac_viewer/measure.rb @@ -418,9 +418,9 @@ def run(runner, user_arguments) hvac_data = JSON.pretty_generate(hvac_data) # # Write the JSON string to the file - File.open('hvac_data.json', 'w') do |file| - file.write(hvac_data) - end + # File.open('hvac_data.json', 'w') do |file| + # file.write(hvac_data) + # end # Begin HTML writing process web_asset_path = OpenStudio.getSharedResourcesPath() / OpenStudio::Path.new("web_assets") diff --git a/lib/measures/detailed_hvac_viewer/measure.xml b/lib/measures/detailed_hvac_viewer/measure.xml index 5c7b4c7..81ce96e 100644 --- a/lib/measures/detailed_hvac_viewer/measure.xml +++ b/lib/measures/detailed_hvac_viewer/measure.xml @@ -3,8 +3,8 @@ 3.1 detailed_hvac_viewer 416a484f-bd28-4db8-8926-7d70740390eb - e516cae3-f0b4-484c-8b8f-964a2e0cc739 - 2024-05-20T19:04:32Z + aa0d8edc-1ec3-4af9-9e3f-a37bb8f01a5f + 2024-05-20T19:13:27Z C068F366 DetailedHVACViewer Detailed HVAC Viewer @@ -490,7 +490,7 @@ Developed as part of HackSimBuild 2024 by Matthew Dahlhausen and Ken Takahashimeasure.rb rb script - A1217DB6 + 2288BACC README.md From b6a9525c0e86dae59a532ba5e6e2bc9c188ab381 Mon Sep 17 00:00:00 2001 From: kentakahas <31293085+kentakahas@users.noreply.github.com> Date: Sat, 25 May 2024 05:42:41 +0900 Subject: [PATCH 2/9] Update report.html.erb add dropdown menu --- .../resources/report.html.erb | 113 ++++++++++++++---- 1 file changed, 89 insertions(+), 24 deletions(-) diff --git a/lib/measures/detailed_hvac_viewer/resources/report.html.erb b/lib/measures/detailed_hvac_viewer/resources/report.html.erb index 47a32f3..3f8e466 100644 --- a/lib/measures/detailed_hvac_viewer/resources/report.html.erb +++ b/lib/measures/detailed_hvac_viewer/resources/report.html.erb @@ -45,7 +45,7 @@ } .line { fill: none; - stroke: steelblue; + stroke-width: 2px; } #plot { @@ -54,6 +54,16 @@ +
+ + +
@@ -83,8 +93,8 @@ "3-11": "v_node.png" }, "positionNodeHash": { - "1-2": "5 Zone PVAV Outdoor Air Node", - "1-3": "5 Zone PVAV Relief Air Node", + "1-3": "5 Zone PVAV Outdoor Air Node", + "1-2": "5 Zone PVAV Relief Air Node", "2-4": "5 Zone PVAV Mixed Air Node", "2-6": "5 Zone PVAV 2spd DX Clg Coil 354kBtu/hr 9.8EER Outlet Air Node", "2-8": "5 Zone PVAV Main Gas Htg Coil Outlet Air Node", @@ -97,14 +107,38 @@ From 8a91109d1aacd505ee9fa9c3bafe1daa4b472f39 Mon Sep 17 00:00:00 2001 From: kentakahas <31293085+kentakahas@users.noreply.github.com> Date: Sat, 25 May 2024 05:47:57 +0900 Subject: [PATCH 3/9] Update measure.rb --- lib/measures/detailed_hvac_viewer/measure.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/measures/detailed_hvac_viewer/measure.rb b/lib/measures/detailed_hvac_viewer/measure.rb index 79fb686..fab4475 100644 --- a/lib/measures/detailed_hvac_viewer/measure.rb +++ b/lib/measures/detailed_hvac_viewer/measure.rb @@ -417,10 +417,10 @@ def run(runner, user_arguments) # Convert the hash to a JSON string hvac_data = JSON.pretty_generate(hvac_data) - # # Write the JSON string to the file - # File.open('hvac_data.json', 'w') do |file| - # file.write(hvac_data) - # end + # Write the JSON string to the file + File.open('hvac_data.json', 'w') do |file| + file.write(hvac_data) + end # Begin HTML writing process web_asset_path = OpenStudio.getSharedResourcesPath() / OpenStudio::Path.new("web_assets") From 6766c4ef2ec1a7b6e1ebb02b49bf75f9b9632ba5 Mon Sep 17 00:00:00 2001 From: kentakahas <31293085+kentakahas@users.noreply.github.com> Date: Sun, 26 May 2024 19:36:31 +0900 Subject: [PATCH 4/9] Updated schema --- lib/measures/detailed_hvac_viewer/measure.rb | 23 ++++++++++++++----- .../resources/report.html.erb | 6 ++--- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/measures/detailed_hvac_viewer/measure.rb b/lib/measures/detailed_hvac_viewer/measure.rb index fab4475..cbee857 100644 --- a/lib/measures/detailed_hvac_viewer/measure.rb +++ b/lib/measures/detailed_hvac_viewer/measure.rb @@ -23,9 +23,7 @@ def modeler_description * System Node Temperature * System Node Setpoint Temperature * System Node Mass Flow Rate - * etc. - -Developed as part of HackSimBuild 2024 by Matthew Dahlhausen and Ken Takahashi" + * etc." end # define the arguments that the user will input @@ -46,7 +44,7 @@ def arguments(model=nil) chs << 'Monthly' reporting_frequency = OpenStudio::Measure::OSArgument::makeChoiceArgument('reporting_frequency', chs, true) reporting_frequency.setDisplayName("

Select a Reporting Frequency?

") - reporting_frequency.setDefaultValue('Timestep') + reporting_frequency.setDefaultValue("Timestep") args << reporting_frequency # reporting variables @@ -239,6 +237,15 @@ def straight_component_data_hash(comp, reporting_frequency, variable_names) return comp_data end + + def getBoundaryNodes(loop) + node_list = {} + node_list['supply_inlet'] = loop.supplyInletNode.name.get + node_list['supply_outlet'] = loop.supplyOutletNode.name.get + node_list['demand_inlet'] = loop.demandInletNode.name.get + node_list['demand_outlet'] = loop.demandOutletNode.name.get + return node_list + end def addNodeNamestoArray(model_objects, node_names) model_objects.each do |model_object| @@ -324,7 +331,9 @@ def run(runner, user_arguments) air_loop_data = {} air_loop_data['object_name'] = air_loop.name.to_s air_loop_data['object_type'] = air_loop.iddObjectType.valueName.to_s - air_loop_data['components'] = [] + air_loop_data['isOutdoorAirSystem'] = false + air_loop_data['boundary_nodes'] = [getBoundaryNodes(air_loop)] + air_loop_data['supply_components'] = [] air_loop.supplyComponents.each do |comp| if comp.to_StraightComponent.is_initialized comp_data = straight_component_data_hash(comp, reporting_frequency, variable_names) @@ -334,6 +343,7 @@ def run(runner, user_arguments) # capture outdoor air system properties if comp.to_AirLoopHVACOutdoorAirSystem.is_initialized + air_loop_data['isOutdoorAirSystem'] = true comp_data['object_name'] = comp.name.to_s comp_data['object_type'] = comp.iddObjectType.valueName.to_s comp = comp.to_AirLoopHVACOutdoorAirSystem.get @@ -384,7 +394,8 @@ def run(runner, user_arguments) plant_loop_data = {} plant_loop_data['object_name'] = plant_loop.name.to_s plant_loop_data['object_type'] = plant_loop.iddObjectType.valueName.to_s - plant_loop_data['components'] = [] + plant_loop_data['boundary_nodes'] = [getBoundaryNodes(plant_loop)] + plant_loop_data['supply_components'] = [] plant_loop.supplyComponents.each do |comp| if comp.to_StraightComponent.is_initialized comp_data = straight_component_data_hash(comp, reporting_frequency, variable_names) diff --git a/lib/measures/detailed_hvac_viewer/resources/report.html.erb b/lib/measures/detailed_hvac_viewer/resources/report.html.erb index 3f8e466..61265d7 100644 --- a/lib/measures/detailed_hvac_viewer/resources/report.html.erb +++ b/lib/measures/detailed_hvac_viewer/resources/report.html.erb @@ -129,14 +129,14 @@ function populateNodeAttributeDropdown() { dropdown.appendChild(option); }); } - populateNodeAttributeDropdown(); + function getNodeValues(hvac_data, airLoopName, nodeName, selectedKey) { for (let i = 0; i < hvac_data[0].length; i++) { let obj = hvac_data[0][i]; if (obj.object_name === airLoopName && obj.object_type === "OS_AirLoopHVAC") { - for (let j = 0; j < obj.components.length; j++) { - let component = obj.components[j]; + for (let j = 0; j < obj.supply_components.length; j++) { + let component = obj.supply_components[j]; if (component.object_name === nodeName && component.object_type === "OS_Node") { return component[selectedKey]; } From 37cfed090b56c5231d157f5892efb30c562bbde5 Mon Sep 17 00:00:00 2001 From: kentakahas <31293085+kentakahas@users.noreply.github.com> Date: Sun, 26 May 2024 19:41:26 +0900 Subject: [PATCH 5/9] Update measure.rb updated wrong measure.rb --- lib/measures/detailed_hvac_viewer/measure.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/measures/detailed_hvac_viewer/measure.rb b/lib/measures/detailed_hvac_viewer/measure.rb index cbee857..cce58d3 100644 --- a/lib/measures/detailed_hvac_viewer/measure.rb +++ b/lib/measures/detailed_hvac_viewer/measure.rb @@ -333,7 +333,7 @@ def run(runner, user_arguments) air_loop_data['object_type'] = air_loop.iddObjectType.valueName.to_s air_loop_data['isOutdoorAirSystem'] = false air_loop_data['boundary_nodes'] = [getBoundaryNodes(air_loop)] - air_loop_data['supply_components'] = [] + air_loop_data['components'] = [] air_loop.supplyComponents.each do |comp| if comp.to_StraightComponent.is_initialized comp_data = straight_component_data_hash(comp, reporting_frequency, variable_names) @@ -395,7 +395,7 @@ def run(runner, user_arguments) plant_loop_data['object_name'] = plant_loop.name.to_s plant_loop_data['object_type'] = plant_loop.iddObjectType.valueName.to_s plant_loop_data['boundary_nodes'] = [getBoundaryNodes(plant_loop)] - plant_loop_data['supply_components'] = [] + plant_loop_data['components'] = [] plant_loop.supplyComponents.each do |comp| if comp.to_StraightComponent.is_initialized comp_data = straight_component_data_hash(comp, reporting_frequency, variable_names) From bf3a1455f5308ed0bea9d468c9858ababc396cf6 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Sun, 26 May 2024 23:02:51 -0600 Subject: [PATCH 6/9] change image names - change image names to match the OS object type - include another path option for image lookup so they will show when running tests - update .gitignore to ignore all test outputs --- .gitignore | 3 +- ... OS_AirLoopHVAC_OutdoorAirSystem_Left.png} | Bin ...OS_AirLoopHVAC_OutdoorAirSystem_Right.png} | Bin ...ty.png => OS_Coil_Cooling_DX_TwoSpeed.png} | Bin ...{heat_coil.png => OS_Coil_Heating_Gas.png} | Bin ...variable.png => OS_Fan_VariableVolume.png} | Bin .../resources/report.html.erb | 35 ++++++++++++------ 7 files changed, 24 insertions(+), 14 deletions(-) rename lib/measures/detailed_hvac_viewer/resources/images/{OAMixer_left.png => OS_AirLoopHVAC_OutdoorAirSystem_Left.png} (100%) rename lib/measures/detailed_hvac_viewer/resources/images/{OAMixer_right.png => OS_AirLoopHVAC_OutdoorAirSystem_Right.png} (100%) rename lib/measures/detailed_hvac_viewer/resources/images/{dxcoolingcoil_2stage_humidity.png => OS_Coil_Cooling_DX_TwoSpeed.png} (100%) rename lib/measures/detailed_hvac_viewer/resources/images/{heat_coil.png => OS_Coil_Heating_Gas.png} (100%) rename lib/measures/detailed_hvac_viewer/resources/images/{fan_variable.png => OS_Fan_VariableVolume.png} (100%) diff --git a/.gitignore b/.gitignore index 5805fa4..173010b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ .idea .DS_Store -*/tests/output - +**/tests/output/ \ No newline at end of file diff --git a/lib/measures/detailed_hvac_viewer/resources/images/OAMixer_left.png b/lib/measures/detailed_hvac_viewer/resources/images/OS_AirLoopHVAC_OutdoorAirSystem_Left.png similarity index 100% rename from lib/measures/detailed_hvac_viewer/resources/images/OAMixer_left.png rename to lib/measures/detailed_hvac_viewer/resources/images/OS_AirLoopHVAC_OutdoorAirSystem_Left.png diff --git a/lib/measures/detailed_hvac_viewer/resources/images/OAMixer_right.png b/lib/measures/detailed_hvac_viewer/resources/images/OS_AirLoopHVAC_OutdoorAirSystem_Right.png similarity index 100% rename from lib/measures/detailed_hvac_viewer/resources/images/OAMixer_right.png rename to lib/measures/detailed_hvac_viewer/resources/images/OS_AirLoopHVAC_OutdoorAirSystem_Right.png diff --git a/lib/measures/detailed_hvac_viewer/resources/images/dxcoolingcoil_2stage_humidity.png b/lib/measures/detailed_hvac_viewer/resources/images/OS_Coil_Cooling_DX_TwoSpeed.png similarity index 100% rename from lib/measures/detailed_hvac_viewer/resources/images/dxcoolingcoil_2stage_humidity.png rename to lib/measures/detailed_hvac_viewer/resources/images/OS_Coil_Cooling_DX_TwoSpeed.png diff --git a/lib/measures/detailed_hvac_viewer/resources/images/heat_coil.png b/lib/measures/detailed_hvac_viewer/resources/images/OS_Coil_Heating_Gas.png similarity index 100% rename from lib/measures/detailed_hvac_viewer/resources/images/heat_coil.png rename to lib/measures/detailed_hvac_viewer/resources/images/OS_Coil_Heating_Gas.png diff --git a/lib/measures/detailed_hvac_viewer/resources/images/fan_variable.png b/lib/measures/detailed_hvac_viewer/resources/images/OS_Fan_VariableVolume.png similarity index 100% rename from lib/measures/detailed_hvac_viewer/resources/images/fan_variable.png rename to lib/measures/detailed_hvac_viewer/resources/images/OS_Fan_VariableVolume.png diff --git a/lib/measures/detailed_hvac_viewer/resources/report.html.erb b/lib/measures/detailed_hvac_viewer/resources/report.html.erb index 61265d7..9407530 100644 --- a/lib/measures/detailed_hvac_viewer/resources/report.html.erb +++ b/lib/measures/detailed_hvac_viewer/resources/report.html.erb @@ -10,7 +10,7 @@