mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-27 23:35:01 +00:00
Withhold roof insulation from RIR surfaces the surveyor marked insulation-unknown 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
7f854e7219
commit
1f1bb8a556
1 changed files with 16 additions and 1 deletions
|
|
@ -6014,6 +6014,18 @@ def _pashub_room_in_roof(
|
|||
if isinstance(roof.insulation_thickness_mm, int)
|
||||
else None
|
||||
)
|
||||
# Newer survey forms ask per surface "Are you able to provide details of
|
||||
# the insulation …?" — a "No" (fixture 499617935574: loft hatch screwed
|
||||
# shut) means the roof-space thickness is NOT evidence for that surface,
|
||||
# which must fall back to the Table 18 col(4) age-band "unknown" default.
|
||||
# On such a form, surfaces the question never covers (common walls) get
|
||||
# no threading either. Legacy forms (question absent everywhere) keep the
|
||||
# unconditional threading above.
|
||||
form_asks_insulation_known = any(
|
||||
d.insulation_known is not None
|
||||
for group in (rir.gables, rir.slopes, rir.common_walls, rir.flat_ceilings)
|
||||
for d in group or []
|
||||
)
|
||||
|
||||
def _add(
|
||||
details: Optional[List[RoomInRoofSurfaceDetail]],
|
||||
|
|
@ -6030,12 +6042,15 @@ def _pashub_room_in_roof(
|
|||
"room-in-roof gable type", str(d.gable_type)
|
||||
)
|
||||
surface_kind = _PASHUB_GABLE_TYPE_TO_KIND[d.gable_type]
|
||||
thickness = insulation_thickness_mm
|
||||
if form_asks_insulation_known and not d.insulation_known:
|
||||
thickness = None
|
||||
surfaces.append(
|
||||
SapRoomInRoofSurface(
|
||||
kind=surface_kind,
|
||||
area_m2=d.length_m * d.height_m,
|
||||
u_value=d.u_value,
|
||||
insulation_thickness_mm=insulation_thickness_mm,
|
||||
insulation_thickness_mm=thickness,
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue