From 46f4b2c3a3b7527953ee4a821e29a7d9d5f96dab Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 30 Jun 2026 17:37:34 +0000 Subject: [PATCH] =?UTF-8?q?Recognise=20community=20boilers=20as=20a=20heat?= =?UTF-8?q?-network=20system=20=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- domain/epc/property_overlays/main_heating_system_overlay.py | 5 +++++ domain/epc/property_overrides/main_heating_system_type.py | 1 + 2 files changed, 6 insertions(+) diff --git a/domain/epc/property_overlays/main_heating_system_overlay.py b/domain/epc/property_overlays/main_heating_system_overlay.py index 0ca83c206..b8ea16c0d 100644 --- a/domain/epc/property_overlays/main_heating_system_overlay.py +++ b/domain/epc/property_overlays/main_heating_system_overlay.py @@ -144,6 +144,11 @@ _MAIN_HEATING_CODES: dict[str, int] = { # cases", default SPF 2.30). Modellable without a PCDB index; an actual # product index would refine it (ADR-0041). "Air source heat pump": 211, + # Boiler-driven community / heat-network heating — SAP Table 4a 301. The + # calculator derives the heat-source efficiency (80%) + DLF (1.50 default) + # from the code (cert_to_inputs). A generic "Community heating" with no named + # source stays unmapped (-> None) — the source can't be assumed (ADR-0041). + "Community heating, boilers": 301, } diff --git a/domain/epc/property_overrides/main_heating_system_type.py b/domain/epc/property_overrides/main_heating_system_type.py index 91e3b6f24..eda1bef7a 100644 --- a/domain/epc/property_overrides/main_heating_system_type.py +++ b/domain/epc/property_overrides/main_heating_system_type.py @@ -27,4 +27,5 @@ class MainHeatingSystemType(Enum): ELECTRIC_ROOM_HEATERS = "Electric room heaters" SOLID_FUEL_ROOM_HEATER_CLOSED = "Solid fuel room heater, closed" AIR_SOURCE_HEAT_PUMP = "Air source heat pump" + COMMUNITY_BOILERS = "Community heating, boilers" UNKNOWN = "Unknown"