diff --git a/etl/customers/vectis/outputs.py b/etl/customers/vectis/outputs.py index 67e27bd9..333d2494 100644 --- a/etl/customers/vectis/outputs.py +++ b/etl/customers/vectis/outputs.py @@ -220,7 +220,7 @@ def app(): "patches_file_path": "", "non_invasive_recommendations_file_path": non_invasive_recommendations_filename, "inclusions": [ - "draught_proofing", "mixed_glazing", "trickle_vents", "low_energy_lighting", + "draught_proofing", "mixed_glazing", "trickle_vents", "low_energy_lighting", "windows" ], "budget": None, "scenario_name": "Quick wins - do now while tenanted", @@ -244,7 +244,8 @@ def app(): "low_energy_lighting", "suspended_floor_insulation", "internal_wall_insulation", - "room_roof_insulation" + "room_roof_insulation", + "windows" ], "budget": None, "scenario_name": "Do when void", diff --git a/recommendations/Costs.py b/recommendations/Costs.py index 8deed75a..908a409a 100644 --- a/recommendations/Costs.py +++ b/recommendations/Costs.py @@ -168,9 +168,8 @@ class Costs: # https://www.greenmatch.co.uk/windows/double-glazing/cost SASH_WINDOW_INFLATION_FACTOR = 1.5 - # Typically, secondary glazing can be installed for 25% of the cost of double glazed windows - to be conservative, - # we scale the cost by half - SECONDARY_GLAZING_SCALING_FACTOR = 0.5 + # Based on relative costs from SCIS + SECONDARY_GLAZING_SCALING_FACTOR = 0.85 def __init__(self, property_instance): """ diff --git a/recommendations/Recommendations.py b/recommendations/Recommendations.py index db9a6320..d2c1db1b 100644 --- a/recommendations/Recommendations.py +++ b/recommendations/Recommendations.py @@ -102,6 +102,7 @@ class Recommendations: property_recommendations = [] phase = 0 measures = self.find_included_measures() + non_invasive_recommendation_types = [r["type"] for r in self.property_instance.non_invasive_recommendations] # Building Fabric self.wall_recomender.recommend(phase=phase, measures=measures) @@ -149,7 +150,8 @@ class Recommendations: property_recommendations.append(self.floor_recommender.recommendations) phase += 1 - if "windows" in measures: + if "windows" in measures and "mixed_glazing" not in non_invasive_recommendation_types: + # If we have a mixed glazing recommendation, we prioritise this over the windows recommendation self.windows_recommender.recommend(phase=phase) if self.windows_recommender.recommendation: property_recommendations.append(self.windows_recommender.recommendation) @@ -529,7 +531,7 @@ class Recommendations: # For the moment, we cap the number of SAP points that can be achieved by LEDs at 2 if rec["type"] == "low_energy_lighting": - + if property_instance.data["low-energy-lighting"] < 50: lighting_sap_limit = LightingRecommendations.SAP_LIMIT else: