mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
163 lines
4.7 KiB
Python
163 lines
4.7 KiB
Python
import os
|
|
import pandas as pd
|
|
from dotenv import load_dotenv
|
|
from utils.s3 import save_csv_to_s3
|
|
from etl.find_my_epc.AssetListEpcData import AssetListEpcData
|
|
|
|
PORTFOLIO_ID = 235
|
|
USER_ID = 8
|
|
|
|
load_dotenv(dotenv_path="backend/.env")
|
|
EPC_AUTH_TOKEN = os.getenv("EPC_AUTH_TOKEN")
|
|
|
|
|
|
def app():
|
|
"""
|
|
This application is used to initialise and run remote assessments
|
|
:return:
|
|
"""
|
|
|
|
# asset_list = pd.read_excel(
|
|
# "/Users/khalimconn-kowlessar/Downloads/Energy Information MASTER June 2025 - Standardised.xlsx",
|
|
# sheet_name="Solar Properties",
|
|
# )
|
|
# asset_list = asset_list[~asset_list["estimated"]]
|
|
# asset_list["domna_address_1"] = asset_list["domna_address_1"].astype(str)
|
|
# asset_list = asset_list[["domna_address_1", "domna_postcode", "epc_os_uprn"]].rename(
|
|
# columns={"domna_address_1": "address", "domna_postcode": "postcode", "epc_os_uprn": "uprn"}
|
|
# )
|
|
|
|
asset_list = [
|
|
{
|
|
"address": "9 Reeds Place",
|
|
"postcode": "PO12 3HR",
|
|
"uprn": 37017508
|
|
},
|
|
{
|
|
"address": "7 Crawley Road",
|
|
"postcode": "N22 6AN",
|
|
"uprn": 100021169757
|
|
},
|
|
{
|
|
"address": "20 Main Street",
|
|
"postcode": "NG32 1SE",
|
|
"uprn": 200002698370
|
|
},
|
|
{
|
|
"address": "19 Wolley Avenue",
|
|
"postcode": "LS12 5DX",
|
|
"uprn": 72234517
|
|
},
|
|
{
|
|
"address": "45 Bolton Lane, Hose",
|
|
"postcode": "LE14 4JE",
|
|
"uprn": 100030535501
|
|
}
|
|
]
|
|
|
|
asset_list = pd.DataFrame(asset_list)
|
|
|
|
# Store the asset list in s3
|
|
filename = f"{USER_ID}/{PORTFOLIO_ID}/asset_list.csv"
|
|
save_csv_to_s3(
|
|
dataframe=asset_list,
|
|
bucket_name="retrofit-plan-inputs-dev",
|
|
file_name=filename
|
|
)
|
|
|
|
# Pull the non-invasive recommendations automatically
|
|
asset_list_epc_client = AssetListEpcData(
|
|
asset_list=asset_list,
|
|
epc_auth_token=EPC_AUTH_TOKEN
|
|
)
|
|
asset_list_epc_client.get_data()
|
|
asset_list_epc_client.get_non_invasive_recommendations()
|
|
asset_list_epc_client.get_patch()
|
|
|
|
# Store non-invasive recommendations in S3
|
|
non_invasive_recommendations_filename = f"{USER_ID}/{PORTFOLIO_ID}/non_invasive_recommendations.csv"
|
|
save_csv_to_s3(
|
|
dataframe=pd.DataFrame(asset_list_epc_client.non_invasive_recommendations),
|
|
bucket_name="retrofit-plan-inputs-dev",
|
|
file_name=non_invasive_recommendations_filename
|
|
)
|
|
|
|
# Store patches in S3
|
|
patches_filename = ""
|
|
if asset_list_epc_client.patches:
|
|
patches_filename = f"{USER_ID}/{PORTFOLIO_ID}/patches.csv"
|
|
save_csv_to_s3(
|
|
dataframe=pd.DataFrame(asset_list_epc_client.patches),
|
|
bucket_name="retrofit-plan-inputs-dev",
|
|
file_name=patches_filename
|
|
)
|
|
|
|
valuation_data = [
|
|
{
|
|
"valuation": 201000,
|
|
"uprn": 37017508,
|
|
},
|
|
{
|
|
"valuation": 810000,
|
|
"uprn": 100021169757,
|
|
},
|
|
{
|
|
"valuation": 228_000,
|
|
"uprn": 72234517
|
|
},
|
|
{
|
|
"valuation": 236_000,
|
|
"uprn": 100030535501
|
|
},
|
|
{
|
|
"valuation": 509000,
|
|
"uprn": 200002698370
|
|
},
|
|
]
|
|
# Store valuation data to s3
|
|
valuation_filename = f"{USER_ID}/{PORTFOLIO_ID}/valuation.csv"
|
|
save_csv_to_s3(
|
|
dataframe=pd.DataFrame(valuation_data),
|
|
bucket_name="retrofit-plan-inputs-dev",
|
|
file_name=valuation_filename
|
|
)
|
|
|
|
body1 = {
|
|
"portfolio_id": str(PORTFOLIO_ID),
|
|
"housing_type": "Social",
|
|
"goal": "Increasing EPC",
|
|
"goal_value": "B",
|
|
"trigger_file_path": filename,
|
|
"already_installed_file_path": "",
|
|
"patches_file_path": "",
|
|
"non_invasive_recommendations_file_path": "",
|
|
"valuation_file_path": valuation_filename,
|
|
"scenario_name": "EPC B",
|
|
"multi_plan": True,
|
|
"budget": None,
|
|
"ashp_cop": 3.5,
|
|
"event_type": "remote_assessment",
|
|
"default_u_values": True,
|
|
|
|
}
|
|
print(body1)
|
|
|
|
body2 = {
|
|
"portfolio_id": str(PORTFOLIO_ID),
|
|
"housing_type": "Social",
|
|
"goal": "Increasing EPC",
|
|
"goal_value": "C",
|
|
"trigger_file_path": filename,
|
|
"already_installed_file_path": "",
|
|
"patches_file_path": "",
|
|
"non_invasive_recommendations_file_path": "",
|
|
"valuation_file_path": valuation_filename,
|
|
"scenario_name": "EPC C",
|
|
"multi_plan": True,
|
|
"budget": None,
|
|
"ashp_cop": 3.5,
|
|
"event_type": "remote_assessment",
|
|
"default_u_values": True,
|
|
|
|
}
|
|
print(body2)
|