Model/backend/onboarders/mappings/parity/heating.py
Khalim Conn-Kowlessar ae02561cd0 preparing partiy class
2026-02-05 08:54:27 +00:00

330 lines
18 KiB
Python

from datatypes.epc.main_heating import EpcHeatingSystems
from datatypes.epc.efficiency import EpcEfficiency
from datatypes.epc.fuel import EpcFuel
from datatypes.epc.heating_controls import EpcHeatingControls
from datatypes.epc.hotwater import EpcHotWaterSystems
heating_map = {
# 0
('Boilers', 'A', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_and_radiators_electric, EpcEfficiency.VERY_POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 1
('Boilers', 'A', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_and_radiators_electric, EpcEfficiency.VERY_POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 2
('Boilers', 'A', 'ElectricityNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_and_radiators_electric, EpcEfficiency.VERY_POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 3
('Boilers', 'A', 'LPGNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_and_radiators_lpg, EpcEfficiency.POOR, EpcFuel.lpg_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 4
('Boilers', 'A', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.VERY_GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 5
('Boilers', 'A', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.VERY_GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 6
('Boilers', 'A', 'MainsGasNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.VERY_GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 7
('Boilers', 'B', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 8
('Boilers', 'B', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 9
('Boilers', 'B', 'MainsGasNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 10
('Boilers', 'C', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_and_radiators_electric, EpcEfficiency.VERY_POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 11
('Boilers', 'C', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_and_radiators_electric, EpcEfficiency.VERY_POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 12
('Boilers', 'C', 'ElectricityNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_and_radiators_electric, EpcEfficiency.VERY_POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 13
('Boilers', 'C', 'LPGNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_and_radiators_lpg, EpcEfficiency.POOR, EpcFuel.lpg_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 14
('Boilers', 'C', 'LPGNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_and_radiators_lpg, EpcEfficiency.POOR, EpcFuel.lpg_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 15
('Boilers', 'C', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 16
('Boilers', 'C', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 17
('Boilers', 'C', 'MainsGasNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
('Boilers', 'C', 'OilNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_oil, EpcEfficiency.AVERAGE, EpcFuel.oil_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 19
('Boilers', 'C', 'OilNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_oil, EpcEfficiency.AVERAGE, EpcFuel.oil_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 20
('Boilers', 'C', 'OilNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_oil, EpcEfficiency.AVERAGE, EpcFuel.oil_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 21
('Boilers', 'D', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 22
('Boilers', 'D', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 23
('Boilers', 'D', 'MainsGasNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 24
('Boilers', 'E', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_and_radiators_electric, EpcEfficiency.VERY_POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 25
('Boilers', 'E', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 26
('Boilers', 'E', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 27
('Boilers', 'E', 'MainsGasNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 28
('Boilers', 'E', 'OilNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_oil, EpcEfficiency.AVERAGE, EpcFuel.oil_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 29
('Boilers', 'E', 'OilNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_oil, EpcEfficiency.AVERAGE, EpcFuel.oil_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 30
('Boilers', 'F', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 31
('Boilers', 'F', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 32
('Boilers', 'F', 'MainsGasNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 33
('Boilers', 'G', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 34
('Boilers', 'G', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 35
('Boilers', 'G', 'MainsGasNotCommunity', 'Top Spec'): (
EpcHeatingSystems.boiler_radiators_mains_gas, EpcEfficiency.AVERAGE, EpcFuel.mains_gas_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 36
('Electric underfloor', 'A', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.electric_underfloor_heating, EpcEfficiency.AVERAGE, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
# 37
('Electric underfloor', 'A', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.electric_underfloor_heating, EpcEfficiency.AVERAGE, EpcFuel.electricity_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
# 38
('Electric underfloor', 'A', 'ElectricityNotCommunity', 'Top Spec'): (
EpcHeatingSystems.electric_underfloor_heating, EpcEfficiency.AVERAGE, EpcFuel.electricity_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
# 39
('Heat pumps (warm air)', 'A', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.air_to_air_ashp, EpcEfficiency.AVERAGE, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 40
('Heat pumps (warm air)', 'A', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.air_to_air_ashp, EpcEfficiency.AVERAGE, EpcFuel.electricity_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 41
('Heat pumps (wet)', 'A', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.ashp_radiators_electric, EpcEfficiency.GOOD, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_room_thermostat_trvs, EpcEfficiency.GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 42
('Heat pumps (wet)', 'A', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.ashp_radiators_electric, EpcEfficiency.GOOD, EpcFuel.electricity_not_community,
EpcHeatingControls.programmers_trvs_bypass, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 43
('Heat pumps (wet)', 'A', 'ElectricityNotCommunity', 'Top Spec'): (
EpcHeatingSystems.ashp_radiators_electric, EpcEfficiency.GOOD, EpcFuel.electricity_not_community,
EpcHeatingControls.time_and_temperature_zone_control, EpcEfficiency.VERY_GOOD,
EpcHotWaterSystems.from_main_system, EpcEfficiency.AVERAGE
),
# 44
('Room heaters', 'A', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.room_heaters_electric, EpcEfficiency.POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_and_appliance_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
# 45
('Room heaters', 'A', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.room_heaters_electric, EpcEfficiency.POOR, EpcFuel.electricity_not_community,
EpcHeatingControls.appliance_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
# 46
('Room heaters', 'C', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.room_heaters_mains_gas, EpcEfficiency.AVERAGE, EpcFuel.mains_gas_not_community,
EpcHeatingControls.appliance_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
# 47 - water done from here
('Room heaters', 'F', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.room_heaters_mains_gas, EpcEfficiency.POOR, EpcFuel.mains_gas_not_community,
EpcHeatingControls.appliance_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
('Room heaters', 'G', 'MainsGasNotCommunity', 'Optimal'): (
EpcHeatingSystems.room_heaters_mains_gas, EpcEfficiency.POOR, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_and_appliance_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
('Room heaters', 'G', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.room_heaters_mains_gas, EpcEfficiency.POOR, EpcFuel.mains_gas_not_community,
EpcHeatingControls.appliance_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
('Room heaters', 'G', 'SmokelessCoal', 'Sub Optimal'): (
EpcHeatingSystems.room_heaters_smokeless_fuel, EpcEfficiency.VERY_POOR, EpcFuel.smokeless_coal,
EpcHeatingControls.appliance_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
('Storage heaters', 'A', 'ElectricityNotCommunity', 'Optimal'): (
EpcHeatingSystems.electric_storage_heaters, EpcEfficiency.AVERAGE, EpcFuel.electricity_not_community,
EpcHeatingControls.automatic_charge_control, EpcEfficiency.AVERAGE,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
('Storage heaters', 'A', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.electric_storage_heaters, EpcEfficiency.AVERAGE, EpcFuel.electricity_not_community,
EpcHeatingControls.manual_charge_control, EpcEfficiency.POOR,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
('Warm Air (not heat pump)', 'G', 'ElectricityNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.warm_air_electricaire, EpcEfficiency.GOOD, EpcFuel.electricity_not_community,
EpcHeatingControls.programmer_and_atleast_two_room_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
),
('Warm Air (not heat pump)', 'G', 'MainsGasNotCommunity', 'Sub Optimal'): (
EpcHeatingSystems.warm_air_mains_gas, EpcEfficiency.GOOD, EpcFuel.mains_gas_not_community,
EpcHeatingControls.programmer_and_atleast_two_room_thermostats, EpcEfficiency.GOOD,
EpcHotWaterSystems.electric_immersion_off_peak, EpcEfficiency.AVERAGE
)
}