added flat_insulated_efficiency_thickness

This commit is contained in:
Khalim Conn-Kowlessar 2026-02-02 14:58:54 +00:00
parent f7d614d6ec
commit d38ec808bf

View file

@ -396,7 +396,32 @@ def flat_insulated_efficiency_age_band(age_band: EpcConstructionAgeBand) -> EpcE
def flat_insulated_efficiency_thickness(insulation_thickness: int | None) -> EpcEfficiency:
pass
"""
12mm -> Very Poor
25mm - 50mm -> Poor
75mm - 125mm -> Pitched, insulated, average
150mm - 250mm -> good
270mm+ -> very good
:param insulation_thickness: Insulation thickness in mm
:return: EpcEfficiency
"""
if insulation_thickness is None:
raise ValueError("Insulation thickness is required for flat insulated efficiency calculation")
if insulation_thickness >= 270:
return EpcEfficiency.VERY_GOOD
if 150 <= insulation_thickness <= 250:
return EpcEfficiency.GOOD
if 75 <= insulation_thickness <= 125:
return EpcEfficiency.AVERAGE
if 25 <= insulation_thickness <= 50:
return EpcEfficiency.POOR
return EpcEfficiency.VERY_POOR
def loft_insulated_efficiency(age_band: EpcConstructionAgeBand) -> EpcEfficiency: