Skip to content

Conversation

spahrenk
Copy link
Contributor

Add member variable metadataDescription that can contain an extended textual description of a product. Presently, this information can be hard-coded for preset models, and is then written to the json representation.

@spahrenk spahrenk self-assigned this Apr 17, 2025
spahrenk added 16 commits April 17, 2025 14:25
…er/HPWHsim into add-metadata-description

# Conflicts:
#	src/HPWH.hh
#	test/models_json/AOSmithCAHP120.json
#	test/models_json/AOSmithHPTS40.json
#	test/models_json/AOSmithHPTS50.json
#	test/models_json/AOSmithHPTS66.json
#	test/models_json/AOSmithHPTS80.json
#	test/models_json/AOSmithHPTU50.json
#	test/models_json/AOSmithHPTU66.json
#	test/models_json/AOSmithHPTU80.json
#	test/models_json/AOSmithHPTU80_DR.json
#	test/models_json/AOSmithPHPT60.json
#	test/models_json/AOSmithPHPT80.json
#	test/models_json/AWHSTier3Generic40.json
#	test/models_json/AWHSTier3Generic50.json
#	test/models_json/AWHSTier3Generic65.json
#	test/models_json/AWHSTier3Generic80.json
#	test/models_json/AWHSTier4Generic40.json
#	test/models_json/AWHSTier4Generic50.json
#	test/models_json/AWHSTier4Generic65.json
#	test/models_json/AWHSTier4Generic80.json
#	test/models_json/AquaThermAire.json
#	test/models_json/BWC2020_65.json
#	test/models_json/BradfordWhiteAeroThermRE2H50.json
#	test/models_json/BradfordWhiteAeroThermRE2H65.json
#	test/models_json/BradfordWhiteAeroThermRE2H80.json
#	test/models_json/ColmacCxA_10_MP.json
#	test/models_json/ColmacCxA_10_SP.json
#	test/models_json/ColmacCxA_15_MP.json
#	test/models_json/ColmacCxA_15_SP.json
#	test/models_json/ColmacCxA_20_MP.json
#	test/models_json/ColmacCxA_20_SP.json
#	test/models_json/ColmacCxA_25_MP.json
#	test/models_json/ColmacCxA_25_SP.json
#	test/models_json/ColmacCxA_30_MP.json
#	test/models_json/ColmacCxA_30_SP.json
#	test/models_json/ColmacCxV_5_MP.json
#	test/models_json/ColmacCxV_5_SP.json
#	test/models_json/GE.json
#	test/models_json/GE2014STDMode.json
#	test/models_json/GE2014STDMode_80.json
#	test/models_json/GE502014.json
#	test/models_json/GE802014.json
#	test/models_json/Generic1.json
#	test/models_json/Generic2.json
#	test/models_json/Generic3.json
#	test/models_json/GenericUEF217.json
#	test/models_json/LG_APHWC50.json
#	test/models_json/LG_APHWC80.json
#	test/models_json/NyleC125A_C_MP.json
#	test/models_json/NyleC125A_C_SP.json
#	test/models_json/NyleC125A_MP.json
#	test/models_json/NyleC125A_SP.json
#	test/models_json/NyleC185A_C_MP.json
#	test/models_json/NyleC185A_C_SP.json
#	test/models_json/NyleC185A_MP.json
#	test/models_json/NyleC185A_SP.json
#	test/models_json/NyleC250A_C_MP.json
#	test/models_json/NyleC250A_C_SP.json
#	test/models_json/NyleC250A_MP.json
#	test/models_json/NyleC250A_SP.json
#	test/models_json/NyleC25A_SP.json
#	test/models_json/NyleC60A_C_MP.json
#	test/models_json/NyleC60A_C_SP.json
#	test/models_json/NyleC60A_MP.json
#	test/models_json/NyleC60A_SP.json
#	test/models_json/NyleC90A_C_MP.json
#	test/models_json/NyleC90A_C_SP.json
#	test/models_json/NyleC90A_MP.json
#	test/models_json/NyleC90A_SP.json
#	test/models_json/QAHV_N136TAU_HPB_SP.json
#	test/models_json/Rheem2020Build40.json
#	test/models_json/Rheem2020Build50.json
#	test/models_json/Rheem2020Build65.json
#	test/models_json/Rheem2020Build80.json
#	test/models_json/Rheem2020Prem40.json
#	test/models_json/Rheem2020Prem50.json
#	test/models_json/Rheem2020Prem65.json
#	test/models_json/Rheem2020Prem80.json
#	test/models_json/RheemHB50.json
#	test/models_json/RheemHBDR2250.json
#	test/models_json/RheemHBDR2265.json
#	test/models_json/RheemHBDR2280.json
#	test/models_json/RheemHBDR4550.json
#	test/models_json/RheemHBDR4565.json
#	test/models_json/RheemHBDR4580.json
#	test/models_json/RheemHPHD135.json
#	test/models_json/RheemHPHD60.json
#	test/models_json/RheemPlugInDedicated40.json
#	test/models_json/RheemPlugInDedicated50.json
#	test/models_json/RheemPlugInShared40.json
#	test/models_json/RheemPlugInShared50.json
#	test/models_json/RheemPlugInShared65.json
#	test/models_json/RheemPlugInShared80.json
#	test/models_json/Sanden120.json
#	test/models_json/Sanden40.json
#	test/models_json/Sanden80.json
#	test/models_json/Scalable_MP.json
#	test/models_json/Stiebel220e.json
#	test/models_json/TamScalable_SP.json
#	test/models_json/TamScalable_SP_2X.json
#	test/models_json/TamScalable_SP_Half.json
#	test/models_json/UEF2generic.json
#	test/models_json/restankRealistic.json
…er/HPWHsim into add-metadata-description

