tpex 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,50 @@
1
+ require "json"
2
+
3
+ module TPEX
4
+ class Client
5
+ module Files
6
+
7
+ FIELDS = {
8
+ file: {machine_name: "file", required: true},
9
+ filename: {machine_name: "filename", required: true},
10
+ filesize: {machine_name: "filesize", required: true}
11
+ }
12
+
13
+ File = Struct.new(*FIELDS.keys)
14
+
15
+ def post_file(file)
16
+ data = jsonify_file(file)
17
+ response = post("file", data)
18
+ end
19
+
20
+ def build_file(options={})
21
+ required_fields = []
22
+ arguments = []
23
+
24
+ TPEX::Client::Files::FIELDS.each do |key, value|
25
+ required_fields << key if value[:required]
26
+ arguments << options[key]
27
+ end
28
+
29
+ required_fields.each do |key|
30
+ return nil if options[key].nil?
31
+ end
32
+
33
+ return File.new(*arguments);
34
+ end
35
+
36
+ def jsonify_file(file)
37
+ jsonobject = {}
38
+ fields = TPEX::Client::Files::FIELDS
39
+
40
+ file.each_pair do |name, value|
41
+ if !value.nil?
42
+ jsonobject[fields[name][:machine_name]] = value
43
+ end
44
+ end
45
+
46
+ JSON.generate({"file" => jsonobject})
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,727 @@
1
+ module TPEX
2
+ class Client
3
+ module PerformanceNodes
4
+ #make sure all of these have a title and product_ref mapping
5
+ NON_SSL_LAMP_FIELDS = {
6
+ color_rendering_index: {machine_name:"field_nnslmp_clrrndrngndx_av", enclosed: true},
7
+ color_rendering_index_src: {machine_name:"field_nnslmp_clrrndrngndx_src"},
8
+ correlated_color_temperature: {machine_name:"field_nnslmp_crltdclrtmprt_av", enclosed: true},
9
+ correlated_color_temperature_src: {machine_name:"field_nnslmp_crltdclrtmprt_src"},
10
+ light_source_type: {machine_name:"field_nnslmp_lghtsrctyp_av"},
11
+ light_source_type_src: {machine_name:"field_nnslmp_lghtsrctyp_src"},
12
+ lamp_distribution_type: {machine_name:"field_nnslmp_lmpdstrbtntyp_av"},
13
+ lamp_distribution_type_src: {machine_name:"field_nnslmp_lmpdstrbtntyp_src"},
14
+ measurement_source: {machine_name:"field_nnslmp_measurement_source"},
15
+ mean_luminous_flux: {machine_name:"field_nnslmp_mnlmnsflx_av", enclosed: true},
16
+ mean_luminous_flux_src: {machine_name:"field_nnslmp_mnlmnsflx_src"},
17
+ mean_luminous_flux_for_horizontal_installations: {machine_name:"field_nnslmp_mnlmnsflxfrhr_av", enclosed: true},
18
+ mean_luminous_flux_hz_src: {machine_name:"field_nnslmp_mnlmnsflxfrhr_src"},
19
+ mean_luminous_flux_for_vertical_installations: {machine_name:"field_nnslmp_mnlmnsflxfrvr_av", enclosed: true},
20
+ mean_lum_vert_src: {machine_name:"field_nnslmp_mnlmnsflxfrvr_src"},
21
+ input_power: {machine_name:"field_nnslmp_nptpwr_av", enclosed: true},
22
+ input_power_src: {machine_name:"field_nnslmp_nptpwr_src"},
23
+ ansi_lamp_designation: {machine_name:"field_nnslmp_nslmpdsgntn_av", enclosed: true},
24
+ ansi_lamp_designation_src: {machine_name:"field_nnslmp_nslmpdsgntn_src"},
25
+ integral_ballast: {machine_name:"field_nnslmp_ntgrlblst_av"},
26
+ integral_ballast_src: {machine_name:"field_nnslmp_ntgrlblst_src"},
27
+ initial_luminous_flux: {machine_name:"field_nnslmp_ntllmnsflx_av", enclosed: true},
28
+ initial_luminous_flux_src: {machine_name:"field_nnslmp_ntllmnsflx_src"},
29
+ product_ref: {machine_name:"field_nnslmp_product_ref"},
30
+ rated_life: {machine_name:"field_nnslmp_rtdlf_av", enclosed: true},
31
+ rated_life_src: {machine_name:"field_nnslmp_rtdlf_src"},
32
+ specification_sheet: {machine_name:"field_nnslmp_spcfctnsht_av", enclosed:true, label: "fid" },
33
+ specification_sheet_src: {machine_name:"field_nnslmp_spcfctnsht_src"},
34
+ standard_photometric_data: {machine_name:"field_nnslmp_stndrdphtmtrc_av", enclosed:true, label: "fid" },
35
+ std_photomet_src: {machine_name:"field_nnslmp_stndrdphtmtrc_src"},
36
+ product_ref: {machine_name:"field_product_ref", required:true},
37
+ title: {machine_name:"title", required:true}
38
+ }
39
+
40
+ SSL_LAMP_FIELDS = {
41
+ color_rendering_index: {machine_name:"field_slrplc_clrrndrngndx_av", enclosed: true},
42
+ color_rendering_index_src: {machine_name:"field_slrplc_clrrndrngndx_src"},
43
+ correlated_color_temperature: {machine_name:"field_slrplc_crltdclrtmprt_av", enclosed: true},
44
+ correlated_color_temperature_src: {machine_name:"field_slrplc_crltdclrtmprt_src"},
45
+ lumen_maintenance: {machine_name:"field_slrplc_lmnmntnc_av", enclosed: true},
46
+ lumen_maintenance_src: {machine_name:"field_slrplc_lmnmntnc_src"},
47
+ lamp_distribution_type: {machine_name:"field_slrplc_lmpdstrbtntyp_av"},
48
+ lamp_distribution_type_src: {machine_name:"field_slrplc_lmpdstrbtntyp_src"},
49
+ measurement_source: {machine_name:"field_slrplc_measurement_source"},
50
+ input_power: {machine_name:"field_slrplc_nptpwr_av", enclosed: true},
51
+ input_power_src: {machine_name:"field_slrplc_nptpwr_src"},
52
+ ansi_lamp_designation: {machine_name:"field_slrplc_nslmpdsgntn_av", enclosed: true},
53
+ ansi_lamp_designation_src: {machine_name:"field_slrplc_nslmpdsgntn_src"},
54
+ initial_luminous_flux: {machine_name:"field_slrplc_ntllmnsflx_av", enclosed: true},
55
+ initial_luminous_flux_src: {machine_name:"field_slrplc_ntllmnsflx_src"},
56
+ specification_sheet: {machine_name:"field_slrplc_spcfctnsht_av", enclosed:true, label: "fid" },
57
+ specification_sheet_src: {machine_name:"field_slrplc_spcfctnsht_src"},
58
+ standard_photometric_data: {machine_name:"field_slrplc_stndrdphtmtrc_av", enclosed:true, label: "fid" },
59
+ standard_photometric_data_src: {machine_name:"field_slrplc_stndrdphtmtrc_src"},
60
+ product_ref: {machine_name:"field_product_ref", required:true},
61
+ title: {machine_name:"title", required: true}
62
+ }
63
+
64
+ PV_MODULE_FIELDS = {
65
+ module_efficiency: {machine_name:"field_phtvlt_mdlfcncy_av", enclosed: true},
66
+ module_efficiency_src: {machine_name:"field_phtvlt_mdlfcncy_src"},
67
+ rated_power: {machine_name:"field_phtvlt_rtdpwr_av", enclosed: true},
68
+ rated_power_src: {machine_name:"field_phtvlt_rtdpwr_src"},
69
+ cell_material: {machine_name:"field_phtvlt_clmtrltyp_av", multiple_list: true},
70
+ cell_material_src: {machine_name:"field_phtvlt_clmtrltyp_src"},
71
+ length: {machine_name:"field_phtvlt_lngth_av", enclosed: true},
72
+ length_src: {machine_name:"field_phtvlt_lngth_src"},
73
+ width: {machine_name:"field_phtvlt_wdth_av", enclosed: true},
74
+ width_src: {machine_name:"field_phtvlt_wdth_src"},
75
+ total_number_cells: {machine_name:"field_phtvlt_ttlnmbrfcls_av", enclosed: true},
76
+ total_number_cells_src: {machine_name:"field_phtvlt_ttlnmbrfcls_src"},
77
+ number_cell_series: {machine_name:"field_phtvlt_nmbrfclsnsrs_av", enclosed: true},
78
+ number_cell_series_src: {machine_name:"field_phtvlt_nmbrfclsnsrs_src"},
79
+ solar_cell_area: {machine_name:"field_phtvlt_slrclr_av", enclosed: true},
80
+ solar_cell_area_src: {machine_name:"field_phtvlt_slrclr_src"},
81
+ nominal_operating_cell_temp: {machine_name:"field_phtvlt_nmnlprtngcltm_av", enclosed: true},
82
+ nominal_operating_cell_temp_src: {machine_name:"field_phtvlt_nmnlprtngcltm_src"},
83
+ short_circuit_current_temp_coef: {machine_name: "field_phtvlt_shrtcrctcrntt_av", enclosed: true},
84
+ short_circuit_current_temp_coef_src: {machine_name: "field_phtvlt_shrtcrctcrntt_src"},
85
+ open_circuit_voltage_temp_coef: {machine_name:"field_phtvlt_pncrctvltgtmp_av", enclosed: true},
86
+ open_circuit_voltage_temp_coef_src: {machine_name:"field_phtvlt_pncrctvltgtmp_src"},
87
+ max_power_temp_coef: {machine_name:"field_phtvlt_mxmpwrtmprtrc_av", enclosed: true},
88
+ max_power_temp_coef_src: {machine_name:"field_phtvlt_mxmpwrtmprtrc_src"},
89
+ max_power_ltc: {machine_name:"field_phtvlt_mxmpwrtltc_av", enclosed: true},
90
+ max_power_ltc_src: {machine_name:"field_phtvlt_mxmpwrtltc_src"},
91
+ max_system_voltage: {machine_name:"field_phtvlt_mxmsystmvltg_av", enclosed: true},
92
+ max_system_voltage_src: {machine_name:"field_phtvlt_mxmsystmvltg_src"},
93
+ max_stress_limit: {machine_name:"field_phtvlt_mxmstrslmt_av", enclosed: true},
94
+ max_stress_limit_src: {machine_name:"field_phtvlt_mxmstrslmt_src"},
95
+ rated_hail_diameter_resistance: {machine_name:"field_phtvlt_rtdhldmtrmpct_av", enclosed: true},
96
+ rated_hail_diameter_resistance_src: {machine_name:"field_phtvlt_rtdhldmtrmpct_src"},
97
+ rated_hail_speed_resistance: {machine_name:"field_phtvlt_rtdhlspdmpctr_av", enclosed: true},
98
+ rated_hail_speed_resistance_src: {machine_name:"field_phtvlt_rtdhlspdmpctr_src"},
99
+ manufacturer_warranty_available: {machine_name:"field_phtvlt_mnfctrswrntyv_av"},
100
+ manufacturer_warranty_available_src: {machine_name:"field_phtvlt_mnfctrswrntyv_src"},
101
+ warranty_time_length: {machine_name:"field_phtvlt_wrntytmlngth_av", enclosed: true},
102
+ warranty_time_length_src: {machine_name:"field_phtvlt_wrntytmlngth_src"},
103
+ percent_pmp_guarantee: {machine_name:"field_phtvlt_prcntpmpgrntd_av", enclosed: true},
104
+ percent_pmp_guarantee_src: {machine_name:"field_phtvlt_prcntpmpgrntd_src"},
105
+ electrical_performance_chart: {machine_name:"field_phtvlt_lctrclprfrmnc_av", enclosed: true, label:"fid"},
106
+ electrical_performance_chart_src: {machine_name:"field_phtvlt_lctrclprfrmnc_src"},
107
+ measurement_source: {machine_name:"field_phtvlt_measurement_source"},
108
+ product_ref: {machine_name:"field_product_ref", required: true},
109
+ title: {machine_name:"title", required: true}
110
+ }
111
+
112
+
113
+ HOT_WATER_BOILER_FIELDS = {
114
+ input_power: {machine_name:"field_htwtrb_nptpwr_av", enclosed: true},
115
+ input_power_src: {machine_name:"field_htwtrb_nptpwr_src"},
116
+ annual_fuel_utilization_efficiency: {machine_name:"field_htwtrb_nlfltlztnfcnc_av", enclosed: true},
117
+ annual_fuel_utilization_efficiency_src: {machine_name: "field_htwtrb_nlfltlztnfcnc_src"},
118
+ thermal_efficiency: {machine_name:"field_htwtrb_thrmlfcncy_av", enclosed: true},
119
+ thermal_efficiency_src: {machine_name:"field_htwtrb_thrmlfcncy_src"},
120
+ combustion_efficiency: {machine_name:"field_htwtrb_cmbstnfcncy_av", enclosed: true},
121
+ combustion_efficiency_src: {machine_name:"field_htwtrb_cmbstnfcncy_src"},
122
+ fuel_type: {machine_name:"field_htwtrb_fltyp_av", multiple_list: true},
123
+ fuel_type_src: {machine_name:"field_htwtrb_fltyp_src"},
124
+ ahri_certified_reference_number: {machine_name:"field_htwtrb_hrcrtfdrfrncn_av", enclosed: true},
125
+ ahri_certified_reference_number_src: {machine_name:"field_htwtrb_hrcrtfdrfrncn_src"},
126
+ input_power_control: {machine_name:"field_htwtrb_nptpwrcntrl_av"},
127
+ input_power_control_src: {machine_name:"field_htwtrb_nptpwrcntrl_src"},
128
+ number_of_discrete_heating_stages: {machine_name:"field_htwtrb_nmbrfdscrthtn_av", enclosed: true},
129
+ number_of_discrete_heating_stages_src: {machine_name:"field_htwtrb_nmbrfdscrthtn_src"},
130
+ turndown_ratio: {machine_name:"field_htwtrb_trndwnrt_av", enclosed: true},
131
+ turndown_ratio_src: {machine_name:"field_htwtrb_trndwnrt_src"},
132
+ control_options: {machine_name:"field_htwtrb_cntrlptns_av", enclosed: true, label: "fid" },
133
+ control_options_src: {machine_name:"field_htwtrb_cntrlptns_src"},
134
+ boiler_performance_map: {machine_name:"field_htwtrb_blrprfrmncmp_av", enclosed: true, label: "fid" },
135
+ boiler_performance_map_src: {machine_name:"field_htwtrb_blrprfrmncmp_src"},
136
+ product_data_sheet: {machine_name:"field_htwtrb_prdctdtsht_av", enclosed: true, label: "fid" },
137
+ product_data_sheet_src: {machine_name:"field_htwtrb_prdctdtsht_src"},
138
+ minimum_flow_rate: {machine_name:"field_htwtrb_mnmflwrt_av", enclosed: true},
139
+ minimum_flow_rate_src: {machine_name:"field_htwtrb_mnmflwrt_src"},
140
+ maximum_flow_rate: {machine_name:"field_htwtrb_mxmflwrt_av", enclosed: true},
141
+ maximum_flow_rate_src: {machine_name:"field_htwtrb_mxmflwrt_src"},
142
+ minimum_feedwater_temperature: {machine_name:"field_htwtrb_mnmfdwtrtmprt_av", enclosed: true},
143
+ minimum_feedwater_temperature_src: {machine_name:"field_htwtrb_mnmfdwtrtmprt_src"},
144
+ condensing_operation: {machine_name:"field_htwtrb_cndnsngprtn_av"},
145
+ condensing_operation_src: {machine_name:"field_htwtrb_cndnsngprtn_src"},
146
+ measurement_source: {machine_name:"field_htwtrb_measurement_source"},
147
+ product_ref: {machine_name:"field_product_ref", required: true},
148
+ title: {machine_name:"title", required: true}
149
+ }
150
+
151
+
152
+ STEAM_BOILER_FIELDS = {
153
+ input_power: {machine_name:"field_stmblr_nptpwr_av", enclosed: true},
154
+ input_power_src: {machine_name:"field_stmblr_nptpwr_src"},
155
+ annual_fuel_utilization_efficiency: {machine_name:"field_stmblr_nlfltlztnfcnc_av", enclosed: true},
156
+ annual_fuel_utilization_efficiency_src: {machine_name: "field_stmblr_nlfltlztnfcnc_src"},
157
+ thermal_efficiency: {machine_name:"field_stmblr_thrmlfcncy_av", enclosed: true},
158
+ thermal_efficiency_src: {machine_name:"field_stmblr_thrmlfcncy_src"},
159
+ combustion_efficiency: {machine_name:"field_stmblr_cmbstnfcncy_av", enclosed: true},
160
+ combustion_efficiency_src: {machine_name:"field_stmblr_cmbstnfcncy_src"},
161
+ fuel_type: {machine_name:"field_stmblr_fltyp_av", multiple_list: true},
162
+ fuel_type_src: {machine_name:"field_stmblr_fltyp_src"},
163
+ ahri_certified_reference_number: {machine_name:"field_stmblr_hrcrtfdrfrncn_av", enclosed: true},
164
+ ahri_certified_reference_number_src: {machine_name:"field_stmblr_hrcrtfdrfrncn_src"},
165
+ input_power_control: {machine_name:"field_stmblr_nptpwrcntrl_av"},
166
+ input_power_control_src: {machine_name:"field_stmblr_nptpwrcntrl_src"},
167
+ number_of_discrete_heating_stages: {machine_name:"field_stmblr_nmbrfdscrthtn_av", enclosed: true},
168
+ number_of_discrete_heating_stages_src: {machine_name:"field_stmblr_nmbrfdscrthtn_src"},
169
+ turndown_ratio: {machine_name:"field_stmblr_trndwnrt_av", enclosed: true},
170
+ turndown_ratio_src: {machine_name:"field_stmblr_trndwnrt_src"},
171
+ control_options: {machine_name:"field_stmblr_cntrlptns_av", enclosed: true, label: "fid" },
172
+ control_options_src: {machine_name:"field_stmblr_cntrlptns_src"},
173
+ boiler_performance_map: {machine_name:"field_stmblr_blrprfrmncmp_av", enclosed: true, label: "fid" },
174
+ boiler_performance_map_src: {machine_name:"field_stmblr_blrprfrmncmp_src"},
175
+ product_data_sheet: {machine_name:"field_stmblr_prdctdtsht_av", enclosed: true, label: "fid" },
176
+ product_data_sheet_src: {machine_name:"field_stmblr_prdctdtsht_src"},
177
+ minimum_operating_pressure: {machine_name:"field_stmblr_mnmprtngprsr_av", enclosed: true},
178
+ minimum_operating_pressure_src: {machine_name:"field_stmblr_mnmprtngprsr_src"},
179
+ maximum_operating_pressure: {machine_name:"field_stmblr_mxmprtngprsr_av", enclosed: true},
180
+ maximum_operating_pressure_src: {machine_name:"field_stmblr_mxmprtngprsr_src"},
181
+ measurement_source: {machine_name:"field_stmblr_measurement_source"},
182
+ product_ref: {machine_name:"field_product_ref", required: true},
183
+ title: {machine_name:"title", required: true}
184
+ }
185
+
186
+
187
+ CHILLER_FIELDS = {
188
+ basin_heater_capacity: {machine_name:"field_lctrcl_bsnhtrcpcty_av", enclosed: true},
189
+ basin_heater_capacity_src: {machine_name:"field_lctrcl_bsnhtrcpcty_src"},
190
+ chiller_control_documentation: {machine_name:"field_lctrcl_chlrcntrldcmn_av", enclosed:true, label: "fid" },
191
+ chiller_control_documentation_src: {machine_name:"field_lctrcl_chlrcntrldcmn_src"},
192
+ compressor_motor_efficiency: {machine_name:"field_lctrcl_cmprsrmtrfcnc_av", enclosed: true},
193
+ compressor_motor_efficiency_src: {machine_name:"field_lctrcl_cmprsrmtrfcnc_src"},
194
+ compressor_motor_type: {machine_name:"field_lctrcl_cmprsrmtrtyp_av"},
195
+ compressor_motor_type_src: {machine_name:"field_lctrcl_cmprsrmtrtyp_src"},
196
+ compressor_type: {machine_name:"field_lctrcl_cmprsrtyp_av"},
197
+ compressor_type_src: {machine_name:"field_lctrcl_cmprsrtyp_src"},
198
+ condenser_pressure_drop: {machine_name:"field_lctrcl_cndnsrprsrdrp_av", enclosed: true},
199
+ condenser_pressure_drop_src: {machine_name:"field_lctrcl_cndnsrprsrdrp_src"},
200
+ condenser_type: {machine_name:"field_lctrcl_cndnsrtyp_av"},
201
+ condenser_type_src: {machine_name:"field_lctrcl_cndnsrtyp_src"},
202
+ design_chilled_water_flow_rate: {machine_name:"field_lctrcl_dsgnchldwtrfl_av", enclosed: true},
203
+ design_chilled_water_flow_rate_src: {machine_name:"field_lctrcl_dsgnchldwtrfl_src"},
204
+ design_chilled_water_supply_temperature: {machine_name:"field_lctrcl_dsgnchldwtrsp_av", enclosed: true},
205
+ design_chilled_water_supply_temperature_src: {machine_name:"field_lctrcl_dsgnchldwtrsp_src"},
206
+ design_condenser_water_flow_rate: {machine_name:"field_lctrcl_dsgncndnsrwtr_av", enclosed: true},
207
+ design_condenser_water_flow_rate_src: {machine_name:"field_lctrcl_dsgncndnsrwtr_src"},
208
+ fan_control: {machine_name:"field_lctrcl_fncntrl_av"},
209
+ fan_control_src: {machine_name:"field_lctrcl_fncntrl_src"},
210
+ ahri_certified_reference_number: {machine_name:"field_lctrcl_hrcrtfdrfrncn_av", enclosed: true},
211
+ ahri_certified_reference_number_src: {machine_name:"field_lctrcl_hrcrtfdrfrncn_src"},
212
+ ahri_rated_coefficient_of_performance: {machine_name:"field_lctrcl_hrtdcfcntfprf_av", enclosed: true},
213
+ ahri_rated_coefficient_of_performance_src: {machine_name:"field_lctrcl_hrtdcfcntfprf_src"},
214
+ measurement_source: {machine_name:"field_lctrcl_measurement_source"},
215
+ minimum_chilled_water_flow_rate: {machine_name:"field_lctrcl_mnmchldwtrflw_av", enclosed: true},
216
+ minimum_chilled_water_flow_rate_src: {machine_name:"field_lctrcl_mnmchldwtrflw_src"},
217
+ minimum_chilled_water_supply_temperature: {machine_name:"field_lctrcl_mnmchldwtrspl_av", enclosed: true},
218
+ minimum_chilled_water_supply_temperature_src: {machine_name:"field_lctrcl_mnmchldwtrspl_src"},
219
+ minimum_condenser_water_flow_rate: {machine_name:"field_lctrcl_mnmcndnsrwtrf_av", enclosed: true},
220
+ minimum_condenser_water_flow_rate_src: {machine_name:"field_lctrcl_mnmcndnsrwtrf_src"},
221
+ minimum_condenser_water_entering_temperature: {machine_name:"field_lctrcl_mnmcndnsrwtrn_av", enclosed: true},
222
+ minimum_condenser_water_entering_temperature_src: {machine_name:"field_lctrcl_mnmcndnsrwtrn_src"},
223
+ minimum_part_load_ratio: {machine_name:"field_lctrcl_mnmprtldrt_av", enclosed: true},
224
+ minimum_part_load_ratio_src: {machine_name:"field_lctrcl_mnmprtldrt_src"},
225
+ minimum_outdoor_air_dry_bulb_temperature: {machine_name:"field_lctrcl_mnmtdrdryblbt_av", enclosed: true},
226
+ minimum_outdoor_air_dry_bulb_temperature_src: {machine_name:"field_lctrcl_mnmtdrdryblbt_src"},
227
+ minimum_outdoor_air_wet_bulb_temperature: {machine_name:"field_lctrcl_mnmtdrwtblbtm_av", enclosed: true},
228
+ minimum_outdoor_air_wet_bulb_temperature_src: {machine_name:"field_lctrcl_mnmtdrwtblbtm_src"},
229
+ maximum_chilled_water_flow_rate: {machine_name:"field_lctrcl_mxmchldwtrflw_av", enclosed: true},
230
+ maximum_chilled_water_flow_rate_src: {machine_name:"field_lctrcl_mxmchldwtrflw_src"},
231
+ maximum_chilled_water_supply_temperature: {machine_name:"field_lctrcl_mxmchldwtrspl_av", enclosed: true},
232
+ maximum_chilled_water_supply_temperature_src: {machine_name:"field_lctrcl_mxmchldwtrspl_src"},
233
+ maximum_condenser_water_flow_rate: {machine_name:"field_lctrcl_mxmcndnsrwtrf_av", enclosed: true},
234
+ maximum_condenser_water_flow_rate_src: {machine_name:"field_lctrcl_mxmcndnsrwtrf_src"},
235
+ maximum_condenser_water_entering_temperature: {machine_name:"field_lctrcl_mxmcndnsrwtrn_av", enclosed: true},
236
+ maximum_condenser_water_entering_temperature_src: {machine_name:"field_lctrcl_mxmcndnsrwtrn_src"},
237
+ maximum_part_load_ratio: {machine_name:"field_lctrcl_mxmprtldrt_av", enclosed: true},
238
+ maximum_part_load_ratio_src: {machine_name:"field_lctrcl_mxmprtldrt_src"},
239
+ maximum_outdoor_air_dry_bulb_temperature: {machine_name:"field_lctrcl_mxmtdrdryblbt_av", enclosed: true},
240
+ maximum_outdoor_air_dry_bulb_temperature_src: {machine_name:"field_lctrcl_mxmtdrdryblbt_src"},
241
+ maximum_outdoor_air_wet_bulb_temperature: {machine_name:"field_lctrcl_mxmtdrwtblbtm_av", enclosed: true},
242
+ maximum_outdoor_air_wet_bulb_temperature_src: {machine_name:"field_lctrcl_mxmtdrwtblbtm_src"},
243
+ net_refrigeration_capacity: {machine_name:"field_lctrcl_ntrfrgrtncpct_av", enclosed: true},
244
+ net_refrigeration_capacity_src: {machine_name:"field_lctrcl_ntrfrgrtncpct_src"},
245
+ product_data_sheet: {machine_name:"field_lctrcl_prdctdtsht_av", enclosed:true, label: "fid" },
246
+ product_data_sheet_src: {machine_name:"field_lctrcl_prdctdtsht_src"},
247
+ performance_map: {machine_name:"field_lctrcl_prfrmncmp_av", enclosed:true, label: "fid" },
248
+ performance_map_src: {machine_name:"field_lctrcl_prfrmncmp_src"},
249
+ part_load_ratio_below_which_hot_gas_bypass_operates: {machine_name:"field_lctrcl_prtldrtblwwhc_av", enclosed: true},
250
+ part_load_ratio_below_which_hot_gas_bypass_operates_src: {machine_name:"field_lctrcl_prtldrtblwwhc_src"},
251
+ refrigerant: {machine_name:"field_lctrcl_rfrgrnt_av"},
252
+ refrigerant_src: {machine_name:"field_lctrcl_rfrgrnt_src"},
253
+ sequence_of_operation: {machine_name:"field_lctrcl_sqncfprtn_av", enclosed:true, label: "fid" },
254
+ sequence_of_operation_src: {machine_name:"field_lctrcl_sqncfprtn_src"},
255
+ evaporator_pressure_drop: {machine_name:"field_lctrcl_vprtrprsrdrp_av", enclosed: true},
256
+ evaporator_pressure_drop_src: {machine_name:"field_lctrcl_vprtrprsrdrp_src"},
257
+ variable_speed_drive_compressor: {machine_name:"field_lctrcl_vrblspddrvcmp_av"},
258
+ variable_speed_drive_compressor_src: {machine_name:"field_lctrcl_vrblspddrvcmp_src"},
259
+ product_ref: {machine_name:"field_product_ref", required: true},
260
+ title: {machine_name:"title", required: true}
261
+ }
262
+ BALLAST_FIELDS = {
263
+ product_ref: {machine_name:"field_product_ref", required:true},
264
+ ballast_factor: {machine_name:"field_lmpbls_blstfctr_av", enclosed: true},
265
+ ballast_factor_src: {machine_name:"field_lmpbls_blstfctr_src"},
266
+ ballast_type: {machine_name:"field_lmpbls_blsttyp_av"},
267
+ ballast_type_src: {machine_name:"field_lmpbls_blsttyp_src"},
268
+ lamp_distribution_type: {machine_name:"field_lmpbls_lmpdstrbtntyp_av"},
269
+ lamp_distribution_type_src: {machine_name:"field_lmpbls_lmpdstrbtntyp_src"},
270
+ measurement_source: {machine_name:"field_lmpbls_measurement_source"},
271
+ number_of_lamps: {machine_name:"field_lmpbls_nmbrflmps_av", enclosed: true},
272
+ number_of_lamps_src: {machine_name:"field_lmpbls_nmbrflmps_src"},
273
+ input_power_factor_at_120v: {machine_name:"field_lmpbls_nptpwrfctrt12_av", enclosed: true},
274
+ input_power_factor_120v_src: {machine_name:"field_lmpbls_nptpwrfctrt12_src"},
275
+ input_power_factor_at_277v: {machine_name:"field_lmpbls_nptpwrfctrt27_av", enclosed: true},
276
+ input_power_factor_227v_src: {machine_name:"field_lmpbls_nptpwrfctrt27_src"},
277
+ input_power_at_120v: {machine_name:"field_lmpbls_nptpwrt120v_av", enclosed: true},
278
+ input_power_120v_src: {machine_name:"field_lmpbls_nptpwrt120v_src"},
279
+ input_power_at_277v: {machine_name:"field_lmpbls_nptpwrt27v_av", enclosed: true},
280
+ input_power_227v_src: {machine_name:"field_lmpbls_nptpwrt27v_src"},
281
+ input_voltage: {machine_name:"field_lmpbls_nptvltg_av", multiple: true},
282
+ input_voltage_src: {machine_name:"field_lmpbls_nptvltg_src"},
283
+ ansi_lamp_designation: {machine_name:"field_lmpbls_nslmpdsgntn_av", enclosed: true},
284
+ ansi_lamp_src: {machine_name:"field_lmpbls_nslmpdsgntn_src"},
285
+ specification_sheet: {machine_name:"field_lmpbls_spcfctnsht_av", enclosed:true, label: "fid" },
286
+ specification_sheet_src: {machine_name:"field_lmpbls_spcfctnsht_src"},
287
+ starting_method: {machine_name:"field_lmpbls_strtngmthd_av"},
288
+ starting_method_src: {machine_name:"field_lmpbls_strtngmthd_src"},
289
+ total_harmonic_distortion: {machine_name:"field_lmpbls_ttlhrmncdstrt_av", enclosed: true},
290
+ thd_src: {machine_name:"field_lmpbls_ttlhrmncdstrt_src"},
291
+ title: {machine_name:"title", required: true}
292
+ }
293
+ ROOFTOP_UNIT_FIELDS = {
294
+ product_ref: {machine_name:"field_product_ref", required: true},
295
+ cooling_mode_minimum_fan_speed_as_a_fraction_of_maximum: {machine_name:"field_rftpnt_clngmdmnmfnsp_av", enclosed: true},
296
+ cooling_mode_minimum_fan_speed_as_a_fraction_of_maximum_src: {machine_name:"field_rftpnt_clngmdmnmfnsp_src"},
297
+ cooling_mode_indoor_fan_speed_control: {machine_name:"field_rftpnt_clngmdndrfnsp_av"},
298
+ cooling_mode_indoor_fan_speed_control_src: {machine_name:"field_rftpnt_clngmdndrfnsp_src"},
299
+ cooling_mode_number_of_discrete_fan_speeds: {machine_name:"field_rftpnt_clngmdnmbrfds_av", enclosed: true},
300
+ cooling_mode_number_of_discrete_fan_speeds_src: {machine_name:"field_rftpnt_clngmdnmbrfds_src"},
301
+ compressor_staging: {machine_name:"field_rftpnt_cmprsrstgng_av"},
302
+ compressor_staging_src: {machine_name:"field_rftpnt_cmprsrstgng_src"},
303
+ condenser_fan_speed_operation: {machine_name:"field_rftpnt_cndnsrfnspdpr_av"},
304
+ condenser_fan_speed_operation_src: {machine_name:"field_rftpnt_cndnsrfnspdpr_src"},
305
+ economizer_control_types_available: {machine_name:"field_rftpnt_cnmzrcntrltyp_av"},
306
+ economizer_control_types_available_src: {machine_name:"field_rftpnt_cnmzrcntrltyp_src"},
307
+ active_dehumidification: {machine_name:"field_rftpnt_ctvdhmdfctn_av"},
308
+ active_dehumidification_src: {machine_name:"field_rftpnt_ctvdhmdfctn_src"},
309
+ degradation_coefficient: {machine_name:"field_rftpnt_dgrdtncfcnt_av", enclosed: true},
310
+ degradation_coefficient_src: {machine_name:"field_rftpnt_dgrdtncfcnt_src"},
311
+ ahri_certified_reference_number: {machine_name:"field_rftpnt_hrcrtfdrfrncn_av", enclosed: true},
312
+ ahri_certified_reference_number_src: {machine_name:"field_rftpnt_hrcrtfdrfrncn_src"},
313
+ heating_mode_minimum_fan_speed_as_a_fraction_of_maximum: {machine_name:"field_rftpnt_htngmdmnmfnsp_av", enclosed: true},
314
+ heating_mode_minimum_fan_speed_as_a_fraction_of_maximum_src: {machine_name:"field_rftpnt_htngmdmnmfnsp_src"},
315
+ heating_mode_indoor_fan_speed_control: {machine_name:"field_rftpnt_htngmdndrfnsp_av"},
316
+ heating_mode_indoor_fan_speed_control_src: {machine_name:"field_rftpnt_htngmdndrfnsp_src"},
317
+ heating_mode_number_of_discrete_fan_speeds: {machine_name:"field_rftpnt_htngmdnmbrfds_av", enclosed: true},
318
+ heating_mode_number_of_discrete_fan_speeds_src: {machine_name:"field_rftpnt_htngmdnmbrfds_src"},
319
+ heating_staging: {machine_name:"field_rftpnt_htngstgng_av"},
320
+ heating_staging_src: {machine_name:"field_rftpnt_htngstgng_src"},
321
+ measurement_source: {machine_name:"field_rftpnt_measurement_source"},
322
+ minimum_outdoor_dry_bulb_for_heat_pump_operation: {machine_name:"field_rftpnt_mnmtdrdryblba_av", enclosed: true},
323
+ minimum_outdoor_dry_bulb_for_heat_pump_operation_src: {machine_name:"field_rftpnt_mnmtdrdryblba_src"},
324
+ minimum_outdoor_dry_bulb_for_cooling_operation: {machine_name:"field_rftpnt_mnmtdrdryblbf_av", enclosed: true},
325
+ minimum_outdoor_dry_bulb_for_cooling_operation_src: {machine_name:"field_rftpnt_mnmtdrdryblbf_src"},
326
+ maximum_outdoor_dry_bulb_for_heat_pump_operation: {machine_name:"field_rftpnt_mxmtdrdryblba_av", enclosed: true},
327
+ maximum_outdoor_dry_bulb_for_heat_pump_operation_src: {machine_name:"field_rftpnt_mxmtdrdryblba_src"},
328
+ maximum_outdoor_dry_bulb_for_cooling_operation: {machine_name:"field_rftpnt_mxmtdrdryblbf_av", enclosed: true},
329
+ maximum_outdoor_dry_bulb_for_cooling_operation_src: {machine_name:"field_rftpnt_mxmtdrdryblbf_src"},
330
+ number_of_discrete_cooling_stages: {machine_name:"field_rftpnt_nmbrfdscrtcln_av", enclosed: true},
331
+ number_of_discrete_cooling_stages_src: {machine_name:"field_rftpnt_nmbrfdscrtcln_src"},
332
+ number_of_heating_stages: {machine_name:"field_rftpnt_nmbrfhtngstgs_av", enclosed: true},
333
+ number_of_heating_stages_src: {machine_name:"field_rftpnt_nmbrfhtngstgs_src"},
334
+ nominal_cooling_capacity: {machine_name:"field_rftpnt_nmnlclngcpcty_av", enclosed: true},
335
+ nominal_cooling_capacity_src: {machine_name:"field_rftpnt_nmnlclngcpcty_src"},
336
+ energy_efficiency_ratio: {machine_name:"field_rftpnt_nrgyfcncyrt_av", enclosed: true},
337
+ energy_efficiency_ratio_src: {machine_name:"field_rftpnt_nrgyfcncyrt_src"},
338
+ integrated_energy_efficiency_ratio: {machine_name:"field_rftpnt_ntgrtdnrgyfcn_av", enclosed: true},
339
+ integrated_energy_efficiency_ratio_src: {machine_name:"field_rftpnt_ntgrtdnrgyfcn_src"},
340
+ internal_static_pressure_at_full_speed: {machine_name:"field_rftpnt_ntrnlstcprsrt_av", enclosed: true},
341
+ internal_static_pressure_at_full_speed_src: {machine_name:"field_rftpnt_ntrnlstcprsrt_src"},
342
+ product_data_sheet: {machine_name:"field_rftpnt_prdctdtsht_av", enclosed:true, label: "fid" },
343
+ product_data_sheet_src: {machine_name:"field_rftpnt_prdctdtsht_src"},
344
+ performance_map: {machine_name:"field_rftpnt_prfrmncmp_av", enclosed:true, label: "fid" },
345
+ performance_map_src: {machine_name:"field_rftpnt_prfrmncmp_src"},
346
+ refrigerant: {machine_name:"field_rftpnt_rfrgrnt_av"},
347
+ refrigerant_src: {machine_name:"field_rftpnt_rfrgrnt_src"},
348
+ air_source_heat_pump: {machine_name:"field_rftpnt_rsrchtpmp_av"},
349
+ air_source_heat_pump_src: {machine_name:"field_rftpnt_rsrchtpmp_src"},
350
+ rtu_control_documentation: {machine_name:"field_rftpnt_rtcntrldcmntn_av", enclosed:true, label: "fid" },
351
+ rtu_control_documentation: {machine_name:"field_rftpnt_rtcntrldcmntn_src"},
352
+ seasonal_energy_efficiency_ratio: {machine_name:"field_rftpnt_ssnlnrgyfcncy_av", enclosed: true},
353
+ seasonal_energy_efficiency_ratio_src: {machine_name:"field_rftpnt_ssnlnrgyfcncy_src"},
354
+ turndown_ratio: {machine_name:"field_rftpnt_trndwnrt_av", enclosed: true},
355
+ turndown_ratio_src: {machine_name:"field_rftpnt_trndwnrt_src"},
356
+ type_of_heating: {machine_name:"field_rftpnt_typfhtng_av"},
357
+ type_of_heating_src: {machine_name:"field_rftpnt_typfhtng_src"},
358
+ evaporatively_cooled_condenser: {machine_name:"field_rftpnt_vprtvlycldcnd_av"},
359
+ evaporatively_cooled_condenser: {machine_name:"field_rftpnt_vprtvlycldcnd_src"},
360
+ title: {machine_name:"title", required: true}
361
+ }
362
+ SSL_LUMINAIRE_FIELDS = {
363
+ product_ref: {machine_name:"field_product_ref", required: true},
364
+ color_rendering_index: {machine_name:"field_slmnr_clrrndrngndx_av", enclosed: true},
365
+ color_rendering_index_src: {machine_name:"field_slmnr_clrrndrngndx_src"},
366
+ correlated_color_temperature: {machine_name:"field_slmnr_crltdclrtmprt_av", enclosed: true},
367
+ correlated_color_temperature_src: {machine_name:"field_slmnr_crltdclrtmprt_src"},
368
+ lumen_maintenance: {machine_name:"field_slmnr_lmnmntnc_av", enclosed: true},
369
+ lumen_maintenance_src: {machine_name:"field_slmnr_lmnmntnc_src"},
370
+ luminous_efficacy: {machine_name:"field_slmnr_lmnsfcy_av", enclosed: true},
371
+ luminous_efficacy_src: {machine_name:"field_slmnr_lmnsfcy_src"},
372
+ lamp_distribution_type: {machine_name:"field_slmnr_lmpdstrbtntyp_av"},
373
+ lamp_distribution_type_src: {machine_name:"field_slmnr_lmpdstrbtntyp_src"},
374
+ measurement_source: {machine_name:"field_slmnr_measurement_source"},
375
+ mounting_type: {machine_name:"field_slmnr_mntngtyp_av"},
376
+ mounting_type_src: {machine_name:"field_slmnr_mntngtyp_src"},
377
+ input_power: {machine_name:"field_slmnr_nptpwr_av", enclosed: true},
378
+ input_power_src: {machine_name:"field_slmnr_nptpwr_src"},
379
+ input_power_factor: {machine_name:"field_slmnr_nptpwrfctr_av", enclosed: true},
380
+ input_power_factor_src: {machine_name:"field_slmnr_nptpwrfctr_src"},
381
+ input_voltage: {machine_name:"field_slmnr_nptvltg_av", enclosed: true},
382
+ input_voltage_src: {machine_name:"field_slmnr_nptvltg_src"},
383
+ specification_sheet: {machine_name:"field_slmnr_spcfctnsht_av", enclosed:true, label: "fid" },
384
+ specification_sheet_src: {machine_name:"field_slmnr_spcfctnsht_src"},
385
+ standard_photometric_data: {machine_name:"field_slmnr_stndrdphtmtrc_av", enclosed:true, label: "fid" },
386
+ std_photometric_data_src: {machine_name:"field_slmnr_stndrdphtmtrc_src"},
387
+ total_harmonic_distortion: {machine_name:"field_slmnr_ttlhrmncdstrt_av", enclosed: true},
388
+ thd_src: {machine_name:"field_slmnr_ttlhrmncdstrt_src"},
389
+ total_luminous_flux: {machine_name:"field_slmnr_ttllmnsflx_av", enclosed: true},
390
+ total_luminous_flux_src: {machine_name:"field_slmnr_ttllmnsflx_src"},
391
+ title: {machine_name:"title", required: true}
392
+ }
393
+
394
+ NON_SSL_LUMINAIRE_FIELDS = {
395
+ light_source_type: {machine_name:"field_nnslmn_lghtsrctyp_av"},
396
+ light_source_type_src: {machine_name:"field_nnslmn_lghtsrctyp_src"},
397
+ lamp_distribution_type: {machine_name:"field_nnslmn_lmpdstrbtntyp_av"},
398
+ lamp_distribution_type_src: {machine_name:"field_nnslmn_lmpdstrbtntyp_src"},
399
+ measurement_source: {machine_name:"field_nnslmn_measurement_source"},
400
+ mounting_type: {machine_name:"field_nnslmn_mntngtyp_av"},
401
+ mounting_type_src: {machine_name:"field_nnslmn_mntngtyp_src"},
402
+ number_of_lamps: {machine_name:"field_nnslmn_nmbrflmps_av", enclosed: true},
403
+ number_of_lamps_src: {machine_name:"field_nnslmn_nmbrflmps_src"},
404
+ ansi_lamp_designation: {machine_name:"field_nnslmn_nslmpdsgntn_av", enclosed: true},
405
+ ansi_lamp_designation_src: {machine_name:"field_nnslmn_nslmpdsgntn_src"},
406
+ reference_input_power: {machine_name:"field_nnslmn_rfrncnptpwr_av", enclosed: true},
407
+ reference_input_power_src: {machine_name:"field_nnslmn_rfrncnptpwr_src"},
408
+ reference_input_voltage: {machine_name:"field_nnslmn_rfrncnptvltg_av", enclosed: true},
409
+ reference_input_voltage_src: {machine_name:"field_nnslmn_rfrncnptvltg_src"},
410
+ specification_sheet: {machine_name:"field_nnslmn_spcfctnsht_av", enclosed:true, label: "fid" },
411
+ specification_sheet_src: {machine_name:"field_nnslmn_spcfctnsht_src"},
412
+ standard_photometric_data: {machine_name:"field_nnslmn_stndrdphtmtrc_av", enclosed:true, label: "fid" },
413
+ standard_photometric_data_src: {machine_name:"field_nnslmn_stndrdphtmtrc_src"},
414
+ product_ref: {machine_name:"field_product_ref", required: true},
415
+ title: {machine_name:"title", required: true}
416
+ }
417
+
418
+ HEAT_PUMP_WATER_HEATER_FIELDS = {
419
+ rated_capacity: {machine_name:"field_htpmpw_rtdcpcty_av", enclosed: true},
420
+ rated_capacity_src: {machine_name:"field_htpmpw_rtdcpcty_src"},
421
+ rated_tank_volume: {machine_name:"field_htpmpw_rtdtnkvlm_av", enclosed: true},
422
+ rated_tank_volume_src: {machine_name:"field_htpmpw_rtdtnkvlm_src"},
423
+ actual_tank_volume: {machine_name:"field_htpmpw_ctltnkvlm_av", enclosed: true},
424
+ actual_tank_volume_src: {machine_name:"field_htpmpw_ctltnkvlm_src"},
425
+ storage_tank_height: {machine_name:"field_htpmpw_strgtnkhght_av", enclosed: true},
426
+ storage_tank_height_src: {machine_name:"field_htpmpw_strgtnkhght_src"},
427
+ required_height_necessary_for_installation: {machine_name:"field_htpmpw_rqrdhghtncsry_av", enclosed: true},
428
+ required_height_necessary_for_installation_src: {machine_name:"field_htpmpw_rqrdhghtncsry_src"},
429
+ rated_coefficient_of_performance: {machine_name:"field_htpmpw_rtdcfcntfprfr_av", enclosed: true},
430
+ rated_coefficient_of_performance_src: {machine_name:"field_htpmpw_rtdcfcntfprfr_src"},
431
+ rated_heat_pump_sensible_heat_ratio: {machine_name:"field_htpmpw_rtdhtpmpsnsbl_av", enclosed: true},
432
+ rated_heat_pump_sensible_heat_ratio_src: {machine_name:"field_htpmpw_rtdhtpmpsnsbl_src"},
433
+ refrigerant_designation: {machine_name:"field_htpmpw_rfrgrntdsgntn_av"},
434
+ refrigerant_designation_src: {machine_name:"field_htpmpw_rfrgrntdsgntn_src"},
435
+ upper_supplemental_heater_capacity: {machine_name:"field_htpmpw_prsplmntlhtrc_av", enclosed: true},
436
+ upper_supplemental_heater_capacity_src: {machine_name:"field_htpmpw_prsplmntlhtrc_src"},
437
+ lower_supplemental_heater_capacity: {machine_name:"field_htpmpw_lwrsplmntlhtr_av", enclosed: true},
438
+ lower_supplemental_heater_capacity_src: {machine_name:"field_htpmpw_lwrsplmntlhtr_src"},
439
+ parasitic_fuel_consumption_rate: {machine_name:"field_htpmpw_prstcflcnsmpt_av", enclosed: true},
440
+ parasitic_fuel_consumption_rate_src: {machine_name:"field_htpmpw_prstcflcnsmpt_src"},
441
+ rated_inlet_air_dry_bulb_temperature: {machine_name:"field_htpmpw_rtdnltrdryblb_av", enclosed: true},
442
+ rated_inlet_air_dry_bulb_temperature_src: {machine_name:"field_htpmpw_rtdnltrdryblb_src"},
443
+ rated_inlet_air_wet_bulb_temperature: {machine_name:"field_htpmpw_rtdnltrwtblbt_av", enclosed: true},
444
+ rated_inlet_air_wet_bulb_temperature_src: {machine_name:"field_htpmpw_rtdnltrwtblbt_src"},
445
+ rated_air_volumetric_flow_rate: {machine_name:"field_htpmpw_rtdrvlmtrcflw_av", enclosed: true},
446
+ rated_air_volumetric_flow_rate_src: {machine_name:"field_htpmpw_rtdrvlmtrcflw_src"},
447
+ off_cycle_heat_loss_coefficient: {machine_name:"field_htpmpw_fcyclhtlscfcn_av", enclosed: true},
448
+ off_cycle_heat_loss_coefficient_src: {machine_name:"field_htpmpw_fcyclhtlscfcn_src"},
449
+ minimum_ambient_air_temperature_for_compressor_operation: {machine_name:"field_htpmpw_mnmbntrtmprtr_av", enclosed: true},
450
+ minimum_ambient_air_temperature_for_compressor_operation_src: {machine_name:"field_htpmpw_mnmbntrtmprtr_src"},
451
+ heat_pump_fan_total_efficiency: {machine_name:"field_htpmpw_htpmpfnttlfcn_av", enclosed: true},
452
+ heat_pump_fan_total_efficiency_src: {machine_name:"field_htpmpw_htpmpfnttlfcn_src"},
453
+ heat_pump_fan_rated_power_input: {machine_name:"field_htpmpw_htpmpfnrtdpwr_av", enclosed: true},
454
+ heat_pump_fan_rated_power_input_src: {machine_name:"field_htpmpw_htpmpfnrtdpwr_src"},
455
+ performance_map: {machine_name:"field_htpmpw_prfrmncmp_av", enclosed:true, label: "fid" },
456
+ performance_map_src: {machine_name:"field_htpmpw_prfrmncmp_src"},
457
+ hpwh_control_details: {machine_name:"field_htpmpw_hpwhcntrldtls_av", enclosed:true, label: "fid" },
458
+ hpwh_control_details_src: {machine_name:"field_htpmpw_hpwhcntrldtls_src"},
459
+ measurement_source: {machine_name:"field_htpmpw_measurement_source"},
460
+ product_ref: {machine_name:"field_product_ref", required: true},
461
+ title: {machine_name:"title", required: true}
462
+ }
463
+
464
+ INVERTER_FIELDS = {
465
+ maximum_input_power: {machine_name:"field_nvrtr_mxmnptpwr_av", enclosed:true},
466
+ maximum_input_power_src: {machine_name:"field_nvrtr_mxmnptpwr_src"},
467
+ peak_efficiency: {machine_name:"field_nvrtr_pkfcncy_av", enclosed:true},
468
+ peak_efficiency_src: {machine_name:"field_nvrtr_pkfcncy_src"},
469
+ maximum_continuous_output_power: {machine_name:"field_nvrtr_mxmcntnstptpw_av", enclosed:true},
470
+ maximum_continuous_output_power_src: {machine_name:"field_nvrtr_mxmcntnstptpw_src"},
471
+ output_voltages: {machine_name:"field_nvrtr_tptvltgs_av", multiple_list:true},
472
+ output_voltages_src: {machine_name:"field_nvrtr_tptvltgs_src"},
473
+ weighted_efficiency_120v: {machine_name:"field_nvrtr_wghtdfcncyt12_av", enclosed:true},
474
+ weighted_efficiency_120v_src: {machine_name:"field_nvrtr_wghtdfcncyt12_src"},
475
+ weighted_efficiency_208v: {machine_name:"field_nvrtr_wghtdfcncyt20_av", enclosed:true},
476
+ weighted_efficiency_208v_src: {machine_name:"field_nvrtr_wghtdfcncyt20_src"},
477
+ weighted_efficiency_240v: {machine_name:"field_nvrtr_wghtdfcncyt24_av", enclosed:true},
478
+ weighted_efficiency_240v_src: {machine_name:"field_nvrtr_wghtdfcncyt24_src"},
479
+ weighted_efficiency_277v: {machine_name:"field_nvrtr_wghtdfcncyt27_av", enclosed:true},
480
+ weighted_efficiency_277v_src: {machine_name:"field_nvrtr_wghtdfcncyt27_src"},
481
+ weighted_efficiency_480v: {machine_name:"field_nvrtr_wghtdfcncyt48_av", enclosed:true},
482
+ weighted_efficiency_480v_src: {machine_name:"field_nvrtr_wghtdfcncyt48_src"},
483
+ weighted_efficiency_600v: {machine_name:"field_nvrtr_wghtdfcncyt60_av", enclosed:true},
484
+ weighted_efficiency_600v_src: {machine_name:"field_nvrtr_wghtdfcncyt60_src"},
485
+ weighted_efficiency_690v: {machine_name:"field_nvrtr_wghtdfcncyt69_av", enclosed:true},
486
+ weighted_efficiency_690v_src: {machine_name:"field_nvrtr_wghtdfcncyt69_src"},
487
+ connection_design: {machine_name:"field_nvrtr_cnctndsgn_av", multiple_list:true},
488
+ connection_design_src: {machine_name:"field_nvrtr_cnctndsgn_src"},
489
+ output_phase: {machine_name:"field_nvrtr_tptphs_av", enclosed:true},
490
+ output_phase_src: {machine_name:"field_nvrtr_tptphs_src"},
491
+ minimum_input_voltage: {machine_name:"field_nvrtr_mnmnptvltg_av", enclosed:true},
492
+ minimum_input_voltage: {machine_name:"field_nvrtr_mnmnptvltg_src"},
493
+ nominal_input_voltage: {machine_name:"field_nvrtr_nmnlnptvltg_av", enclosed:true},
494
+ nominal_input_voltage_src: {machine_name:"field_nvrtr_nmnlnptvltg_src"},
495
+ maximum_input_voltage: {machine_name:"field_nvrtr_mxmnptvltg_av", enclosed:true},
496
+ maximum_input_voltage_src: {machine_name:"field_nvrtr_mxmnptvltg_src"},
497
+ standby_power: {machine_name:"field_nvrtr_stndbypwr_av", enclosed:true},
498
+ standby_power_src: {machine_name:"field_nvrtr_stndbypwr_src"},
499
+ manufacturer_warranty_available: {machine_name:"field_nvrtr_mnfctrwrntyvl_av", enclosed:true},
500
+ manufacturer_warranty_available_src: {machine_name:"field_nvrtr_mnfctrwrntyvl_src"},
501
+ warranty_time_length: {machine_name:"field_nvrtr_wrntytmlngth_av", enclosed:true},
502
+ warranty_time_length_src: {machine_name:"field_nvrtr_wrntytmlngth_src"},
503
+ conversion_efficiency_performance_map: {machine_name:"field_nvrtr_cnvrsnfcncypr_av", enclosed:true, label: "fid"},
504
+ conversion_efficiency_performance_map_src: {machine_name:"field_nvrtr_cnvrsnfcncypr_src"},
505
+ measurement_source: {machine_name:"field_nvrtr_measurement_source"},
506
+ product_ref: {machine_name:"field_product_ref", required: true},
507
+ title: {machine_name:"title", required: true}
508
+ }
509
+
510
+ INDOOR_UNIT_FIELDS = {
511
+ rated_cooling_capacity: {machine_name:"field_ndrnt_rtdclngcpcty_av", enclosed:true},
512
+ rated_cooling_capacity_src: {machine_name:"field_ndrnt_rtdclngcpcty_src"},
513
+ rated_cooling_sensible_heat_ratio: {machine_name:"field_ndrnt_rtdclngsnsblh_av", enclosed:true},
514
+ rated_cooling_sensible_heat_ratio_src: {machine_name:"field_ndrnt_rtdclngsnsblh_src"},
515
+ rated_heating_capacity: {machine_name:"field_ndrnt_rtdhtngcpcty_av", enclosed:true},
516
+ rated_heating_capacity_src: {machine_name:"field_ndrnt_rtdhtngcpcty_src"},
517
+ working_refrigerant: {machine_name:"field_ndrnt_wrkngrfrgrnt_av"},
518
+ working_refrigerant_src: {machine_name:"field_ndrnt_wrkngrfrgrnt_src"},
519
+ mounting_technique: {machine_name:"field_ndrnt_mntngtchnq_av"},
520
+ mounting_technique_src: {machine_name:"field_ndrnt_mntngtchnq_src"},
521
+ rated_cooling_air_flow_rate: {machine_name:"field_ndrnt_rtdclngrflwrt_av", enclosed:true},
522
+ rated_cooling_air_flow_rate_src: {machine_name:"field_ndrnt_rtdclngrflwrt_src"},
523
+ rated_heating_air_flow_rate: {machine_name:"field_ndrnt_rtdhtngrflwrt_av", enclosed:true},
524
+ rated_heating_air_flow_rate_src: {machine_name:"field_ndrnt_rtdhtngrflwrt_src"},
525
+ total_fan_efficiency: {machine_name:"field_ndrnt_ttlfnfcncy_av", enclosed:true},
526
+ total_fan_efficiency_src: {machine_name:"field_ndrnt_ttlfnfcncy_src"},
527
+ fan_power_input: {machine_name:"field_ndrnt_fnpwrnpt_av", enclosed:true},
528
+ fan_power_input_src: {machine_name:"field_ndrnt_fnpwrnpt_src"},
529
+ cooling_performance_map: {machine_name:"field_ndrnt_clngprfrmncmp_av", enclosed:true, label: "fid"},
530
+ cooling_performance_map_src: {machine_name:"field_ndrnt_clngprfrmncmp_src"},
531
+ heating_performance_map: {machine_name:"field_ndrnt_htngprfrmncmp_av", enclosed:true, label: "fid"},
532
+ heating_performance_map_src: {machine_name:"field_ndrnt_htngprfrmncmp_src"},
533
+ measurement_source: {machine_name:"field_ndrnt_measurement_source"},
534
+ product_ref: {machine_name:"field_product_ref", required: true},
535
+ title: {machine_name:"title", required: true}
536
+ }
537
+
538
+ OUTDOOR_UNIT_FIELDS = {
539
+ rated_total_cooling_capacity: {machine_name:"field_tdrnt_rtdttlclngcpc_av", enclosed:true},
540
+ rated_total_cooling_capacity_src: {machine_name:"field_tdrnt_rtdttlclngcpc_src"},
541
+ rated_cooling_coefficient: {machine_name:"field_tdrnt_rtdclngcfcntf_av", enclosed:true},
542
+ rated_cooling_coefficient_src: {machine_name:"field_tdrnt_rtdclngcfcntf_src"},
543
+ rated_heating_capacity: {machine_name:"field_tdrnt_rtdhtngcpcty_av", enclosed:true},
544
+ rated_heating_capacity_src: {machine_name:"field_tdrnt_rtdhtngcpcty_src"},
545
+ rated_heating_coefficient: {machine_name:"field_tdrnt_rtdhtngcfcntf_av", enclosed:true},
546
+ rated_heating_coefficient_src: {machine_name:"field_tdrnt_rtdhtngcfcntf_src"},
547
+ integrated_energy_efficiency_ratio: {machine_name:"field_tdrnt_ntgrtdnrgyfcn_av", enclosed:true},
548
+ integrated_energy_efficiency_ratio_src: {machine_name:"field_tdrnt_ntgrtdnrgyfcn_src"},
549
+ working_refrigerant: {machine_name:"field_tdrnt_wrkngrfrgrnt_av"},
550
+ working_refrigerant_src: {machine_name:"field_tdrnt_wrkngrfrgrnt_src"},
551
+ cooling_performance_map: {machine_name:"field_tdrnt_clngprfrmncmp_av", enclosed:true, label: "fid"},
552
+ cooling_performance_map_src: {machine_name:"field_tdrnt_clngprfrmncmp_src"},
553
+ heating_performance_map: {machine_name:"field_tdrnt_htngprfrmncmp_av", enclosed:true, label: "fid"},
554
+ heating_performance_map_src: {machine_name:"field_tdrnt_htngprfrmncmp_src"},
555
+ measurement_source: {machine_name:"field_tdrnt_measurement_source"},
556
+ product_ref: {machine_name:"field_product_ref", required: true},
557
+ title: {machine_name:"title", required: true}
558
+ }
559
+
560
+ HWBoiler = Struct.new(*HOT_WATER_BOILER_FIELDS.keys)
561
+ SteamBoiler = Struct.new(*STEAM_BOILER_FIELDS.keys)
562
+ Chiller = Struct.new(*CHILLER_FIELDS.keys)
563
+ Ballast = Struct.new(*BALLAST_FIELDS.keys)
564
+ RooftopUnit = Struct.new(*ROOFTOP_UNIT_FIELDS.keys)
565
+ SSLLuminaire = Struct.new(*SSL_LUMINAIRE_FIELDS.keys)
566
+ SSLLamp = Struct.new(*SSL_LAMP_FIELDS.keys)
567
+ NonSSLLuminaire = Struct.new(*NON_SSL_LUMINAIRE_FIELDS.keys)
568
+ NonSSLLamp = Struct.new(*NON_SSL_LAMP_FIELDS.keys)
569
+ PVModule = Struct.new(*PV_MODULE_FIELDS.keys)
570
+ HPWH = Struct.new(*HEAT_PUMP_WATER_HEATER_FIELDS.keys)
571
+ Inverter = Struct.new(*INVERTER_FIELDS.keys)
572
+ IndoorUnit = Struct.new(*INDOOR_UNIT_FIELDS.keys)
573
+ OutdoorUnit = Struct.new(*OUTDOOR_UNIT_FIELDS.keys)
574
+
575
+
576
+ def post_performance_node(performance)
577
+ data = jsonify_performance_data(performance)
578
+ response = post("content", data)
579
+ end
580
+
581
+
582
+ def build_performance_node(options={})
583
+ required_fields = []
584
+ arguments = []
585
+ fields = {}
586
+ performance_class = nil
587
+
588
+ case options[:type]
589
+ when "nnslmp"
590
+ fields = NON_SSL_LAMP_FIELDS
591
+ performance_class = NonSSLLamp
592
+ when "nnslmn"
593
+ fields = NON_SSL_LUMINAIRE_FIELDS
594
+ performance_class = NonSSLLuminaire
595
+ when "htwtrb"
596
+ fields = HOT_WATER_BOILER_FIELDS
597
+ performance_class = HWBoiler
598
+ when "stmblr"
599
+ fields = STEAM_BOILER_FIELDS
600
+ performance_class = SteamBoiler
601
+ when "slrplc"
602
+ fields = SSL_LAMP_FIELDS
603
+ performance_class = SSLLamp
604
+ when "lctrcl"
605
+ fields = CHILLER_FIELDS
606
+ performance_class = Chiller
607
+ when "rftpnt"
608
+ fields = ROOFTOP_UNIT_FIELDS
609
+ performance_class = RooftopUnit
610
+ when "slmnr"
611
+ fields = SSL_LUMINAIRE_FIELDS
612
+ performance_class = SSLLuminaire
613
+ when "lmpbls"
614
+ fields = BALLAST_FIELDS
615
+ performance_class = Ballast
616
+ when "phtvlt"
617
+ fields = PV_MODULE_FIELDS
618
+ performance_class = PVModule
619
+ when "htpmpw"
620
+ fields = HEAT_PUMP_WATER_HEATER_FIELDS
621
+ performance_class = HPWH
622
+ when "nvrtr"
623
+ fields = INVERTER_FIELDS
624
+ performance_class = Inverter
625
+ when "ndrnt"
626
+ fields = INDOOR_UNIT_FIELDS
627
+ performance_class = IndoorUnit
628
+ when "tdrnt"
629
+ fields = OUTDOOR_UNIT_FIELDS
630
+ performance_class = OutdoorUnit
631
+ when nil
632
+ return nil
633
+ end
634
+
635
+ fields.each do |key, value|
636
+ required_fields << key if value[:required]
637
+ arguments << options[key]
638
+ end
639
+
640
+ required_fields.each do |key|
641
+ return nil if options[key].nil?
642
+ end
643
+
644
+ return performance_class.new(*arguments);
645
+ end
646
+
647
+ def jsonify_performance_data(performance)
648
+ jsonobject = {"title" => performance[:title]}
649
+ product_ref = performance[:product_ref]
650
+
651
+ case performance.class.name.split('::').last
652
+ when "NonSSLLamp"
653
+ fields = NON_SSL_LAMP_FIELDS
654
+ jsonobject["type"] = "nnslmp"
655
+ when "SSLLamp"
656
+ fields = SSL_LAMP_FIELDS
657
+ jsonobject["type"] = "slrplc"
658
+ when "HWBoiler"
659
+ fields = HOT_WATER_BOILER_FIELDS
660
+ jsonobject["type"] = "htwtrb"
661
+ when "SteamBoiler"
662
+ fields = STEAM_BOILER_FIELDS
663
+ jsonobject["type"] = "stmblr"
664
+ when "Ballast"
665
+ fields = BALLAST_FIELDS
666
+ jsonobject["type"] = "lmpbls"
667
+ when "NonSSLLuminaire"
668
+ fields = NON_SSL_LUMINAIRE_FIELDS
669
+ jsonobject["type"] = "nnslmn"
670
+ when "SSLLuminaire"
671
+ fields = SSL_LUMINAIRE_FIELDS
672
+ jsonobject["type"] = "slmnr"
673
+ when "Chiller"
674
+ fields = CHILLER_FIELDS
675
+ jsonobject["type"] = "lctrcl"
676
+ when "RooftopUnit"
677
+ fields = ROOFTOP_UNIT_FIELDS
678
+ jsonobject["type"] = "rftpnt"
679
+ when "PVModule"
680
+ fields = PV_MODULE_FIELDS
681
+ jsonobject["type"] = "phtvlt"
682
+ when "HPWH"
683
+ fields = HEAT_PUMP_WATER_HEATER_FIELDS
684
+ jsonobject["type"] = "htpmpw"
685
+ when "IndoorUnit"
686
+ fields = INDOOR_UNIT_FIELDS
687
+ jsonobject["type"] = "ndrnt"
688
+ when "OutdoorUnit"
689
+ fields = OUTDOOR_UNIT_FIELDS
690
+ jsonobject["type"] = "tdrnt"
691
+ when "Inverter"
692
+ fields = INVERTER_FIELDS
693
+ jsonobject["type"] = "nvrtr"
694
+ when nil
695
+ return nil
696
+ end
697
+
698
+ performance.each_pair do |name, value|
699
+
700
+ if name != :product_ref && name != :title
701
+ if !value.nil?
702
+ label = fields[name][:label] || "value"
703
+ contents = {label => value}
704
+ contents = [{label => value}] if fields[name][:enclosed]
705
+ contents = value.split(',') if fields[name][:multiple_list]
706
+ if fields[name][:multiple]
707
+ value = value.split(',')
708
+ contents = []
709
+ value.each do |multi_value|
710
+ contents << {label => multi_value}
711
+ end
712
+ end
713
+ jsonobject[fields[name][:machine_name]] = {"und" => contents}
714
+ end
715
+ end
716
+ end
717
+
718
+ JSON.generate(
719
+ {"product" =>
720
+ {"uuid" => product_ref},
721
+ "performance" => jsonobject
722
+ }
723
+ )
724
+ end
725
+ end
726
+ end
727
+ end