From 02f423f60c28e359e48357762f9d7503d44a451b Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Sun, 8 Jun 2025 16:46:42 +0100 Subject: [PATCH] if a property was flagged for a heating upgrade based on epc but the landlord's data indicates it has a boiler, it's removed --- asset_list/AssetList.py | 19 ++++++++++++++----- asset_list/app.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/asset_list/AssetList.py b/asset_list/AssetList.py index 78c589db..4c729245 100644 --- a/asset_list/AssetList.py +++ b/asset_list/AssetList.py @@ -1512,13 +1512,22 @@ class AssetList: ) ) + # If the landlord has given us the heating system, we default to that on heating upgrades. Because of the + # poor heating in place, if the EPC indicates that this property had a low efficiency heating system but the + # landlord data suggests otherwise (e.g. there's a gas boiler), we default to what the landlord has told us self.standardised_asset_list["solar_epc_data_indicates_requires_heating_upgrade"] = ( - self.standardised_asset_list[self.EPC_API_DATA_NAMES["mainheat-description"]].str.lower().str.contains( - "electric storage heaters|room heaters" + ( + self.standardised_asset_list[self.EPC_API_DATA_NAMES["mainheat-description"]].str.lower().str.contains( + "electric storage heaters|room heaters" + ) & ( + self.standardised_asset_list[ + self.EPC_API_DATA_NAMES["mainheatcont-description"] + ] != "Controls for high heat retention storage heaters" + ) ) & ( - self.standardised_asset_list[ - self.EPC_API_DATA_NAMES["mainheatcont-description"] - ] != "Controls for high heat retention storage heaters" + ~self.standardised_asset_list[self.STANDARD_HEATING_SYSTEM].isin( + ["district heating", "communal heating", "communal gas boiler"] + ) & ~self.standardised_asset_list[self.STANDARD_HEATING_SYSTEM].str.contains("gas ") ) ) diff --git a/asset_list/app.py b/asset_list/app.py index 881334b5..3c9176ca 100644 --- a/asset_list/app.py +++ b/asset_list/app.py @@ -95,6 +95,42 @@ def app(): phase = False ecosurv_landlords = None + # For ACIS - programme re-build + data_folder = "/Users/khalimconn-kowlessar/Documents/hestia/Customers/ACIS/ACIS Full Programme Review March 2025" + data_filename = "ACIS asset list.xlsx" + sheet_name = "Assets" + address1_column = "House No" + postcode_column = "Postcode" + landlord_property_id = "UPRN" + fulladdress_column = None + address_cols_to_concat = ["House No", "Street", "Town"] + missing_postcodes_method = None + address1_method = None + landlord_year_built = "YEAR BUILT" + landlord_os_uprn = None + landlord_property_type = "Property type" + landlord_built_form = None + landlord_wall_construction = "Wall Constuction" + landlord_roof_construction = None + landlord_sap = None + landlord_heating_system = "Heating" + landlord_existing_pv = None + outcomes_filename = [os.path.join(data_folder, "ACIS Group - 25.11.2024 - outcomes.xlsx")] + outcomes_sheetname = ["Feedback"] + outcomes_postcode = ["Postcode"] + outcomes_address = ["Address"] + outcomes_houseno = ["No"] + outcomes_id = [None] + master_filepaths = [ + os.path.join(data_folder, "ECO 3 -Table 1.csv"), + os.path.join(data_folder, "ECO 4 -Table 1.csv"), + ] + master_id_colnames = [None, None] + master_to_asset_list_filepath = None + phase = False + ecosurv_landlords = None + landlord_block_reference = None + # Thrive - reconciliation # data_folder = "/Users/khalimconn-kowlessar/Documents/hestia/Customers/Thrive/Programme Reconciliation" # data_filename = "Thrive Asset List - Complete - Updated May 2025.xlsx"