Added trickle vents recommendation

This commit is contained in:
Khalim Conn-Kowlessar 2024-09-05 14:10:57 +01:00
parent a6bd5f8ff2
commit 00f3a175fa
2 changed files with 43 additions and 0 deletions

View file

@ -131,6 +131,10 @@ class Recommendations:
if self.ventilation_recomender.recommendation:
property_recommendations.append(self.ventilation_recomender.recommendation)
if "trickle_vents" in measures:
# This is a recommendatin that typically comes from an energy assessment
property_recommendations.append(self.ventilation_recomender.recommend_trickle_vents())
if "floor_insulation" in measures:
self.floor_recommender.recommend(phase=phase, measures=measures)
if self.floor_recommender.recommendations:

View file

@ -81,3 +81,42 @@ class VentilationRecommendations(Definitions):
"labour_days": labour_days # Assume 8 hour day
}
]
def recommend_trickle_vents(self):
"""
This is not something that we can identify completely non-invasively, however a recommendation which may come
about as a result of an energy assessment is the installation of trickle vents. This function handles that
"""
trickle_vents_recommendation_config = [
r for r in self.property.non_invasive_recommendations if r["type"] == "trickle_vents"
][0]
description = (
"Install trickle vents to windows without them" if
not trickle_vents_recommendation_config.get("description")
else trickle_vents_recommendation_config["description"]
)
# We recommend installing two mechanical ventilation systems
self.recommendation = [
{
"phase": None,
"parts": [],
"type": "trickle_vents",
"description": description,
"starting_u_value": None,
"new_u_value": None,
"already_installed": False,
"sap_points": trickle_vents_recommendation_config["sap_points"],
"heat_demand": 0,
"kwh_savings": 0,
"co2_equivalent_savings": 0,
"energy_cost_savings": 0,
"total": trickle_vents_recommendation_config["cost"],
# We use a very simple and rough estimate of 4 hours per unit
"labour_hours": trickle_vents_recommendation_config.get("labour_hours", 8),
"labour_days": trickle_vents_recommendation_config.get("labour_days", 1), # Assume 8 hour day
"survey": True
}
]