# Conflicts:
#	src/Condenser.cc
#	src/Condenser.hh
#	src/HPWH.cc
#	src/HPWH.hh
#	src/HPWHpresets.cc
#	src/Resistance.cc
#	src/Resistance.hh
#	src/Tank.cc
#	src/Tank.hh
#	test/models_json/AOSmithCAHP120.json
#	test/models_json/AOSmithHPTS40.json
#	test/models_json/AOSmithHPTS50.json
#	test/models_json/AOSmithHPTS66.json
#	test/models_json/AOSmithHPTS80.json
#	test/models_json/AOSmithHPTU50.json
#	test/models_json/AOSmithHPTU66.json
#	test/models_json/AOSmithHPTU80.json
#	test/models_json/AOSmithHPTU80_DR.json
#	test/models_json/AOSmithPHPT60.json
#	test/models_json/AOSmithPHPT80.json
#	test/models_json/AWHSTier3Generic40.json
#	test/models_json/AWHSTier3Generic50.json
#	test/models_json/AWHSTier3Generic65.json
#	test/models_json/AWHSTier3Generic80.json
#	test/models_json/AWHSTier4Generic40.json
#	test/models_json/AWHSTier4Generic50.json
#	test/models_json/AWHSTier4Generic65.json
#	test/models_json/AWHSTier4Generic80.json
#	test/models_json/AquaThermAire.json
#	test/models_json/BWC2020_65.json
#	test/models_json/BradfordWhiteAeroThermRE2H50.json
#	test/models_json/BradfordWhiteAeroThermRE2H65.json
#	test/models_json/BradfordWhiteAeroThermRE2H80.json
#	test/models_json/ColmacCxA_10_MP.json
#	test/models_json/ColmacCxA_10_SP.json
#	test/models_json/ColmacCxA_15_MP.json
#	test/models_json/ColmacCxA_15_SP.json
#	test/models_json/ColmacCxA_20_MP.json
#	test/models_json/ColmacCxA_20_SP.json
#	test/models_json/ColmacCxA_25_MP.json
#	test/models_json/ColmacCxA_25_SP.json
#	test/models_json/ColmacCxA_30_MP.json
#	test/models_json/ColmacCxA_30_SP.json
#	test/models_json/ColmacCxV_5_MP.json
#	test/models_json/ColmacCxV_5_SP.json
#	test/models_json/GE.json
#	test/models_json/GE2014STDMode.json
#	test/models_json/GE2014STDMode_80.json
#	test/models_json/GE502014.json
#	test/models_json/GE802014.json
#	test/models_json/Generic1.json
#	test/models_json/Generic2.json
#	test/models_json/Generic3.json
#	test/models_json/GenericUEF217.json
#	test/models_json/LG_APHWC50.json
#	test/models_json/LG_APHWC80.json
#	test/models_json/NyleC125A_C_MP.json
#	test/models_json/NyleC125A_C_SP.json
#	test/models_json/NyleC125A_MP.json
#	test/models_json/NyleC125A_SP.json
#	test/models_json/NyleC185A_C_MP.json
#	test/models_json/NyleC185A_C_SP.json
#	test/models_json/NyleC185A_MP.json
#	test/models_json/NyleC185A_SP.json
#	test/models_json/NyleC250A_C_MP.json
#	test/models_json/NyleC250A_C_SP.json
#	test/models_json/NyleC250A_MP.json
#	test/models_json/NyleC250A_SP.json
#	test/models_json/NyleC25A_SP.json
#	test/models_json/NyleC60A_C_MP.json
#	test/models_json/NyleC60A_C_SP.json
#	test/models_json/NyleC60A_MP.json
#	test/models_json/NyleC60A_SP.json
#	test/models_json/NyleC90A_C_MP.json
#	test/models_json/NyleC90A_C_SP.json
#	test/models_json/NyleC90A_MP.json
#	test/models_json/NyleC90A_SP.json
#	test/models_json/QAHV_N136TAU_HPB_SP.json
#	test/models_json/Rheem2020Build40.json
#	test/models_json/Rheem2020Build50.json
#	test/models_json/Rheem2020Build65.json
#	test/models_json/Rheem2020Build80.json
#	test/models_json/Rheem2020Prem40.json
#	test/models_json/Rheem2020Prem50.json
#	test/models_json/Rheem2020Prem65.json
#	test/models_json/Rheem2020Prem80.json
#	test/models_json/RheemHB50.json
#	test/models_json/RheemHBDR2250.json
#	test/models_json/RheemHBDR2265.json
#	test/models_json/RheemHBDR2280.json
#	test/models_json/RheemHBDR4550.json
#	test/models_json/RheemHBDR4565.json
#	test/models_json/RheemHBDR4580.json
#	test/models_json/RheemHPHD135.json
#	test/models_json/RheemHPHD60.json
#	test/models_json/RheemPlugInDedicated40.json
#	test/models_json/RheemPlugInDedicated50.json
#	test/models_json/RheemPlugInShared40.json
#	test/models_json/RheemPlugInShared50.json
#	test/models_json/RheemPlugInShared65.json
#	test/models_json/RheemPlugInShared80.json
#	test/models_json/Sanden120.json
#	test/models_json/Sanden40.json
#	test/models_json/Sanden80.json
#	test/models_json/Scalable_MP.json
#	test/models_json/Stiebel220e.json
#	test/models_json/TamScalable_SP.json
#	test/models_json/TamScalable_SP_2X.json
#	test/models_json/TamScalable_SP_Half.json
#	test/models_json/UEF2generic.json
#	test/models_json/restankRealistic.json
@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 82.43838% with 399 lines in your changes missing coverage. Please review.

Project coverage is 74.55%. Comparing base (4ef38fc) to head (13db56a).
Report is 130 commits behind head on main.

Files with missing lines Patch % Lines
src/Condenser.cc 85.61% 121 Missing ⚠️
src/HPWHHeatingLogic.cc 72.16% 71 Missing ⚠️
src/Tank.cc 81.33% 70 Missing ⚠️
src/HPWHUtils.cc 88.50% 56 Missing ⚠️
src/HPWHHeatSource.cc 79.40% 41 Missing ⚠️
src/Resistance.cc 69.64% 17 Missing ⚠️
src/HPWHHeatingLogic.hh 0.00% 10 Missing ⚠️
src/HPWHHeatSource.hh 0.00% 5 Missing ⚠️
src/Condenser.hh 20.00% 4 Missing ⚠️
src/HPWHUtils.hh 91.30% 2 Missing ⚠️
... and 1 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #232      +/-   ##
==========================================
+ Coverage   69.74%   74.55%   +4.81%     
==========================================
  Files           6       18      +12     
  Lines        5397     7442    +2045     
==========================================
+ Hits         3764     5548    +1784     
- Misses       1633     1894     +261     
Flag Coverage Δ
integration 74.55% <82.44%> (+4.81%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…er/HPWHsim into add-metadata-description

# Conflicts:
#	test/models_json/AOSmithCAHP120.json
#	test/models_json/AOSmithHPTS40.json
#	test/models_json/AOSmithHPTS50.json
#	test/models_json/AOSmithHPTS66.json
#	test/models_json/AOSmithHPTS80.json
#	test/models_json/AOSmithHPTU50.json
#	test/models_json/AOSmithHPTU66.json
#	test/models_json/AOSmithHPTU80.json
#	test/models_json/AOSmithHPTU80_DR.json
#	test/models_json/AOSmithPHPT60.json
#	test/models_json/AOSmithPHPT80.json
#	test/models_json/AWHSTier3Generic40.json
#	test/models_json/AWHSTier3Generic50.json
#	test/models_json/AWHSTier3Generic65.json
#	test/models_json/AWHSTier3Generic80.json
#	test/models_json/AWHSTier4Generic40.json
#	test/models_json/AWHSTier4Generic50.json
#	test/models_json/AWHSTier4Generic65.json
#	test/models_json/AWHSTier4Generic80.json
#	test/models_json/AquaThermAire.json
#	test/models_json/BWC2020_65.json
#	test/models_json/BradfordWhiteAeroThermRE2H50.json
#	test/models_json/BradfordWhiteAeroThermRE2H65.json
#	test/models_json/BradfordWhiteAeroThermRE2H80.json
#	test/models_json/ColmacCxA_10_MP.json
#	test/models_json/ColmacCxA_10_SP.json
#	test/models_json/ColmacCxA_15_MP.json
#	test/models_json/ColmacCxA_15_SP.json
#	test/models_json/ColmacCxA_20_MP.json
#	test/models_json/ColmacCxA_20_SP.json
#	test/models_json/ColmacCxA_25_MP.json
#	test/models_json/ColmacCxA_25_SP.json
#	test/models_json/ColmacCxA_30_MP.json
#	test/models_json/ColmacCxA_30_SP.json
#	test/models_json/ColmacCxV_5_MP.json
#	test/models_json/ColmacCxV_5_SP.json
#	test/models_json/GE.json
#	test/models_json/GE2014STDMode.json
#	test/models_json/GE2014STDMode_80.json
#	test/models_json/GE502014.json
#	test/models_json/GE802014.json
#	test/models_json/Generic1.json
#	test/models_json/Generic2.json
#	test/models_json/Generic3.json
#	test/models_json/GenericUEF217.json
#	test/models_json/LG_APHWC50.json
#	test/models_json/LG_APHWC80.json
#	test/models_json/NyleC125A_C_MP.json
#	test/models_json/NyleC125A_C_SP.json
#	test/models_json/NyleC125A_MP.json
#	test/models_json/NyleC125A_SP.json
#	test/models_json/NyleC185A_C_MP.json
#	test/models_json/NyleC185A_C_SP.json
#	test/models_json/NyleC185A_MP.json
#	test/models_json/NyleC185A_SP.json
#	test/models_json/NyleC250A_C_MP.json
#	test/models_json/NyleC250A_C_SP.json
#	test/models_json/NyleC250A_MP.json
#	test/models_json/NyleC250A_SP.json
#	test/models_json/NyleC25A_SP.json
#	test/models_json/NyleC60A_C_MP.json
#	test/models_json/NyleC60A_C_SP.json
#	test/models_json/NyleC60A_MP.json
#	test/models_json/NyleC60A_SP.json
#	test/models_json/NyleC90A_C_MP.json
#	test/models_json/NyleC90A_C_SP.json
#	test/models_json/NyleC90A_MP.json
#	test/models_json/NyleC90A_SP.json
#	test/models_json/QAHV_N136TAU_HPB_SP.json
#	test/models_json/Rheem2020Build40.json
#	test/models_json/Rheem2020Build50.json
#	test/models_json/Rheem2020Build65.json
#	test/models_json/Rheem2020Build80.json
#	test/models_json/Rheem2020Prem40.json
#	test/models_json/Rheem2020Prem50.json
#	test/models_json/Rheem2020Prem65.json
#	test/models_json/Rheem2020Prem80.json
#	test/models_json/RheemHB50.json
#	test/models_json/RheemHBDR2250.json
#	test/models_json/RheemHBDR2265.json
#	test/models_json/RheemHBDR2280.json
#	test/models_json/RheemHBDR4550.json
#	test/models_json/RheemHBDR4565.json
#	test/models_json/RheemHBDR4580.json
#	test/models_json/RheemHPHD135.json
#	test/models_json/RheemHPHD60.json
#	test/models_json/RheemPlugInDedicated40.json
#	test/models_json/RheemPlugInDedicated50.json
#	test/models_json/RheemPlugInShared40.json
#	test/models_json/RheemPlugInShared50.json
#	test/models_json/RheemPlugInShared65.json
#	test/models_json/RheemPlugInShared80.json
#	test/models_json/Sanden120.json
#	test/models_json/Sanden40.json
#	test/models_json/Sanden80.json
#	test/models_json/Scalable_MP.json
#	test/models_json/Stiebel220e.json
#	test/models_json/TamScalable_SP.json
#	test/models_json/TamScalable_SP_2X.json
#	test/models_json/TamScalable_SP_Half.json
#	test/models_json/UEF2generic.json
#	test/models_json/restankRealistic.json
…-metadata-description

# Conflicts:
#	src/Condenser.cc
#	src/HPWH.cc
#	src/Resistance.cc
#	src/Tank.cc
@spahrenk spahrenk marked this pull request as draft April 25, 2025 18:29
@spahrenk spahrenk marked this pull request as ready for review April 30, 2025 18:27
@spahrenk spahrenk requested a review from nealkruis April 30, 2025 18:28
# Conflicts:
#	scripts/python/data_model/poetry.lock
#	scripts/python/data_model/pyproject.toml
#	src/HPWHUtils.cc
#	src/HPWHUtils.hh
@spahrenk spahrenk changed the base branch from main to add-ratings-info September 28, 2025 15:31
@spahrenk spahrenk changed the base branch from add-ratings-info to main September 28, 2025 15:31
@spahrenk spahrenk changed the base branch from main to init-presets-from-cbor September 28, 2025 16:34
Base automatically changed from init-presets-from-cbor to main September 29, 2025 17:59
@spahrenk
Copy link
Contributor Author

spahrenk commented Oct 7, 2025

@nealkruis This branch has a fix for partial filling of fields (e.g., product_information with manufacturer, but no model_number). The diffs in the model jsons seem to be dates only. Should be ready to merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants