diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 00000000..f9ab3156 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,168 @@ +{ + "permissions": { + "allow": [ + "Bash(python -c ' *)", + "Bash(python -m pytest tests/ -v --no-cov)", + "Bash(git -C /workspaces/model diff --stat)", + "Bash(python -c \"import moto; print\\('moto installed:', moto.__version__\\)\")", + "Bash(grep -E \"\\\\.\\(py|sql\\)$\")", + "Bash(xargs basename -a)", + "Bash(ls -la /workspaces/home 2>/dev/null | head -20)", + "Read(//workspaces/home/**)", + "Bash(command -v uv)", + "Bash(uv --version)", + "Bash(echo \"uv: $\\(uv --version\\)\")", + "Bash(python -m pyright --version)", + "Bash(npx --no-install pyright --version)", + "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js --outputjson etl/hubspot/hubspotClient.py etl/hubspot/hubspotDataTodB.py etl/hubspot/project_data.py etl/hubspot/scripts/scraper/main.py backend/app/db/models/hubspot_project_data.py backend/app/db/models/hubspot_deal_data.py etl/hubspot/tests/test_scraper_handler.py etl/hubspot/tests/test_hubspot_data_to_db.py etl/hubspot/tests/test_hubspot_client_integration.py)", + "Bash(python -c \"import sys,json; d=json.load\\(sys.stdin\\); s=d['summary']; print\\('errors',s['errorCount'],'warnings',s['warningCount']\\); [print\\(f\\\\\"{x['severity']}: {x['file'].split\\('/'\\)[-1]}:{x['range']['start']['line']+1} {x['rule'] if 'rule' in x else ''} -- {x['message'].splitlines\\(\\)[0]}\\\\\"\\) for x in d['generalDiagnostics'] if x['severity']=='error']\")", + "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js etl/hubspot/project_data.py backend/app/db/models/hubspot_project_data.py)", + "Bash(python -c \"import sqlmodel, sqlalchemy, hubspot; print\\('deps importable'\\)\")", + "Bash(python -m pytest --version)", + "Bash(python -m pytest etl/hubspot/tests/ -m \"not integration\" -p no:cacheprovider -o addopts=\"\" -q)", + "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js --pythonpath /usr/local/bin/python etl/hubspot/project_data.py backend/app/db/models/hubspot_project_data.py)", + "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js --pythonpath /usr/local/bin/python etl/hubspot/company_data.py)", + "Bash(python /tmp/inspect_project.py)", + "Read(//home/vscode/github/**)", + "Bash(find / -maxdepth 6 -type d -name assessment-model)", + "Bash(terraform fmt *)", + "Bash(terraform init *)", + "Bash(terraform validate *)", + "Bash(python -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py -q)", + "Bash(python -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py tests/repositories/landlord_overrides -q --no-cov)", + "Bash(python -m py_compile tests/infrastructure/chatgpt/test_chatgpt_column_classifier.py)", + "Bash(git add *)", + "Bash(git status *)", + "Bash(cp pyrightconfig.json /tmp/pyrightconfig.bak.json)", + "Bash(python3 -)", + "Bash(npx --yes pyright infrastructure/postgres/landlord_overrides_postgres_repository.py applications/landlord_description_overrides/handler.py tests/repositories/landlord_overrides/postgres/test_landlord_overrides_postgres_repository.py orchestration/classifiable_column.py)", + "Bash(git stash *)", + "Bash(npx --yes pyright applications/landlord_description_overrides/handler.py)", + "Bash(python3 -m pytest tests/repositories/landlord_overrides/postgres/test_landlord_overrides_postgres_repository.py -q)", + "Bash(python3 -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py tests/repositories/landlord_overrides/ -q -p no:cov)", + "Bash(python3 -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py tests/repositories/landlord_overrides/ -q)", + "Bash(cp pyrightconfig.json /tmp/pyrightconfig.bak2.json)", + "Bash(npx --yes pyright infrastructure/landlord_overrides/landlord_overrides_postgres_repository.py tests/repositories/landlord_overrides/postgres/test_landlord_overrides_postgres_repository.py)", + "Bash(GIT_EDITOR=true git rebase --continue)", + "Bash(git worktree *)", + "Bash(git branch *)", + "Bash(echo \"exit: $?\")", + "Bash(git reset *)", + "Bash(echo \"fetch-exit: $?\")", + "Bash(sed -n *)", + "Bash(set -e)", + "Bash(git rm *)", + "Bash(git ls-tree *)", + "Bash(command -v pyright)", + "Bash(git merge *)", + "Bash(git rev-list *)", + "Bash(git remote *)", + "Bash(git ls-remote *)", + "Bash(grep -v '\\\\.sample$')", + "Bash([ -f \".git/hooks/$h\" ])", + "Bash(python3 -m pytest tests/test_lambda_packaging.py -p no:cacheprovider --no-header -q)", + "Bash(python3 -m pytest tests/test_lambda_packaging.py -p no:cov --no-header -q)", + "Bash(python3 -m pytest tests/test_lambda_packaging.py --no-cov -p no:cacheprovider -q)", + "Bash(python3 -m pytest tests/test_lambda_packaging.py --no-cov -q)", + "Bash(python3 -m pyright tests/test_lambda_packaging.py)", + "Bash(python3 -m pytest tests/ --collect-only --no-cov -q)", + "Bash(python3 -c \"import yaml; [print\\(f, 'OK'\\) for f in ['.github/workflows/ddd_tests.yml','.github/workflows/unit_tests.yml'] if yaml.safe_load\\(open\\(f\\)\\)]\")", + "Bash(python3 -m pytest tests/ -q --no-cov)", + "Bash(python3 -c ' *)", + "Bash(python3 -m pyright --outputjson scripts/hyde/main.py)", + "Bash(python3 -c \"import json,sys; d=json.load\\(sys.stdin\\); s=d['summary']; print\\('errors:',s['errorCount'],'warnings:',s['warningCount']\\); [print\\(f\\\\\" L{e['range']['start']['line']+1}: {e['message'].splitlines\\(\\)[0]}\\\\\"\\) for e in d['generalDiagnostics'] if e['severity']=='error']\")", + "Bash(python3 -c \"import json,sys; d=json.load\\(sys.stdin\\); s=d['summary']; print\\('pyright errors:',s['errorCount'],'warnings:',s['warningCount']\\); [print\\(f\\\\\" L{e['range']['start']['line']+1}: {e['message'].splitlines\\(\\)[0]}\\\\\"\\) for e in d['generalDiagnostics'] if e['severity']=='error']\")", + "Bash(python3 main.py)", + "Bash(netstat -ltnp)", + "Bash(fuser 8000/tcp)", + "Bash(kill 351610 685390 351625)", + "Read(//proc/531213/net/**)", + "Bash(ps -p 351610 -o pid=)", + "Bash(python -)", + "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis::test_cert_omitting_sap_windows_maps_without_missing_required_field\")", + "Bash(python -m pytest datatypes/epc/domain/tests/test_from_rdsap_schema.py infrastructure/epc_client/tests/test_mapper_corpus.py)", + "Bash(git -C /workspaces/model stash push -u -- datatypes/epc/schema/rdsap_schema_20_0_0.py datatypes/epc/domain/mapper.py datatypes/epc/domain/tests/test_from_rdsap_schema.py)", + "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestFromRdSapSchema21_0_1::test_total_floor_area\")", + "Bash(git -C /workspaces/model stash pop)", + "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis::test_band_more_than_typical_scales_glazing_by_1_25\")", + "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis\")", + "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis::test_synthesised_glazing_type_routed_through_cascade\")", + "Bash(python -m pytest infrastructure/epc_client/tests/test_mapper_corpus.py -k \"wip_schema_20\" -q -p no:cov --no-header -rN)", + "Bash(python -m pytest infrastructure/epc_client/tests/test_mapper_corpus.py -k \"wip_schema_20\" -q --no-header)", + "Bash(timeout 150 python scripts/eon/find_epc_data.py)", + "Bash(python -m scripts.run_modelling_e2e --scenario-id 1266 --portfolio-id 785 --measures high_heat_retention_storage_heaters,solar_pv 709634 709635 709636 709638 709639 709640 709641 709642 709644)", + "Read(//home/vscode/.claude/skills/grill-me/**)", + "Bash(awk '{print $9, $5}')", + "Bash(grep -E \"\\\\.py$\")", + "Bash(python3 scripts/eon/harvest_certs.py)", + "Bash(python scripts/eon/harvest_certs.py)", + "Bash(git commit -q -m ' *)", + "Bash(timeout 250 npx -y pyright@1.1.410 datatypes/epc/domain/mapper.py)", + "Bash(git check-ignore *)", + "Bash(timeout 250 npx -y pyright@1.1.410 datatypes/epc/schema/rdsap_schema_18_0.py datatypes/epc/domain/mapper.py)", + "Bash(timeout 250 npx -y pyright@1.1.410 datatypes/epc/schema/rdsap_schema_17_1.py datatypes/epc/domain/mapper.py)", + "Bash(python -m scripts.run_modelling_e2e --scenario-id 1266 --portfolio-id 785 --measures high_heat_retention_storage_heaters,solar_pv 709634 709635 709636 709638 709639 709640 709641 709642 709643 709644 709645 709637)", + "Read(//workspaces/**)", + "Bash(python -m scripts.run_modelling_e2e --scenario-id 1266 --portfolio-id 785 --measures high_heat_retention_storage_heaters,solar_pv 709634)", + "Bash(python 2_export_data.py)", + "Bash(git commit -q -m 'Map RdSAP-Schema-17.0 certs to EpcPropertyData 🟥 *)", + "Bash(python -m py_compile tests/utilities/floats.py backend/app/db/functions/tests/test_portfolio_functions.py backend/documents_parser/tests/test_summary_pdf_mapper_chain.py backend/documents_parser/tests/test_heating_systems_corpus.py)", + "Bash(PYTHONPATH=/workspaces/model python -)", + "Bash(npx --no-install pyright datatypes/epc/schema/sap_schema_17_1.py datatypes/epc/domain/mapper.py datatypes/epc/domain/tests/test_from_sap_schema.py)", + "Bash(git commit -q -m 'Map full-SAP cert identity and scalar fields to EpcPropertyData 🟩 *)", + "Bash(npx --no-install pyright --outputjson datatypes/epc/domain/mapper.py)", + "Bash(git commit -q -m 'Carry full-SAP measured fabric U-value descriptions into the domain model 🟩 *)", + "Bash(python scripts/hyde/elmhurst_session.py --help)", + "Bash(python scripts/hyde/elmhurst_session.py status)", + "Bash(DISPLAY=:99 import -window root /tmp/hyde-viewer/elm_now2.png)", + "Bash(DISPLAY=:99 timeout 90 python scripts/hyde/elmhurst_explore.py \"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105&Referrer=https%3a%2f%2fmembers.elmhurstenergy.co.uk%2fRdsapZone%2fHome.aspx\")", + "Bash(DISPLAY=:99 timeout 90 python scripts/hyde/elmhurst_explore.py \"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormPropertyDescription.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105\")", + "Bash(DISPLAY=:99 timeout 90 python scripts/hyde/elmhurst_explore.py \"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105\")", + "Bash(DISPLAY=:99 timeout 150 python scripts/hyde/elmhurst_fill.py)", + "Bash(pkill -f \"rdsap10\\\\|for-testing\")", + "Bash(rm -f scripts/hyde/.elmhurst-session/Singleton*)", + "Bash(DISPLAY=:99 timeout 280 python -u scripts/hyde/elmhurst_fill.py --page property_description --commit)", + "Bash(npx --no-install pyright scripts/hyde/elmhurst_download.py)", + "Edit(/.claude/skills/expand-sap-accuracy-corpus/**)", + "Bash(PYTHONPATH=/workspaces/model python scripts/fetch_real_life_epc_sample.py 10093116528)", + "Bash(PYTHONPATH=/workspaces/model python -c ' *)", + "Bash(bash scripts/hyde/start_viewer.sh)", + "Bash(DISPLAY=:99 ELMHURST_URL=\"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105\" python scripts/hyde/elmhurst_session.py login)", + "Bash(break)", + "Bash(DISPLAY=:99 timeout 90 python /tmp/check_session.py)", + "Bash(pkill -9 -f \"elm_login_hold.py\")", + "Bash(pkill -9 -f \"elmhurst-session\")", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 150 python /tmp/elm_build_dims.py)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_dump_full.py Walls WebFormWalls.aspx)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_walls_disc.py)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_roof_disc.py)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_dump_full.py Openings WebFormOpenings.aspx)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_win_probe.py)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 220 python /tmp/elm_build_openings.py)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_tab_probe.py)", + "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_del_probe.py)", + "Bash(npx --no-install pyright datatypes/epc/domain/epc_property_data.py datatypes/epc/domain/mapper.py domain/sap10_calculator/rdsap/cert_to_inputs.py)", + "Bash(PYTHONPATH=/workspaces/model python -m pytest domain/sap10_calculator/tests/test_sap_accuracy_corpus.py -q --no-cov)", + "Bash(PYTHONPATH=/workspaces/model python -m pytest tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py -q --no-cov)", + "Edit(/.claude/skills/epc-to-elmhurst-rdsap-inputs/**)", + "Bash(python3 -c \"import sys; sys.path.insert\\(0,'scripts/hyde'\\); import elmhurst_lib; print\\('elmhurst_lib imports OK:', [f for f in dir\\(elmhurst_lib\\) if not f.startswith\\('_'\\)][:12]\\)\")", + "Bash(PYTHONPATH=/workspaces/model python -m pytest tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py tests/infrastructure/epc_client/test_sap_accuracy_corpus.py -q --no-cov)", + "Bash(PYTHONPATH=/workspaces/model python scripts/fetch_real_life_epc_sample.py 10093116543)", + "Bash(echo \"---EXIT $?---\")", + "Bash(sudo apt-get update -o Dir::Etc::sourceparts=-)", + "Bash(apt-cache policy *)", + "Bash(sudo apt-get update)", + "Bash(bash scripts/hyde/start_viewer.sh restart)", + "Bash(echo \"=== listen sockets \\(port 6080 / 5900\\) ===\"; ss -ltnp 2>/dev/null | grep -E ':6080|:5900' || netstat -ltnp 2>/dev/null | grep -E ':6080|:5900' || echo \"ss/netstat unavailable\" *)", + "Read(//proc/5476/**)", + "Bash(sudo python -m playwright install-deps chromium)", + "Bash(python -m playwright install chromium)", + "Bash(python -m playwright --version)", + "Bash(pip show *)" + ], + "additionalDirectories": [ + "/tmp", + "/workspaces/model/scripts/hyde/.elmhurst-session" + ] + } +} diff --git a/.claude/skills/epc-to-elmhurst-rdsap-inputs/reference/mapping.md b/.claude/skills/epc-to-elmhurst-rdsap-inputs/reference/mapping.md index d3741489..1aab0298 100644 --- a/.claude/skills/epc-to-elmhurst-rdsap-inputs/reference/mapping.md +++ b/.claude/skills/epc-to-elmhurst-rdsap-inputs/reference/mapping.md @@ -112,6 +112,21 @@ Per-window fields: `door_count` when `percent_draughtproofed` 100. Engine default uninsulated door U = 3.0 W/m²K, area 1.85 m² → `doors_w_per_k` ≈ count × 1.85 × 3.0. +## Air permeability (CRITICAL — q50 is AP50, not AP4) + +A lodged "Air permeability X m³/h.m² (as tested)" is a **q50** result (Blower-Door, +at 50 Pa). SAP/RdSAP infiltration line `(18) = AP50/20 + (8)` — Elmhurst's worksheet +labels it **"Measured/design AP50"** and divides by 20 (worksheet lines 17/18). + +⚠️ **Do not confuse with AP4** (air permeability at 4 Pa, from a *Pulse* test), +whose cascade is `(18) = 0.263 × AP4^0.924 + (8)` — a much larger number for the +same value. Mapping a q50 onto the AP4 path massively over-counts infiltration +(e.g. q50 4.5 → 1.0 ach vs the correct 4.5/20 = 0.225). The full-SAP mapper now +routes the lodged air permeability to `SapVentilation.air_permeability_ap50_m3_h_m2` +(the `/20` path); fixed in the uprn_10093116528 campaign (gov-API SAP 78→82, vs +Elmhurst worksheet 81). In Elmhurst enter it via Air Pressure Test → **Blower Door** +→ result (and a certificate number, which the validation requires). + ## Ventilation & Lighting - **Ventilation**: open chimneys = `open_fireplaces_count`; flues/passive diff --git a/.claude/skills/expand-sap-accuracy-corpus/SKILL.md b/.claude/skills/expand-sap-accuracy-corpus/SKILL.md index 2507f61e..9c2d4062 100644 --- a/.claude/skills/expand-sap-accuracy-corpus/SKILL.md +++ b/.claude/skills/expand-sap-accuracy-corpus/SKILL.md @@ -58,13 +58,60 @@ worksheet exposes calculator holes. `[ ]` todo · `[x]` pinned (≤0.5) · `🔧` mapper extended · `⚠` xfail (engine bug) · `⛔` blocked. Annotate each done line: `— · eng / elm · `. +## Elmhurst build playbook (READ THIS before driving the browser) +Use **`scripts/hyde/elmhurst_lib.py`** — it encodes the auth + DOM gotchas below. +Pattern: `with E.session() as (ctx,page): E.goto(...); E.set_text/set_select(...); E.save_close(page)`. + +- **Auth is a SESSION cookie** — Playwright's persistent context does NOT restore + it across process launches, so the old "log in once, reuse session" flow breaks. + Instead **log in fresh every run** (`E.session()` reads creds from `ELM_ACCESS`/ + `ELM_PWD` or gitignored `scripts/hyde/.elmhurst-creds.json`). Assessment DATA + persists server-side via **Save & Close**, so you can build/verify ONE page per + run across separate processes. Start the viewer first: `bash scripts/hyde/start_viewer.sh`. +- **Build page-by-page, Save & Close each** — overwrite the reused assessment's + prior-UPRN state (incl. property type House↔Flat, which reveals/hides fields). + After each `set_*`, the page AutoPostBacks — re-locate the next control. +- **Sub-tabs hide fields** — Doors, Air Pressure Test, Lighting, FGHRS etc. are + Ajax tabs; their inputs exist in the DOM but are invisible until you + `E.click_tab(page, "TabContainer_TabPanelPanel")`. Forgetting this → "element + not visible" timeouts AND missing-required-field validation errors. +- **Window grid is the hard part.** (a) delete is a Yes/No MODAL + (`E.delete_first_window`); (b) it WON'T delete the last row; (c) **each Add wipes + the previously-added row** → multi-row entry doesn't stick. So enter **ONE + combined window**: `E.add_combined_window(page, total_glazed_area, orientation)` + then delete the prior rows. Use a standard band glazing ("Double post or during + 2022" ≈ U1.4/g0.72) — the "...known data" option demands per-row Frame-Factor/ + Data-Source/Location/Building-Part and fails validation. Trust the grid only + after Save & Close + reload (the live grid mis-shows older rows as 0.00). +- **U-value-known overrides** (walls/roof/floor) don't toggle via automation → + accept the natural RdSAP age-band U-value; note the divergence for reconciliation. +- **Recommendations page = validation gate.** It must show ZERO errors before the + summary/worksheet PDFs download. Usual culprits: insulated-door U-value, and the + air-pressure-test **certificate number** (required when method=Blower Door). +- **Air permeability**: enter the lodged q50 via Air Pressure Test → Blower Door → + result. Elmhurst treats it as **AP50** and uses `(18)=AP50/20+(8)` (worksheet + lines 17/18). This drove the first campaign mapper fix — see Banked findings. + +## Banked findings (fold new ones in here as the corpus grows) +- **Air-permeability AP50 fix** (uprn_10093116528, the first campaign cert): the + full-SAP mapper was routing the lodged q50 to the engine's AP4/Pulse formula + (`0.263×AP4^0.924`) instead of the AP50 `/20` path — a big infiltration + over-count. Fixed via `SapVentilation.air_permeability_ap50_m3_h_m2` + + `_sap_17_1_ventilation` + `cert_to_inputs`. Re-pinned uprn_10092973954 77→80. + See `epc-to-elmhurst-rdsap-inputs/reference/mapping.md` (Air permeability). +- **Full-SAP-through-RdSAP residual ≈ +1–2 SAP** is expected and usually NOT a + bug: the engine uses the cert's *measured* U-values (often better than RdSAP + age-band proxies) and Elmhurst RdSAP uses age-band defaults + a party-wall + default. Pin the engine's observed value; document the Elmhurst delta (don't tune). +- **FGHRS** (full-SAP `has_fghrs`/`fghrs_index_number`) is dropped by the mapper + and not yet modelled — omit it on BOTH sides so the comparison stays clean. + ## Limitations / next improvements (make the campaign scale) -- **Per-assessment GUID** — `elmhurst_fill.py` / `elmhurst_download.py` hard-code - `ASSESSMENT_GUID` (the Khalim-test cert). Each UPRN needs its own Elmhurst - assessment; create one and update the GUID, or parameterize it (`--guid`). -- **Cert-specific fill values** — `PAGES` in `elmhurst_fill.py` hold one cert's - values. Make it **data-driven** (read field values from each cert's - `elmhurst_inputs.md` or a JSON sidecar) so one filler serves all UPRNs. Until - then, build each cert guided by its `elmhurst_inputs.md` (the filler is a template). -- **More dialogs** — boiler is automated (cascade); apply the same - open→select→OK pattern to the control code (2110) and the MV unit when wanted. +- **Per-assessment GUID** — `elmhurst_lib.py` reuses one `ASSESSMENT_GUID` + (Khalim-test), overwritten per UPRN. For parallelism, create one assessment per + UPRN and parameterize the GUID. +- **Data-driven fill** — `elmhurst_lib.py` gives the primitives; a per-cert driver + that reads field values straight from `elmhurst_inputs.md` (or a JSON sidecar) + would remove the remaining hand-keying. `elmhurst_fill.py` is the older template. +- **More dialogs** — boiler cascade is automatable; the control-code (2110) and + FGHRS/MV-unit search dialogs still need the open→search→select→OK pattern. diff --git a/.claude/skills/expand-sap-accuracy-corpus/worklist.md b/.claude/skills/expand-sap-accuracy-corpus/worklist.md index 6794e933..7f382483 100644 --- a/.claude/skills/expand-sap-accuracy-corpus/worklist.md +++ b/.claude/skills/expand-sap-accuracy-corpus/worklist.md @@ -12,7 +12,7 @@ inputs 79 (calculator faithful within ~1). Use it to sanity-check the pipeline. ## The 100 -- [ ] 10093116528 +- [x] 🔧 10093116528 — SAP-17.1 (full-SAP semi) · eng 82 / elm 81 · 🔧 air-perm AP50 fix: q50 Blower-Door routed to (18)=AP50/20 not the AP4/Pulse formula (was eng 78). Residual +1 = lodged-U vs RdSAP age-band-U; FGHRS (60031) omitted both sides. Worked-ref 10092973954 re-pinned 77→80 by same fix. - [ ] 10093116543 - [ ] 10093116529 - [ ] 100020933699 diff --git a/.devcontainer/asset_list/docker-compose.yml b/.devcontainer/asset_list/docker-compose.yml index d567162b..aed1a2ef 100644 --- a/.devcontainer/asset_list/docker-compose.yml +++ b/.devcontainer/asset_list/docker-compose.yml @@ -1,4 +1,7 @@ version: '3.8' +# Unique Compose project name (see backend/docker-compose.yml) so this repo's +# devcontainer doesn't collide with other model-* clones. +name: model-asset-list services: model-sal: diff --git a/.devcontainer/backend/Dockerfile b/.devcontainer/backend/Dockerfile index 9a75ffc7..1514f78f 100644 --- a/.devcontainer/backend/Dockerfile +++ b/.devcontainer/backend/Dockerfile @@ -13,6 +13,15 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ ripgrep fd-find make unzip bash-completion \ && rm -rf /var/lib/apt/lists/* +# 1b) Headed-browser viewer stack for the hyde Elmhurst automation. +# scripts/hyde/start_viewer.sh chains these: Xvfb (virtual :99 screen) -> +# fluxbox (window manager) -> x11vnc (VNC on 5900) -> novnc/websockify +# (browser-accessible desktop on 6080). Lets a human watch/click the headed +# Playwright browser while building certs in Elmhurst. +RUN apt-get update && apt-get install -y --no-install-recommends \ + xvfb fluxbox x11vnc novnc websockify \ + && rm -rf /var/lib/apt/lists/* + # Neovim latest (LazyVim needs >=0.9) RUN curl -fsSL https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz \ | tar -xz -C /opt \ @@ -36,6 +45,13 @@ ADD etl/hubspot/requirements.txt requirements4.txt RUN cat requirements1.txt requirements2.txt requirements3.txt requirements4.txt > requirements.txt RUN pip install -r requirements.txt +# Playwright OS dependencies for the hyde Elmhurst automation (scripts/hyde/). +# The pip `playwright` package is in requirements above; this pulls the apt +# libraries chromium needs. The browser BINARY itself is downloaded as the +# vscode user further down (its cache lives in /home/vscode/.cache/ms-playwright, +# which is where the automation runs from). +RUN python -m playwright install-deps chromium + # 5) Workdir WORKDIR /workspaces/model @@ -86,4 +102,11 @@ RUN git clone https://github.com/LazyVim/starter /home/${USER}/.config/nvim \ # Install Claude Code CLI (skills are installed via postCreate from Hestia-Homes/agentic-toolkit) RUN curl -fsSL https://claude.ai/install.sh | bash ENV PATH="/home/vscode/.local/bin:${PATH}" + +# Playwright chromium browser for the hyde Elmhurst automation. Run as the +# vscode user so the download lands in /home/vscode/.cache/ms-playwright (the +# OS deps were installed as root above). Headed chromium is required — the +# automation launches with headless=False onto the noVNC desktop (:99). +RUN python -m playwright install chromium + USER root diff --git a/.devcontainer/backend/devcontainer.json b/.devcontainer/backend/devcontainer.json index d5133df3..a9693502 100644 --- a/.devcontainer/backend/devcontainer.json +++ b/.devcontainer/backend/devcontainer.json @@ -42,11 +42,15 @@ "containerEnv": { "PYTHONFLAGS": "-Xfrozen_modules=off" }, - "forwardPorts": ["model-backend:8000"], + "forwardPorts": ["model-backend:8000", "model-backend:6080"], "portsAttributes": { "model-backend:8000": { "label": "FastAPI", "onAutoForward": "notify" + }, + "model-backend:6080": { + "label": "hyde noVNC desktop", + "onAutoForward": "silent" } } } diff --git a/.devcontainer/backend/docker-compose.yml b/.devcontainer/backend/docker-compose.yml index 9b4873c2..a9350c81 100644 --- a/.devcontainer/backend/docker-compose.yml +++ b/.devcontainer/backend/docker-compose.yml @@ -1,4 +1,8 @@ version: '3.8' +# Unique Compose project name so this repo's devcontainer doesn't collide with +# other model-* clones (which all live in .devcontainer/backend/ and would +# otherwise default to the same project name "backend", clobbering each other). +name: model-backend services: model-backend: @@ -14,6 +18,10 @@ services: # worktrees of this repo run at once without colliding. VS Code's # forwardPorts (in devcontainer.json) forwards container :8000 to your machine. - "8000" + # noVNC desktop for the hyde Elmhurst automation (scripts/hyde/start_viewer.sh). + # Dynamic host port like 8000; VS Code forwardPorts maps container :6080 to + # a stable localhost:6080 on your machine. + - "6080" volumes: - ../../:/workspaces/model - ~/.gitconfig:/home/vscode/.gitconfig:ro diff --git a/.gitignore b/.gitignore index df5276a2..9cb34cb3 100644 --- a/.gitignore +++ b/.gitignore @@ -311,3 +311,4 @@ scripts/eon/epc_cache.pkl # Elmhurst Playwright session (auth cookies) + captured PDFs (scripts/hyde) scripts/hyde/.elmhurst-session/ scripts/hyde/elmhurst_downloads/ +scripts/hyde/.elmhurst-creds.json diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_inputs.md b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_inputs.md new file mode 100644 index 00000000..edc1a83c --- /dev/null +++ b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_inputs.md @@ -0,0 +1,180 @@ +# Elmhurst RdSAP inputs — UPRN 10093116528 (cert 8000-8495-2839-2607-9683, SAP-Schema-17.1) + +**Lodged SAP:** 84 (band B) **Our engine:** 78 (continuous 78.04) ← compare Elmhurst against this +**Total fuel cost (engine):** £505.43/yr **Heat transfer coeff:** 177.05 W/K +**Known divergences (candidate mapper gaps — confirm against Elmhurst worksheet):** +- **Party wall U = 0.25 (engine) vs 0 (lodged).** Full-SAP Wall 2 (`wall_type` 4, area 79.1 m², `u_value` 0) is a party wall lodged at U=0. The mapper (`_sap_17_1_building_part`) derives party *length* but drops the lodged U and never sets `party_wall_construction`, so the engine applies the RdSAP house default **0.25** → `party_walls_w_per_k` **19.775 W/K** (≈11 % of HTC). Likely the dominant under-prediction driver. +- **FGHRS dropped.** Raw cert: `has_fghrs:"true"`, `fghrs_index_number:60031`, HW description "flue gas heat recovery". `_sap_17_1_heating` hard-codes `has_fghrs=False` and carries no FGHRS index → engine ignores the flue-gas heat-recovery credit. Enter FGHRS 60031 in Elmhurst to expose the gap. + +> Full-SAP cert forced through RdSAP. Windows keep **real geometry** (mapper preserved +> `sap_openings`, not a glazed-area band). 🔸 = assessor-only field the EPC can't supply. +> The **Fields to clear** table at the bottom is the explicit "absent" set. +> Reuse Elmhurst assessment GUID **B44A0DB4-4C08-4241-B818-86F060172105**; overwrite +> every prior-UPRN value (clears included). NEVER click Submit. + +--- + +## Property Details (admin — does NOT affect SAP) +| Elmhurst field (`id`) | Enter | Notes | +|---|---|---| +| `DropDownListPurpose` | None of the above | not a retrofit/modelling job | +| `DropDownListTenure` | Owner-occupied | `tenure` ND; tenure doesn't affect SAP | +| `DropDownListTransactionType` | None of the above | `transaction_type` 6 = new dwelling | +| `TextBoxInspectionDate` | 2018-06-01 | admin only | + +## Property Description +| Elmhurst field (`id`) | Enter | Notes | +|---|---|---| +| `DropDownListPropertyType1` | **H House** | `property_type` 0 | +| `DropDownListPropertyType2` | **S Semi-Detached** | `built_form` 2 | +| `TextBoxStoreys` | **2** | two storeys (`sap_floor_dimensions` storey 0 + 1) | +| `TextBoxHabitableRooms` | **5** 🔸 | not lodged; estimate for a 2-storey 90 m² semi — confirm/key by hand | +| `TextBoxHeatedHabitableRooms` | **5** 🔸 | all heated | +| `DropDownListDateBuiltMain` | **L 2012-2022** | `construction_year` 2017 — by YEAR (engine band differs; see gotcha) | + +## Dimensions (Type = Internal) +Two floors, each `total_floor_area` 44.93 m², `storey_height` 2.6 m. TFA engine 89.86 (cert top-level 90). +| Floor | Field | Enter | Notes | +|---|---|---|---| +| Lowest (Ground) | `TextBoxFloorAreaLowestFloor` | **44.93** | `sap_floor_dimensions[storey 0]` | +| Lowest | `TextBoxRoomHeightLowestFloor` | **2.60** | storey height | +| Lowest | `TextBoxWallPerimeterLowestFloor` | **12.94** | exposed wall 67.29 m² ÷ Σheight 5.2 | +| Lowest | `TextBoxPartyWallLengthLowestFloor` | **15.21** | party wall 79.1 m² ÷ 5.2 (P1/P4 TB lengths confirm ≈15.2) | +| First | `TextBoxFloorAreaFirstFloor` | **44.93** | `sap_floor_dimensions[storey 1]` | +| First | `TextBoxRoomHeightFirstFloor` | **2.60** | storey height | +| First | `TextBoxWallPerimeterFirstFloor` | **12.94** | same perimeter | +| First | `TextBoxPartyWallLengthFirstFloor` | **15.21** | same party length | + +## Conservatory +| Elmhurst field (`id`) | Enter | Notes | +|---|---|---| +| `CheckBoxIsConservatory` | unchecked | `conservatory_type` 1 = none | + +## Walls (Main + Party) +| Elmhurst field (`id`, under `…WallMain_`) | Enter | Notes | +|---|---|---| +| `DropDownListType` | **TI Timber Frame** | 2017 new build, U 0.187; pick per construction | +| `DropDownListInsulation` | **A As Built** | factory-insulated | +| `CheckBoxUvalueKnown` + U-value | **0.19** | cert Wall 1 `u_value` 0.187 / "0.19 W/m²K"; engine walls 7.91 W/K | +| **Party wall** `DropDownListPartyWallType` | **Solid (U=0)** ⚠ | Wall 2 lodged `u_value` **0** → solid/sealed party wall. Engine wrongly uses 0.25 — this is the candidate gap. Do NOT leave "Unable to determine". | + +## Roofs +| Elmhurst field (`id`, under `…RoofMain_`) | Enter | Notes | +|---|---|---| +| `DropDownListType` | **PB Pitched, insulation between/above joists** | `roof_type` 2, U 0.113 | +| `DropDownListInsulation` + thickness / U | **U-value 0.11** | cert "0.11 W/m²K"; engine roof 4.94 W/K | + +## Floors +| Elmhurst field (`id`, under `…FloorsMain_`) | Enter | Notes | +|---|---|---| +| `DropDownListLocation` | **G Ground floor** | storey 0 | +| `DropDownListType` | **S Solid** | `floor_type` 2 | +| `DropDownListInsulation` | **A As built** | new-build | +| `CheckBoxUValueKnown` + U-value | **0.11** | cert "0.11 W/m²K"; engine floor 4.94 W/K | + +## Openings — Windows (real geometry retained, 7 windows) +Mapper kept the lodged `sap_openings`: 7 windows totalling **23.82 m²**, whole-window +**U 1.4**, **g 0.72** (opening-type `name` 1, `glazing_type` 4 high-performance). +Engine windows = **31.59 W/K**. +| Elmhurst grid field (`id`, under `…WindowsPanel_`) | Enter | Notes | +|---|---|---| +| `DropDownListExtGlazing` | **Double, high performance** | `glazing_type` 4, 100% multiple-glazed | +| `DropDownListExtFrameType` | **PVC** | high-performance frame (frame factor 0.7) | +| `TextBoxExtUValue` | **1.4** | opening-type U | +| `TextBoxExtGValue` | **0.72** | opening-type g | +| 🔸 per-row geometry | enter rows totalling **23.82 m²** | real widths×2.5/2.45/2.2 (0.9,2.85,0.8,1.4,1.0,1.45,1.35) | +| `DropDownListExtOrientation` | as lodged | orientations 3 (×4 = S/E?) + 7 (×3); RdSAP treats per-window | + +## Openings — Doors +| Elmhurst field (`id`, under `…DoorsPanel_`) | Enter | Notes | +|---|---|---| +| `TextBoxDoors` | **1** | `door_count` 1 (opening `name` 5, type 5) | +| `TextBoxDoorsInsulated` | **1** | `insulated_door_count` 1, door U 1.6; engine `doors_w_per_k` 2.96 | + +## Ventilation & Lighting +| Elmhurst field (`id`) | Enter | Notes | +|---|---|---| +| `TabPanelMechVent_CheckBoxMechanicalVentilation` | **unchecked** | `ventilation_type` 1 = natural w/ intermittent extract | +| `TabPanelVentilationPanel_*` extract fans | **3** | `extract_fans_count` 3 (intermittent) | +| chimneys / open flues / flueless gas / PSV | **0** | none lodged | +| `TabPanelAirPressureTest_DropDownListTestMethod` | **Blower Door → 4.5** | `air_permeability` 4.5, `pressure_test` 1 (as tested) | +| Sheltered sides | **1** | `sheltered_sides_count` 1 (RdSAP defaults 2 — change) | +| `TabPanelLighting_*` low-energy | **100% LED** (10 of 10) | 10 fixed outlets, 10 low-energy | + +## Space Heating — Main Heating 1 +Cert: "Boiler and radiators, mains gas", `main_fuel_type` 1, **PCDB boiler index 17644**, +radiators, controls **2110** (time + temp zone, interlocked), fan-assisted balanced flue, +**FGHRS index 60031** (`has_fghrs` true on raw cert). +| Elmhurst field (`id`, under `…MainHeating1_`) | Enter | Notes | +|---|---|---| +| 🔸 `TextBoxPCDFBoilerReference` (via `SelectBoilerDialog`) | **17644** | PCDB index via boiler-search dialog | +| `RadioButtonListHeatEmitter` | **Radiators** | `heat_emitter_type` 1 | +| `RadioButtonListFlueType` | **Balanced** | room-sealed; `fan_flue_present` true | +| `RadioButtonListFanAssistedFlue` | **Yes** | `boiler_flue_type` 2 | +| `RadioButtonListHeatingPumpAge` | **2013 or later** | `central_heating_pump_age` 2, in heated space | +| 🔸 `TextBoxMainHeatingControls` (via `SelectHeatingControlsDialog`) | **2110** | time & temperature zone control; interlocked | +| 🔸 **FGHRS** (`SelectFGHRSDialog` / FGHRS index field) | **60031** | flue-gas heat recovery — engine drops it; enter to expose gap | +| `TextBoxPercentageOfHeat` | **100** | single main system (`main_heating_fraction` 1) | + +## Space Heating — Meters +| Elmhurst field (`id`, under `TabPanelMeters_`) | Enter | Notes | +|---|---|---| +| `RadioButtonListElectricityType` | **Single** | `electricity_tariff` 1 — not Economy 7 | +| `CheckBoxMainGas` | **checked** | mains gas (`main_fuel_type` 1) | + +## Water Heating +Cert: from main system (combi), `water_heating_code` 901, mains gas (`water_heating_fuel` 1), +no cylinder (`has_hot_water_cylinder` false), `thermal_store` 1, **FGHRS to HW (60031)**. +Engine HW = **2,684 kWh/yr**. +| Elmhurst field (`id`, under `TabPanelWaterHeating_`) | Enter | Notes | +|---|---|---| +| 🔸 `TextBoxWaterHeatingCode` | **from main system** (901) | combi; Boiler Circulator / from-main category | +| `CheckBoxHotWaterCylinder` | **unchecked** | combi instantaneous — no cylinder | +| `TabPanelFGHRS_*` | **FGHRS 60031** | flue-gas heat recovery present on HW | +| `TabPanelWWHRS_DropDownListWWHRSPresent` | **No** | none lodged (instantaneous_wwhrs empty) | + +## New Technologies (all none) +| Elmhurst field (`id`) | Enter | Notes | +|---|---|---| +| `…PvPanelData` | None | no PV | +| `…CheckBoxWindTurbinePresent` | unchecked | `wind_turbines_count` 0 | +| `…TextBoxElectricityGenerated` (hydro) | 0 | none | + +--- + +## Fields to clear in Elmhurst (do NOT map) +| Elmhurst page · field (`id`) | Set to | Why absent | +|---|---|---| +| Property Description · `DropDownListDateBuiltFirst`…`Forth` | (blank) | no extensions lodged | +| Property Description · `DropDownListRoomInRoofMain`…`Forth` | (blank) | no room-in-roof building part | +| Dimensions · `…TextBoxFloorAreaRoomInRoof` | (blank) | leave empty, not 0 | +| Dimensions · 1st–4th Ext. sub-tabs (`TabPanel1stExt_…` etc.) | 0 / blank | single building part | +| Walls · `…DropDownListAlternativeWall1Type` + `TextBoxAddWallArea` | (blank / 0) | one external wall element | +| Walls · `…CheckBoxAditionalWallSheltered` | unchecked | no sheltered wall lodged | +| Openings · surplus window grid rows (`GridViewExtendedWidows_DeleteButton_*`) | delete to 7 rows | match the 7 lodged windows | +| Space Heating · `DropDownListSecondaryHeatingPresent` + `TextBoxSecondaryHeatingCode` | **No** / (blank) | `secondary_heating_category` 1 = None | +| Space Heating · `TabPanelMainHeating2_*` | (blank) | single main system | +| Water Heating · `CheckBoxHotWaterCylinder` + cylinder fields | unchecked / (blank) | combi instantaneous, no cylinder | +| Water Heating · Solar (`…CheckBoxSolaWaterHeating`), WWHRS | none | not lodged | +| Conservatory / PV / Wind / Hydro | none | not lodged | + +## Engine reference figures (reconcile against Elmhurst's worksheet) +| Quantity | Engine value | +|---|---| +| **SAP score** | **78** (continuous 78.04) | +| Total fuel cost | £505.43/yr | +| Space-heating demand | 6,377.7 kWh/yr | +| Main heating fuel | 7,206.4 kWh/yr | +| Hot water | 2,684.3 kWh/yr | +| Pumps & fans | 86.0 kWh/yr | +| Lighting | 202.2 kWh/yr | +| CO₂ | 2,119.5 kg/yr | +| Heat transfer coefficient | 177.05 W/K | + +**Heat-loss element breakdown (W/K):** walls 7.91 · floor 4.94 · roof 4.94 · +**party wall 19.78 (U=0.25 — candidate gap, lodged U=0)** · windows 31.59 · doors 2.96 · +thermal bridging 12.57 · infiltration 92.36 → total HTC 177.05. + +> **🔸 Assessor-only fields:** habitable-room count, per-window geometry rows, +> boiler PCDB 17644 / control 2110 / FGHRS 60031 via their search dialogs, +> water-heating code 901. diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_summary.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_summary.pdf new file mode 100644 index 00000000..730b9aa4 Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_summary.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_worksheet.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_worksheet.pdf new file mode 100644 index 00000000..a794d1d4 Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116528/elmhurst_worksheet.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_inputs.md b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_inputs.md new file mode 100644 index 00000000..7153e96e --- /dev/null +++ b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_inputs.md @@ -0,0 +1,118 @@ +# Elmhurst RdSAP inputs — UPRN 10093116543 (cert 8358-7436-5620-6889-0906, SAP-Schema-17.1) + +**Lodged SAP:** 82 **Our engine:** 81 (continuous 81.30) ← compare Elmhurst against the engine +**Property:** 18 Woodfield Park Road, EMSWORTH PO10 8BG · semi-detached house · 2017 build · mains-gas combi + +**Known divergences (flag, don't tune):** +- **Age band letter:** engine `construction_age_band = 'M'`, but construction year is **2017** → in Elmhurst pick the on-screen band **L (2012–2022)**, NOT M (M = 2023 onwards in the live RdSAP-10 tool). Year drives the default U-values. +- **Walls/roof/floor U-values:** cert lodges no measured U (`wall_u_value`/`roof_u_value`/`floor_u_value` all None) → accept Elmhurst's natural RdSAP age-band U for band L. Engine uses its own age-band proxies; small residual expected. +- **Windows:** synthesised from glazed-area band × TFA (not real geometry) → enter as ONE combined window. Per-window orientations are spread (mostly E, some S/W); a single combined orientation will move solar gains slightly — cosmetic. + +## Property Description +| Elmhurst field | Value | Notes (SAP code / EES path) | +|---|---|---| +| Property Type | House | `dwelling_type` = "Semi-detached house" | +| Built form | Semi-detached | party wall present (1 party wall, 4.075 m/floor) | +| Age band (main) | **L (2012–2022)** | construction_year 2017; engine letter 'M' is wrong for the live tool — see divergence | +| Number of storeys | 2 | from floor dimensions (2 floors) | +| Habitable rooms | 3 | `habitable_rooms_count` | +| Extensions | 0 | `extensions_count` = 0 → clear all extension sub-tabs | + +## Dimensions +| Elmhurst field | Value | Notes | +|---|---|---| +| Ground floor area | 46.68 m² | floor dim[0] `total_floor_area_m2` | +| First floor area | 36.70 m² | floor dim[1] `total_floor_area_m2` | +| Total floor area | 83.0 m² (engine TFA 83.38) | lodged `total_floor_area` 83; engine sums floor dims = 83.38 | +| Room height (each floor) | 2.6 m | `room_height_m` | +| Heat-loss perimeter (each floor) | 28.025 m | `heat_loss_perimeter_m` | +| Party wall length (each floor) | 4.075 m | `party_wall_length_m` | + +## Walls +| Elmhurst field | Value | Notes (SAP code / EES path) | +|---|---|---| +| Construction | Cavity | main wall `wall_type` 2, area 145.73 m²; engine `wall_construction` 4 | +| Insulation | As built / age-band default (`wall_insulation_type` 0) | no measured U → accept band-L RdSAP U | +| Wall area | 145.73 m² (+ 21.19 m² second wall type) | `total_wall_area` | +| Dry-lined | (leave default) | `wall_dry_lined` None | +| **Party wall** | Present — band-L default (cavity) | `party_walls_w_per_k` = 5.2975 (≠0 → party wall exists); `party_wall_construction` None → accept default. **Do not set to "none".** | + +## Roofs +| Elmhurst field | Value | Notes | +|---|---|---| +| Roof type | Pitched (`roof_type` 2) | three roof records, total ≈ 66 m² (5+33+28) | +| Insulation | Age-band default | `roof_u_value` None → accept band-L RdSAP U | + +## Floors +| Elmhurst field | Value | Notes | +|---|---|---| +| Ground floor | `floor_type` 2, 46.68 m² | engine `floor_w_per_k` 5.1348 | +| First floor | `floor_type` 3, 36.70 m² (intermediate — not heat-loss) | `is_exposed_floor` False | +| Insulation / U | Age-band default | `floor_u_value` None | + +## Openings — Windows +| Elmhurst field | Value | Notes | +|---|---|---| +| Entry mode | ONE combined window | synthesised, not real geometry — use the combined-window flow | +| Total glazed area | ~24.0 m² (engine `windows_w_per_k` 31.82) | sum of 10 synthesised window areas | +| Glazing | Double glazed, post-2002 band (U 1.4, g 0.72) | `glazing_type` 4, `multiple_glazed_percentage` 100; `WindowTransmissionDetails` U=1.4 / g=0.72 | +| Frame factor | 0.7 | `frame_factor` | +| Orientation | East (dominant) | per-window mostly orientation 3=E, some S/W — combined ⇒ solar-gain divergence is cosmetic | + +## Openings — Doors +| Elmhurst field | Value | Notes | +|---|---|---| +| Door count | 1 insulated | `door_count` 1, `insulated_door_count` 1 | +| Door U-value | 1.6 | `insulated_door_u_value` 1.6 (engine `doors_w_per_k` 2.96 ⇒ ~1.85 m²) | + +## Ventilation & Lighting +| Elmhurst field | Value | Notes | +|---|---|---| +| Ventilation type | Natural with intermittent extract fans | no MVHR/MEV (`mechanical_ventilation` None) | +| Extract fans | 3 | `extract_fans_count` 3 | +| Open flues | 0 | `open_flues_count` 0; `flueless_gas_fires_count` 0 | +| Sheltered sides | 2 | `sheltered_sides` 2 | +| **Air Pressure Test** | **Blower Door**, result **4.94** | `air_permeability_ap50` 4.94, `pressure_test` '1' (done). Elmhurst treats as AP50 ⇒ `(18)=AP50/20+(8)`. **Enter a certificate number** (Recommendations gate requires it). | +| Lighting | 100% low-energy | `low_energy_fixed_lighting_outlets_percentage` 100 (10/10 bulbs low-energy) | + +## Space Heating — Main Heating 1 +| Elmhurst field | Value | Notes | +|---|---|---| +| Fuel | Mains gas | `main_fuel_type` 1 | +| System | Boiler + radiators, condensing | `heat_emitter_type` 1 (radiators); engine efficiency 88.5% | +| Boiler (PCDF) | index **17644** | `main_heating_index_number` 17644, `main_heating_data_source` 1 → search PCDF by this index (🔸 dialog) | +| Flue | Fan-assisted / balanced | `boiler_flue_type` 2, `fan_flue_present` True | +| Controls | Programmer + room stat + TRVs | `main_heating_control` 2110 (control_type 3) | +| Central heating pump | In heated space, age band 2 | `central_heating_pump_age` 2, `is_central_heating_pump_in_heated_space` true | +| Secondary heating | **None** | no secondary system lodged (engine secondary fraction 0) | + +## Water Heating +| Elmhurst field | Value | Notes | +|---|---|---| +| Water heating | From main system (combi) | `water_heating_code` 901 → Elmhurst "Boiler Circulator"; `water_heating_fuel` 1 = gas | +| Hot water cylinder | **None** | `has_hot_water_cylinder` False → combi, instantaneous DHW. Clear cylinder size/insulation. | +| Solar water heating | No | `solar_water_heating` False | +| WWHRS | No | `instantaneous_wwhrs` index1/2 None (ADR-0028: not a device) | +| FGHRS | No | `has_fghrs` False — omit on both sides | + +## New Technologies +| Elmhurst field | Value | Notes | +|---|---|---| +| PV / Wind / Hydro | None | `photovoltaic_array`/`hydro` None | +| Special features | None | — | + +## Fields to clear in Elmhurst (do NOT map) +| Elmhurst field | Set to | Why absent | +|---|---|---| +| Property Description · 1st–4th Extension age band | (blank) | `extensions_count` = 0 | +| Property Description · Room-in-Roof age band | (blank) | no room-in-roof (`sap_room_in_roof` None) | +| Dimensions · Room(s) in Roof area | (blank) | ditto — leave empty, not 0 | +| Dimensions · 1st–4th Ext. sub-tabs | 0 / blank | single building part | +| Conservatory | none | `has_conservatory` None / not lodged | +| Openings · surplus window rows | delete | one combined window only | +| Space Heating · Main Heating 2 | none | single main system, fraction 1 | +| Space Heating · Secondary heating | none | no secondary lodged | +| Water Heating · cylinder size / insulation | blank | combi, no cylinder | +| Water Heating · Solar / WWHRS / FGHRS | none | none lodged | +| New Tech · PV / Wind / Hydro / Special features | none | none lodged | +| Walls · Party wall | **keep present (cavity)** | `party_walls_w_per_k` ≠ 0 — this is NOT a clear; semi-detached | diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_summary.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_summary.pdf new file mode 100644 index 00000000..43a7cb98 Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_summary.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_worksheet.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_worksheet.pdf new file mode 100644 index 00000000..3de2ee71 Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/elmhurst_worksheet.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/epc.json b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/epc.json new file mode 100644 index 00000000..858e9944 --- /dev/null +++ b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116543/epc.json @@ -0,0 +1,470 @@ +{ + "uprn": 10093116543, + "roofs": [ + { + "description": "Average thermal transmittance 0.15 W/m\u00b2K", + "energy_efficiency_rating": 4, + "environmental_efficiency_rating": 4 + } + ], + "walls": [ + { + "description": "Average thermal transmittance 0.19 W/m\u00b2K", + "energy_efficiency_rating": 5, + "environmental_efficiency_rating": 5 + } + ], + "floors": [ + { + "description": "Average thermal transmittance 0.11 W/m\u00b2K", + "energy_efficiency_rating": 5, + "environmental_efficiency_rating": 5 + } + ], + "status": "entered", + "tenure": "ND", + "windows": { + "description": "High performance glazing", + "energy_efficiency_rating": 5, + "environmental_efficiency_rating": 5 + }, + "lighting": { + "description": "Low energy lighting in all fixed outlets", + "energy_efficiency_rating": 5, + "environmental_efficiency_rating": 5 + }, + "postcode": "PO10 8BG", + "data_type": 2, + "hot_water": { + "description": "From main system, flue gas heat recovery", + "energy_efficiency_rating": 5, + "environmental_efficiency_rating": 5 + }, + "post_town": "EMSWORTH", + "built_form": 2, + "created_at": "2018-06-04 10:56:49", + "living_area": 31.38, + "orientation": 0, + "region_code": 16, + "report_type": 3, + "sap_heating": { + "thermal_store": 1, + "water_fuel_type": 1, + "water_heating_code": 901, + "main_heating_details": [ + { + "has_fghrs": "true", + "main_fuel_type": 1, + "heat_emitter_type": 1, + "fghrs_index_number": 60031, + "emitter_temperature": 1, + "is_flue_fan_present": "true", + "main_heating_number": 1, + "main_heating_control": 2110, + "is_interlocked_system": "true", + "main_heating_category": 2, + "main_heating_fraction": 1, + "main_heating_flue_type": 2, + "central_heating_pump_age": 2, + "main_heating_data_source": 1, + "main_heating_index_number": 17644, + "has_separate_delayed_start": "true", + "load_or_weather_compensation": 0, + "is_central_heating_pump_in_heated_space": "true" + } + ], + "has_hot_water_cylinder": "false", + "has_fixed_air_conditioning": "false", + "secondary_heating_category": 1 + }, + "sap_version": 9.92, + "schema_type": "SAP-Schema-17.1", + "uprn_source": "Energy Assessor", + "country_code": "ENG", + "main_heating": [ + { + "description": "Boiler and radiators, mains gas", + "energy_efficiency_rating": 4, + "environmental_efficiency_rating": 4 + } + ], + "air_tightness": { + "description": "Air permeability 4.9 m\u00b3/h.m\u00b2 (as tested)", + "energy_efficiency_rating": 4, + "environmental_efficiency_rating": 4 + }, + "dwelling_type": "Semi-detached house", + "language_code": 1, + "property_type": 0, + "address_line_1": "18, Woodfield Park Road", + "assessment_date": "2018-06-01", + "assessment_type": "SAP", + "completion_date": "2018-06-04", + "inspection_date": "2018-06-01", + "sap_ventilation": { + "psv_count": 0, + "pressure_test": 1, + "air_permeability": 4.94, + "open_flues_count": 0, + "ventilation_type": 1, + "extract_fans_count": 3, + "open_fireplaces_count": 0, + "sheltered_sides_count": 2, + "flueless_gas_fires_count": 0 + }, + "design_water_use": 1, + "sap_data_version": 9.92, + "total_floor_area": 83, + "transaction_type": 6, + "conservatory_type": 1, + "registration_date": "2018-06-04", + "sap_energy_source": { + "electricity_tariff": 1, + "wind_turbines_count": 0, + "wind_turbine_terrain_type": 2, + "fixed_lighting_outlets_count": 10, + "low_energy_fixed_lighting_outlets_count": 10, + "low_energy_fixed_lighting_outlets_percentage": 100 + }, + "sap_opening_types": [ + { + "name": 1, + "type": 4, + "u_value": 1.4, + "data_source": 2, + "frame_factor": 0.7, + "glazing_type": 4, + "solar_transmittance": 0.72 + }, + { + "name": 5, + "type": 1, + "u_value": 1.6, + "data_source": 2, + "glazing_type": 1 + } + ], + "secondary_heating": { + "description": "None", + "energy_efficiency_rating": 0, + "environmental_efficiency_rating": 0 + }, + "sap_building_parts": [ + { + "sap_roofs": [ + { + "name": "Roof 3", + "u_value": 0.244, + "roof_type": 2, + "description": "Flat Dormer", + "total_roof_area": 5 + }, + { + "name": "Roof 2", + "u_value": 0.132, + "roof_type": 2, + "description": "Flat main", + "total_roof_area": 33 + }, + { + "name": "Roof 1", + "u_value": 0.156, + "roof_type": 2, + "description": "Roof 1", + "total_roof_area": 28 + } + ], + "sap_walls": [ + { + "name": "Wall 1", + "u_value": 0.187, + "wall_type": 2, + "description": "External", + "total_wall_area": 145.73, + "is_curtain_walling": "false" + }, + { + "name": "Wall 2", + "u_value": 0, + "wall_type": 4, + "description": "To other house", + "total_wall_area": 21.19 + } + ], + "identifier": "Main Dwelling", + "overshading": 2, + "sap_openings": [ + { + "name": 1, + "type": 1, + "width": 1.8, + "height": 2.2, + "location": "Wall 1", + "orientation": 7 + }, + { + "name": 2, + "type": 1, + "width": 0.9, + "height": 1, + "location": "Wall 1", + "orientation": 7 + }, + { + "name": 3, + "type": 1, + "width": 0.9, + "height": 2.5, + "location": "Wall 1", + "orientation": 5 + }, + { + "name": 5, + "type": 5, + "width": 1, + "height": 2.5, + "location": "Wall 1", + "orientation": 0 + }, + { + "name": 6, + "type": 1, + "width": 0.9, + "height": 2.5, + "location": "Wall 1", + "orientation": 3 + }, + { + "name": 7, + "type": 1, + "width": 0.9, + "height": 2.5, + "location": "Wall 1", + "orientation": 3 + }, + { + "name": 8, + "type": 1, + "width": 0.9, + "height": 2.5, + "location": "Wall 1", + "orientation": 3 + }, + { + "name": 9, + "type": 1, + "width": 0.9, + "height": 1.5, + "location": "Wall 1", + "orientation": 3 + }, + { + "name": 10, + "type": 1, + "width": 2.3, + "height": 1.5, + "location": "Wall 1", + "orientation": 3 + }, + { + "name": 11, + "type": 1, + "width": 2.9, + "height": 1.5, + "location": "Wall 1", + "orientation": 3 + }, + { + "name": 12, + "type": 1, + "width": 0.9, + "height": 1.1, + "location": "Wall 1", + "orientation": 7 + } + ], + "construction_year": 2017, + "sap_thermal_bridges": { + "thermal_bridges": [ + { + "length": 14.3, + "psi_value": 0.3, + "psi_value_source": 2, + "thermal_bridge_type": "E2" + }, + { + "length": 13.3, + "psi_value": 0.04, + "psi_value_source": 2, + "thermal_bridge_type": "E3" + }, + { + "length": 42.6, + "psi_value": 0.05, + "psi_value_source": 2, + "thermal_bridge_type": "E4" + }, + { + "length": 28, + "psi_value": 0.16, + "psi_value_source": 2, + "thermal_bridge_type": "E5" + }, + { + "length": 28.05, + "psi_value": 0.14, + "psi_value_source": 4, + "thermal_bridge_type": "E7" + }, + { + "length": 28.05, + "psi_value": 0.08, + "psi_value_source": 4, + "thermal_bridge_type": "E14" + }, + { + "length": 10.4, + "psi_value": 0.09, + "psi_value_source": 2, + "thermal_bridge_type": "E16" + }, + { + "length": 10.4, + "psi_value": -0.09, + "psi_value_source": 2, + "thermal_bridge_type": "E17" + }, + { + "length": 4.9, + "psi_value": 0.16, + "psi_value_source": 4, + "thermal_bridge_type": "P1" + }, + { + "length": 4.9, + "psi_value": 0, + "psi_value_source": 4, + "thermal_bridge_type": "P3" + }, + { + "length": 4.9, + "psi_value": 0.24, + "psi_value_source": 4, + "thermal_bridge_type": "P4" + } + ], + "thermal_bridge_code": 5 + }, + "building_part_number": 1, + "sap_floor_dimensions": [ + { + "storey": 0, + "u_value": 0.11, + "floor_type": 2, + "description": "Ground floor", + "storey_height": 2.6, + "heat_loss_area": 46.68, + "total_floor_area": 46.68 + }, + { + "storey": 1, + "u_value": 0, + "floor_type": 3, + "storey_height": 2.6, + "heat_loss_area": 0, + "total_floor_area": 36.7 + } + ], + "thermal_mass_parameter": 250 + } + ], + "heating_cost_current": { + "value": 240, + "currency": "GBP" + }, + "co2_emissions_current": 1.4, + "energy_rating_average": 60, + "energy_rating_current": 82, + "lighting_cost_current": { + "value": 57, + "currency": "GBP" + }, + "main_heating_controls": [ + { + "description": "Time and temperature zone control", + "energy_efficiency_rating": 5, + "environmental_efficiency_rating": 5 + } + ], + "has_hot_water_cylinder": "false", + "heating_cost_potential": { + "value": 240, + "currency": "GBP" + }, + "hot_water_cost_current": { + "value": 70, + "currency": "GBP" + }, + "suggested_improvements": [ + { + "sequence": 1, + "typical_saving": { + "value": 28, + "currency": "GBP" + }, + "indicative_cost": "\u00a34,000 - \u00a36,000", + "improvement_type": "N", + "improvement_details": { + "improvement_number": 19 + }, + "improvement_category": 5, + "energy_performance_rating": 83, + "environmental_impact_rating": 85 + }, + { + "sequence": 2, + "typical_saving": { + "value": 327, + "currency": "GBP" + }, + "indicative_cost": "\u00a35,000 - \u00a38,000", + "improvement_type": "U", + "improvement_details": { + "improvement_number": 34 + }, + "improvement_category": 5, + "energy_performance_rating": 94, + "environmental_impact_rating": 95 + } + ], + "co2_emissions_potential": 0.1, + "energy_rating_potential": 94, + "lighting_cost_potential": { + "value": 57, + "currency": "GBP" + }, + "schema_version_original": "LIG-17.0", + "hot_water_cost_potential": { + "value": 41, + "currency": "GBP" + }, + "is_in_smoke_control_area": "unknown", + "renewable_heat_incentive": { + "rhi_new_dwelling": { + "space_heating": 3152, + "water_heating": 1780 + } + }, + "seller_commission_report": "Y", + "energy_consumption_current": 93, + "has_fixed_air_conditioning": "false", + "multiple_glazed_percentage": 100, + "calculation_software_version": 6.2, + "energy_consumption_potential": 6, + "environmental_impact_current": 84, + "current_energy_efficiency_band": "B", + "environmental_impact_potential": 95, + "has_heated_separate_conservatory": "false", + "potential_energy_efficiency_band": "A", + "co2_emissions_current_per_floor_area": 16 +} \ No newline at end of file diff --git a/datatypes/epc/domain/epc_property_data.py b/datatypes/epc/domain/epc_property_data.py index a3fd091b..96b325bf 100644 --- a/datatypes/epc/domain/epc_property_data.py +++ b/datatypes/epc/domain/epc_property_data.py @@ -192,6 +192,12 @@ class SapVentilation: has_draught_lobby: Optional[bool] = ( None # (13) gate (overrides .draught_lobby for §2 cascade) ) + # SAP 10.2 §2 (17) — air permeability at 50 Pa from a Blower Door + # pressure test (the standard q50 result lodged on full-SAP certs), + # m³/h per m² of envelope area. When present the cascade routes (18) + # via `(18) = AP50 / 20 + (8)` (matches Elmhurst worksheet lines + # 17/18). Distinct from `air_permeability_ap4_m3_h_m2` below. + air_permeability_ap50_m3_h_m2: Optional[float] = None # SAP 10.2 §2 (17a) — air permeability at 4 Pa from the low-pressure # Pulse pressure test, m³/h per m² of envelope area. When present the # cascade routes (18) via the AP4 formula `0.263 × AP4^0.924 + (8)`. diff --git a/datatypes/epc/domain/mapper.py b/datatypes/epc/domain/mapper.py index 0ba34d7a..96824921 100644 --- a/datatypes/epc/domain/mapper.py +++ b/datatypes/epc/domain/mapper.py @@ -2546,9 +2546,10 @@ _SAP_LIVING_AREA_FRACTION_BY_ROOMS: Final[Dict[int, float]] = { def _sap_17_1_ventilation(schema: SapSchema17_1) -> SapVentilation: """D5-vent: map full-SAP `sap_ventilation` onto the domain `SapVentilation`. - The measured `air_permeability` feeds the engine's AP4 path directly (vs the - RdSAP age-band default); `ventilation_type` → MechanicalVentilationKind name - (unknown code fails loud).""" + The measured `air_permeability` is a q50 Blower-Door result, so it feeds the + engine's **AP50** path (`(18) = AP50/20 + (8)`, per Elmhurst worksheet lines + 17/18) — NOT the AP4/Pulse formula; `ventilation_type` → + MechanicalVentilationKind name (unknown code fails loud).""" sv = schema.sap_ventilation mv_kind: Optional[str] = None if sv.ventilation_type is not None: @@ -2556,7 +2557,7 @@ def _sap_17_1_ventilation(schema: SapSchema17_1) -> SapVentilation: raise UnmappedApiCode("ventilation_type", sv.ventilation_type) mv_kind = _SAP_VENTILATION_TYPE_TO_MV_KIND[sv.ventilation_type] return SapVentilation( - air_permeability_ap4_m3_h_m2=sv.air_permeability, + air_permeability_ap50_m3_h_m2=sv.air_permeability, mechanical_ventilation_kind=mv_kind, sheltered_sides=sv.sheltered_sides_count, pressure_test=str(sv.pressure_test) if sv.pressure_test is not None else None, diff --git a/domain/sap10_calculator/rdsap/cert_to_inputs.py b/domain/sap10_calculator/rdsap/cert_to_inputs.py index d60daefd..f0ae0d06 100644 --- a/domain/sap10_calculator/rdsap/cert_to_inputs.py +++ b/domain/sap10_calculator/rdsap/cert_to_inputs.py @@ -4966,9 +4966,11 @@ def ventilation_from_cert( if sv is not None and sv.suspended_timber_floor_sealed is not None else spec_sealed ) - # SAP 10.2 §2 (17a) — AP4 pressure-test reading routes to the - # cascade's `(18) = 0.263 × AP4^0.924 + (8)` formula; absent value - # falls through to the components-based (16) ach. + # SAP 10.2 §2 (17) — q50 Blower-Door reading routes to `(18) = AP50/20 + # + (8)` (preferred over AP4); (17a) — AP4/Pulse reading routes to + # `(18) = 0.263 × AP4^0.924 + (8)`. Absent values fall through to the + # components-based (16) ach. + ap50 = sv.air_permeability_ap50_m3_h_m2 if sv is not None else None ap4 = sv.air_permeability_ap4_m3_h_m2 if sv is not None else None # SAP 10.2 §2 (23a)/(24a..d) — MV kind dispatch chooses the (25)m # effective-ach formula. The Elmhurst mapper translates the lodged @@ -5006,6 +5008,7 @@ def ventilation_from_cert( has_draught_lobby=_has_draught_lobby(epc, sv), window_pct_draught_proofed=float(epc.percent_draughtproofed or 0), sheltered_sides=int(sv.sheltered_sides) if sv is not None and sv.sheltered_sides is not None else 2, + air_permeability_ap50=ap50, air_permeability_ap4=ap4, mv_kind=mv_kind, mv_system_ach=mv_system_ach, diff --git a/scripts/hyde/elmhurst_README.md b/scripts/hyde/elmhurst_README.md new file mode 100644 index 00000000..caa10ce7 --- /dev/null +++ b/scripts/hyde/elmhurst_README.md @@ -0,0 +1,71 @@ +# Elmhurst RdSAP entry-tool automation (POC) + +Automates most of the one manual step in `validate-cert-sap-accuracy`: re-keying +`elmhurst_inputs.md` into Elmhurst's web RdSAP entry tool and exporting the +**Input Summary** + **SAP Worksheets** PDFs (which `compare_epc_paths.py` then +consumes). Built on Playwright (Python). + +Proven end-to-end on UPRN 10092973954: filled most pages automatically, +downloaded both PDFs, and `compare_epc_paths.py` reconciled to **our engine 77 +vs Elmhurst worksheet 78** (engine-on-Elmhurst-inputs 79 — the calculator +reproduces accredited Elmhurst within ~1 SAP on identical inputs). + +## Scripts + +| Script | Does | +|---|---| +| `start_viewer.sh` | Xvfb→x11vnc→noVNC desktop on **port 6080** so you can SEE/click the headed browser (`DISPLAY=:99`). `bash scripts/hyde/start_viewer.sh` | +| `elmhurst_session.py` | `login` / `open` / `status` — persistent login (MFA by hand once; session in `.elmhurst-session/`, gitignored) | +| `elmhurst_explore.py` | dump a page's DOM (field ids, options, autopostback) or `--all` sections — how specs are built | +| `elmhurst_fill.py` | `--page [--commit] [--commit-mode saveclose\|next]` — fill/clear a page from its `PageSpec` | +| `elmhurst_download.py` | downloads Input Summary + SAP Worksheets → the cert's corpus dir. **Never clicks Submit** (code-enforced) | + +Typical run (browser appears on the noVNC desktop at port 6080): +```bash +bash scripts/hyde/start_viewer.sh +DISPLAY=:99 python scripts/hyde/elmhurst_session.py login --url https://members.elmhurstenergy.co.uk/ +DISPLAY=:99 python scripts/hyde/elmhurst_fill.py --page property_description --commit +DISPLAY=:99 python scripts/hyde/elmhurst_download.py +``` + +## Hard-won mechanics (ASP.NET WebForms) + +- Enter via the Guid URL (`…online…/WebFormAddress.aspx?Guid=…`); section nav is + full-form `__doPostBack` to a Guid-less subdomain — use `expect_navigation`. +- **Almost every field AutoPostBacks** (whole-page reload): set one field, wait, + re-locate the next. A 600 ms settle after each interaction stops flake. +- **Never re-click the active tab** (double-postback misbehaves) — `goto_section` + is current-page-aware. +- **Navigating away saves**; **Save & Close commits to the DATABASE** (visible to + other sessions). Next > only saves the in-progress session. +- Fields **auto-disable** when an upstream choice removes them (Room-in-Roof once + no room-in-roof; cylinder once combi) — skip them, don't fight them. +- Button ids vary per page → match by id suffix (`[id$='_ButtonSaveClose']`). +- Setup (done in container): `python -m playwright install chromium` + + `sudo python -m playwright install-deps chromium`. + +## What's automated vs manual + +**Automated** (in `PAGES` + special actions): Property Description, Dimensions, +Flats (position/floor/corridor), Walls (main + clear alt-wall), Roofs, Floors, +Space Heating (**boiler** via the cascade dialog → BGW combi, flue, secondary), +Water Heating (code; cylinder auto-clears with the combi), New Tech/Conservatory +(none) — plus the consolidated **clears** from the markdown. + +The **boiler cascade dialog** is driven by `select_boiler_combi()`: open the +Main-Heating-code modal, set the leaf dropdown to *BGW Post 98 Combi condens.*, +click OK. The generic combi (SAP 104) moves SAP by ~0 vs the cert's exact PCDB +model, so it's accurate enough. + +**Manual (🔸):** +- **Exact PCDB boiler model** (e.g. 17929) — its search field is *disabled* + (`aspNetDisabled`) in this UI state; the cascade's generic combi is the + automatable substitute (negligible SAP impact). +- **Control code 2110** and the **MV unit** — same modal-dialog pattern; can be + automated the same way as the boiler when wanted (open dialog → select → OK). +All 🔸 fields are flagged in `elmhurst_inputs.md`. + +## Adding a field/page +1. `elmhurst_explore.py _Link>` to dump ids/options. +2. Add a `Field(...)` (or new `PageSpec`) in `elmhurst_fill.py`. +3. `--page ` (dry-run, screenshots to `elmhurst_dom/fill_.png`), verify, then `--commit`. diff --git a/scripts/hyde/elmhurst_dom/address.json b/scripts/hyde/elmhurst_dom/address.json new file mode 100644 index 00000000..273efcaa --- /dev/null +++ b/scripts/hyde/elmhurst_dom/address.json @@ -0,0 +1,583 @@ +{ + "url": "https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105", + "title": "Elmhurst - Energy Report Address", + "controls": [ + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxRefNo", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxRefNo", + "label": "Reference", + "value": "001431", + "disabled": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxPRRN", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxPRRN", + "label": "PRRN", + "value": "17482451", + "disabled": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxMyReference", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxMyReference", + "label": "", + "value": "Khalim-test", + "disabled": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListRegsRegion", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListRegsRegion", + "label": "Regs Region", + "value": "England", + "disabled": true, + "options": [ + { + "value": "Scotland", + "text": "Scotland", + "selected": false + }, + { + "value": "Northern Ireland", + "text": "Northern Ireland", + "selected": false + }, + { + "value": "England", + "text": "England", + "selected": true + }, + { + "value": "Wales", + "text": "Wales", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListRegion", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListRegion", + "label": "SAP Region", + "value": "Thames Valley", + "disabled": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Thames Valley", + "text": "Thames Valley", + "selected": true + }, + { + "value": "South East England", + "text": "South East England", + "selected": false + }, + { + "value": "Southern England", + "text": "Southern England", + "selected": false + }, + { + "value": "South West England", + "text": "South West England", + "selected": false + }, + { + "value": "Severn Valley", + "text": "Severn Valley", + "selected": false + }, + { + "value": "Midlands", + "text": "Midlands", + "selected": false + }, + { + "value": "West Pennines", + "text": "West Pennines", + "selected": false + }, + { + "value": "North West England", + "text": "North West England", + "selected": false + }, + { + "value": "South West Scotland", + "text": "South West Scotland", + "selected": false + }, + { + "value": "Borders", + "text": "Borders", + "selected": false + }, + { + "value": "North East England", + "text": "North East England", + "selected": false + }, + { + "value": "East Pennines", + "text": "East Pennines", + "selected": false + }, + { + "value": "East Anglia", + "text": "East Anglia", + "selected": false + }, + { + "value": "Wales", + "text": "Wales", + "selected": false + }, + { + "value": "West Scotland", + "text": "West Scotland", + "selected": false + }, + { + "value": "East Scotland", + "text": "East Scotland", + "selected": false + }, + { + "value": "North East Scotland", + "text": "North East Scotland", + "selected": false + }, + { + "value": "Highland", + "text": "Highland", + "selected": false + }, + { + "value": "Western Isles", + "text": "Western Isles", + "selected": false + }, + { + "value": "Orkney", + "text": "Orkney", + "selected": false + }, + { + "value": "Shetland", + "text": "Shetland", + "selected": false + }, + { + "value": "Northern Ireland", + "text": "Northern Ireland", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxHouseName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxHouseName", + "label": "House Name", + "value": "28 Distillery Wharf", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxHouseNo", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxHouseNo", + "label": "House No", + "value": "28", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxStreet", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxStreet", + "label": "Street", + "value": "Distillery Wharf", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxLocality", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxLocality", + "label": "Locality", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxTown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxTown", + "label": "Town", + "value": "London", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxCounty", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxCounty", + "label": "County", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxPostCode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxPostCode", + "label": "Post code", + "value": "W6 9BF", + "disabled": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_ImageButtonAddressSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$ImageButtonAddressSearch", + "label": "", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelPostcodeSearch_TextBoxPostcode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelPostcodeSearch$TextBoxPostcode", + "label": "Postcode", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelPostcodeSearch_TextBoxHouseNameNumber", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelPostcodeSearch$TextBoxHouseNameNumber", + "label": "House Name & No", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelAdvancedSearch_TextBoxAdvancedAddressLine1", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelAdvancedSearch$TextBoxAdvancedAddressLine1", + "label": "Address Line 1", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelAdvancedSearch_TextBoxAdvancedAddressLine2", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelAdvancedSearch$TextBoxAdvancedAddressLine2", + "label": "Address Line 2", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelAdvancedSearch_TextBoxAdvancedAddressLine3", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelAdvancedSearch$TextBoxAdvancedAddressLine3", + "label": "Address Line 3", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelAdvancedSearch_TextBoxAdvancedTown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelAdvancedSearch$TextBoxAdvancedTown", + "label": "Town", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelAdvancedSearch_TextBoxAdvancedPostcode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelAdvancedSearch$TextBoxAdvancedPostcode", + "label": "Postcode", + "value": "", + "disabled": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelRequestNewUPRN_TextBoxRequestNewAddressLine1", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelRequestNewUPRN$TextBoxRequestNewAddressLine1", + "label": "Address Line 1", + "value": "", + "disabled": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelRequestNewUPRN_TextBoxRequestNewAddressLine2", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelRequestNewUPRN$TextBoxRequestNewAddressLine2", + "label": "Address Line 2", + "value": "", + "disabled": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelRequestNewUPRN_TextBoxRequestNewAddressLine3", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelRequestNewUPRN$TextBoxRequestNewAddressLine3", + "label": "Address Line 3", + "value": "", + "disabled": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelRequestNewUPRN_TextBoxRequestNewTown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelRequestNewUPRN$TextBoxRequestNewTown", + "label": "Town", + "value": "", + "disabled": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelRequestNewUPRN_TextBoxRequestNewPostcode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelRequestNewUPRN$TextBoxRequestNewPostcode", + "label": "Postcode", + "value": "", + "disabled": true + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_AddressSearchDialog_TabContainerMain_TabPanelResults_ListBoxResults", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$AddressSearchDialog$TabContainerMain$TabPanelResults$ListBoxResults", + "label": "", + "value": "", + "disabled": false, + "options": [] + } + ], + "nav": [ + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_ContentPlaceHolderNavigationsTop_LinkButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$MobileCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_ContentPlaceHolderNavigationsTop_MobileCancel" + }, + { + "text": "Clear Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$MobileClearAddress\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentTopControls_ContentPlaceHolderNavigationsTop_MobileClearAddress" + }, + { + "text": "Copy Assessment", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$MobileButtonCopy\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_ContentPlaceHolderNavigationsTop_MobileButtonCopy" + }, + { + "text": "Clear Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$LinkButtonClearAddress\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_LinkButtonClearAddress" + }, + { + "text": "Copy Assessment", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$LinkButtonCopy\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ContentPlaceHolderNavigations_LinkButtonCopy" + }, + { + "text": "< Previous", + "href": null, + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$LinkButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ContentPlaceHolderNavigations_LinkButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatories", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Rooms In Roof", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoomInRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoomInRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/conservatories.json b/scripts/hyde/elmhurst_dom/conservatories.json new file mode 100644 index 00000000..ec9eb26b --- /dev/null +++ b/scripts/hyde/elmhurst_dom/conservatories.json @@ -0,0 +1,187 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormConservatories.aspx", + "title": "Elmhurst - Conservatory", + "controls": [ + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_CheckBoxIsConservatory", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$CheckBoxIsConservatory", + "label": "Is there a conservatory?", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/dimensions.json b/scripts/hyde/elmhurst_dom/dimensions.json new file mode 100644 index 00000000..8034554d --- /dev/null +++ b/scripts/hyde/elmhurst_dom/dimensions.json @@ -0,0 +1,254 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormDimensions.aspx", + "title": "Elmhurst - Dimensions", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_RadioButtonDimensionsType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$RadioButtonDimensionsType", + "label": "Type", + "value": "Internal", + "disabled": true, + "autopostback": false, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Internal", + "text": "Internal", + "selected": true + }, + { + "value": "External", + "text": "External", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlDimensionsMain_TextBoxFloorAreaLowestFloor", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlDimensionsMain$TextBoxFloorAreaLowestFloor", + "label": "", + "value": "59.50", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlDimensionsMain_TextBoxRoomHeightLowestFloor", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlDimensionsMain$TextBoxRoomHeightLowestFloor", + "label": "", + "value": "2.40", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlDimensionsMain_TextBoxWallPerimeterLowestFloor", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlDimensionsMain$TextBoxWallPerimeterLowestFloor", + "label": "", + "value": "13.86", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlDimensionsMain_TextBoxPartyWallLengthLowestFloor", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlDimensionsMain$TextBoxPartyWallLengthLowestFloor", + "label": "", + "value": "13.86", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlDimensionsMain_CheckBoxHeatedBasement", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlDimensionsMain$CheckBoxHeatedBasement", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/flats.json b/scripts/hyde/elmhurst_dom/flats.json new file mode 100644 index 00000000..0e2e4ab4 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/flats.json @@ -0,0 +1,270 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormFlats.aspx", + "title": "Elmhurst - Flats", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_RadioButtonListFlatCoridor", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$RadioButtonListFlatCoridor", + "label": "", + "value": "Unheated corridor", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "None", + "text": "None", + "selected": false + }, + { + "value": "Heated", + "text": "Heated", + "selected": false + }, + { + "value": "Unheated corridor", + "text": "Unheated corridor", + "selected": true + }, + { + "value": "Unheated stairwell", + "text": "Unheated stairwell", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxLengthOfShelteredWall", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxLengthOfShelteredWall", + "label": "", + "value": "5.00", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListPositionOfFlat", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListPositionOfFlat", + "label": "", + "value": "Top Floor", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Ground Floor", + "text": "Ground Floor", + "selected": false + }, + { + "value": "Mid Floor", + "text": "Mid Floor", + "selected": false + }, + { + "value": "Top Floor", + "text": "Top Floor", + "selected": true + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxFloor", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxFloor", + "label": "", + "value": "16", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxStoriesInBlock", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxStoriesInBlock", + "label": "", + "value": "16", + "disabled": false, + "autopostback": true + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/floors.json b/scripts/hyde/elmhurst_dom/floors.json new file mode 100644 index 00000000..903d937d --- /dev/null +++ b/scripts/hyde/elmhurst_dom/floors.json @@ -0,0 +1,298 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormFloors.aspx", + "title": "Elmhurst - Floors", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlFloorsMain_DropDownListLocation", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlFloorsMain$DropDownListLocation", + "label": "Location", + "value": "G Ground floor", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "G Ground floor", + "text": "G Ground floor", + "selected": true + }, + { + "value": "P Above partially heated space", + "text": "P Above partially heated space", + "selected": false + }, + { + "value": "U Above unheated space", + "text": "U Above unheated space", + "selected": false + }, + { + "value": "E To external air", + "text": "E To external air", + "selected": false + }, + { + "value": "A Another dwelling below", + "text": "A Another dwelling below", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlFloorsMain_DropDownListType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlFloorsMain$DropDownListType", + "label": "Type", + "value": "S Solid", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "S Solid", + "text": "S Solid", + "selected": true + }, + { + "value": "T Suspended timber", + "text": "T Suspended timber", + "selected": false + }, + { + "value": "N Suspended, not timber", + "text": "N Suspended, not timber", + "selected": false + }, + { + "value": "U Unknown", + "text": "U Unknown", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlFloorsMain_DropDownListInsulation", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlFloorsMain$DropDownListInsulation", + "label": "Insulation", + "value": "A As built", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "A As built", + "text": "A As built", + "selected": true + }, + { + "value": "R Retro-fitted", + "text": "R Retro-fitted", + "selected": false + }, + { + "value": "U Unknown", + "text": "U Unknown", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlFloorsMain_CheckBoxUValueKnown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlFloorsMain$CheckBoxUValueKnown", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/newtechnologies.json b/scripts/hyde/elmhurst_dom/newtechnologies.json new file mode 100644 index 00000000..4350be33 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/newtechnologies.json @@ -0,0 +1,284 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormNewTechnologies.aspx", + "title": "Elmhurst - New Technologies", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelPhotovoltaicPanel_DropDownListPvPanelData", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelPhotovoltaicPanel$DropDownListPvPanelData", + "label": "Photovoltaic panel", + "value": "None", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "None", + "text": "None", + "selected": true + }, + { + "value": "Panel details", + "text": "Panel details", + "selected": false + }, + { + "value": "% of roof area", + "text": "% of roof area", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelPhotovoltaicPanel_CheckBoxPvExportCapableMeter", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelPhotovoltaicPanel$CheckBoxPvExportCapableMeter", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindTurbine_DropDownListTerrainType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindTurbine$DropDownListTerrainType", + "label": "Terrain Type", + "value": "Urban", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Urban", + "text": "Urban", + "selected": true + }, + { + "value": "Suburban", + "text": "Suburban", + "selected": false + }, + { + "value": "Rural", + "text": "Rural", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindTurbine_CheckBoxWindTurbinePresent", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindTurbine$CheckBoxWindTurbinePresent", + "label": "Wind turbine present?", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelSmallScaleHydro_TextBoxElectricityGenerated", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelSmallScaleHydro$TextBoxElectricityGenerated", + "label": "", + "value": "0.00", + "disabled": false, + "autopostback": true + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Add new battery storage", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelPhotovoltaicPanel$ButtonAddBatteryData','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelPhotovoltaicPanel_ButtonAddBatteryData" + }, + { + "text": "Add new", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelSpecialFeatures$ButtonAddPanelData_SF','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelSpecialFeatures_ButtonAddPanelData_SF" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/openings.json b/scripts/hyde/elmhurst_dom/openings.json new file mode 100644 index 00000000..edc9c735 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/openings.json @@ -0,0 +1,682 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormOpenings.aspx", + "title": "Elmhurst - Openings", + "controls": [ + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_DeleteButton_0", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl02$DeleteButton", + "label": "1", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_CopyButton_0", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl02$CopyButton", + "label": "1", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_DeleteButton_1", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl03$DeleteButton", + "label": "2", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_CopyButton_1", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl03$CopyButton", + "label": "2", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_DeleteButton_2", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl04$DeleteButton", + "label": "3", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_CopyButton_2", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl04$CopyButton", + "label": "3", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_DeleteButton_3", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl05$DeleteButton", + "label": "4", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_CopyButton_3", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl05$CopyButton", + "label": "4", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_TextBoxExtWidth", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$TextBoxExtWidth", + "label": "", + "value": "1.44", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_TextBoxExtHeight", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$TextBoxExtHeight", + "label": "", + "value": "1.00", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_TextBoxExtArea", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$TextBoxExtArea", + "label": "", + "value": "1.44", + "disabled": true, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtOpeningType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtOpeningType", + "label": "", + "value": "Window", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "Window", + "text": "Window", + "selected": true + }, + { + "value": "Roof window", + "text": "Roof window", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtGlazing", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtGlazing", + "label": "", + "value": "Double with unknown install date", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Single glazing", + "text": "Single glazing", + "selected": false + }, + { + "value": "Double pre 2002", + "text": "Double pre 2002", + "selected": false + }, + { + "value": "Double between 2002 and 2021", + "text": "Double between 2002 and 2021", + "selected": false + }, + { + "value": "Double post or during 2022", + "text": "Double post or during 2022", + "selected": false + }, + { + "value": "Double with unknown install date", + "text": "Double with unknown install date", + "selected": true + }, + { + "value": "Secondary glazing", + "text": "Secondary glazing", + "selected": false + }, + { + "value": "Triple pre 2002", + "text": "Triple pre 2002", + "selected": false + }, + { + "value": "Triple between 2002 and 2021", + "text": "Triple between 2002 and 2021", + "selected": false + }, + { + "value": "Triple post or during 2022", + "text": "Triple post or during 2022", + "selected": false + }, + { + "value": "Triple with unknown install date", + "text": "Triple with unknown install date", + "selected": false + }, + { + "value": "Single glazing, known data", + "text": "Single glazing, known data", + "selected": false + }, + { + "value": "Double glazing, known data", + "text": "Double glazing, known data", + "selected": false + }, + { + "value": "Triple glazing, known data", + "text": "Triple glazing, known data", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtFrameType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtFrameType", + "label": "", + "value": "PVC", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "PVC", + "text": "PVC", + "selected": true + }, + { + "value": "Wood", + "text": "Wood", + "selected": false + }, + { + "value": "Metal", + "text": "Metal", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtGlazingGap", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtGlazingGap", + "label": "", + "value": "12 mm", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "6 mm", + "text": "6 mm", + "selected": false + }, + { + "value": "12 mm", + "text": "12 mm", + "selected": true + }, + { + "value": "16 mm or more", + "text": "16 mm or more", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtBuildingPartId", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtBuildingPartId", + "label": "", + "value": "Main", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Main", + "text": "Main", + "selected": true + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtLocation", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtLocation", + "label": "", + "value": "External wall", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "External wall", + "text": "External wall", + "selected": true + }, + { + "value": "Alternative wall 1", + "text": "Alternative wall 1", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtOrientation", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtOrientation", + "label": "", + "value": "North", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "North", + "text": "North", + "selected": true + }, + { + "value": "North East", + "text": "North East", + "selected": false + }, + { + "value": "East", + "text": "East", + "selected": false + }, + { + "value": "South East", + "text": "South East", + "selected": false + }, + { + "value": "South", + "text": "South", + "selected": false + }, + { + "value": "South West", + "text": "South West", + "selected": false + }, + { + "value": "West", + "text": "West", + "selected": false + }, + { + "value": "North West", + "text": "North West", + "selected": false + }, + { + "value": "Horizontal", + "text": "Horizontal", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_TextBoxExtUValue", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$TextBoxExtUValue", + "label": "", + "value": "2.80", + "disabled": true, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_TextBoxExtGValue", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$TextBoxExtGValue", + "label": "", + "value": "0.76", + "disabled": true, + "autopostback": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_CheckBoxExtDraughtProofed", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$CheckBoxExtDraughtProofed", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": true + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_DropDownListExtPermanentShutters", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$DropDownListExtPermanentShutters", + "label": "", + "value": "None", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "None", + "text": "None", + "selected": true + }, + { + "value": "Uninsulated", + "text": "Uninsulated", + "selected": false + }, + { + "value": "Insulated", + "text": "Insulated", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelDoorsPanel_TextBoxDoors", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelDoorsPanel$TextBoxDoors", + "label": "", + "value": "2", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelDoorsPanel_TextBoxDoorsInsulated", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelDoorsPanel$TextBoxDoorsInsulated", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelDoorsPanel_TextBoxDraughtProofedDoors", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelDoorsPanel$TextBoxDraughtProofedDoors", + "label": "", + "value": "2", + "disabled": false, + "autopostback": true + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Add new", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$ButtonAddWindow','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_ButtonAddWindow" + }, + { + "text": "Glazing Type", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl01$lnkSortGlazingType\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_lnkSortGlazingType" + }, + { + "text": "Orientation", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl01$lnkSortOrientation\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_lnkSortOrientation" + }, + { + "text": "Building Part", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWindowsPanel$GridViewExtendedWidows$ctl01$lnkSortBuildingPart\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWindowsPanel_GridViewExtendedWidows_lnkSortBuildingPart" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/propertydescription.json b/scripts/hyde/elmhurst_dom/propertydescription.json new file mode 100644 index 00000000..89996d13 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/propertydescription.json @@ -0,0 +1,1068 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormPropertyDescription.aspx", + "title": "Elmhurst - Property Description", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListPropertyType1", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListPropertyType1", + "label": "", + "value": "F Flat", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "H House", + "text": "H House", + "selected": false + }, + { + "value": "B Bungalow", + "text": "B Bungalow", + "selected": false + }, + { + "value": "F Flat", + "text": "F Flat", + "selected": true + }, + { + "value": "M Maisonette", + "text": "M Maisonette", + "selected": false + }, + { + "value": "P Park home", + "text": "P Park home", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxStoreys", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxStoreys", + "label": "Storeys", + "value": "1", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxHabitableRooms", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxHabitableRooms", + "label": "Habitable Rooms", + "value": "3", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxHeatedHabitableRooms", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxHeatedHabitableRooms", + "label": "Heated Habitable Rooms", + "value": "3", + "disabled": false, + "autopostback": true + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListDateBuiltMain", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListDateBuiltMain", + "label": "Main Property", + "value": "L 2012-2022", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": true + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListDateBuiltFirst", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListDateBuiltFirst", + "label": "1st Extension", + "value": "", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListDateBuiltSecond", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListDateBuiltSecond", + "label": "2nd Extension", + "value": "", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListDateBuiltThird", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListDateBuiltThird", + "label": "3rd Extension", + "value": "", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListDateBuiltForth", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListDateBuiltForth", + "label": "4th Extension", + "value": "", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListRoomInRoofMain", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListRoomInRoofMain", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListRoomInRoofFirst", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListRoomInRoofFirst", + "label": "", + "value": "", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListRoomInRoofSecond", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListRoomInRoofSecond", + "label": "", + "value": "", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListRoomInRoofThird", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListRoomInRoofThird", + "label": "", + "value": "", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListRoomInRoofForth", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListRoomInRoofForth", + "label": "", + "value": "", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "A before 1900", + "text": "A before 1900", + "selected": false + }, + { + "value": "B 1900-1929", + "text": "B 1900-1929", + "selected": false + }, + { + "value": "C 1930-1949", + "text": "C 1930-1949", + "selected": false + }, + { + "value": "D 1950-1966", + "text": "D 1950-1966", + "selected": false + }, + { + "value": "E 1967-1975", + "text": "E 1967-1975", + "selected": false + }, + { + "value": "F 1976-1982", + "text": "F 1976-1982", + "selected": false + }, + { + "value": "G 1983-1990", + "text": "G 1983-1990", + "selected": false + }, + { + "value": "H 1991-1995", + "text": "H 1991-1995", + "selected": false + }, + { + "value": "I 1996-2002", + "text": "I 1996-2002", + "selected": false + }, + { + "value": "J 2003-2006", + "text": "J 2003-2006", + "selected": false + }, + { + "value": "K 2007-2011", + "text": "K 2007-2011", + "selected": false + }, + { + "value": "L 2012-2022", + "text": "L 2012-2022", + "selected": false + }, + { + "value": "M 2023 onwards", + "text": "M 2023 onwards", + "selected": false + } + ] + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/propertydetails.json b/scripts/hyde/elmhurst_dom/propertydetails.json new file mode 100644 index 00000000..1e0f5367 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/propertydetails.json @@ -0,0 +1,328 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormPropertyDetails.aspx", + "title": "Elmhurst - Property Details", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListPurpose", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListPurpose", + "label": "Assessment Purpose", + "value": "None of the above", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Retrofit - Pre assessment", + "text": "Retrofit - Pre assessment", + "selected": false + }, + { + "value": "Retrofit - Post assessment", + "text": "Retrofit - Post assessment", + "selected": false + }, + { + "value": "Retrofit - Modelling", + "text": "Retrofit - Modelling", + "selected": false + }, + { + "value": "Energy Modelling (Not Retrofit)", + "text": "Energy Modelling (Not Retrofit)", + "selected": false + }, + { + "value": "None of the above", + "text": "None of the above", + "selected": true + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListTenure", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListTenure", + "label": "Property Tenure", + "value": "Owner-occupied", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "Owner-occupied", + "text": "Owner-occupied", + "selected": true + }, + { + "value": "Rented (social)", + "text": "Rented (social)", + "selected": false + }, + { + "value": "Rented (private)", + "text": "Rented (private)", + "selected": false + }, + { + "value": "Unknown", + "text": "Unknown", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListTransactionType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListTransactionType", + "label": "Transaction type", + "value": "Marketed sale", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "Marketed sale", + "text": "Marketed sale", + "selected": true + }, + { + "value": "Non-marketed sale", + "text": "Non-marketed sale", + "selected": false + }, + { + "value": "Rental", + "text": "Rental", + "selected": false + }, + { + "value": "Stock condition survey", + "text": "Stock condition survey", + "selected": false + }, + { + "value": "Grant scheme", + "text": "Grant scheme", + "selected": false + }, + { + "value": "Non-grant scheme", + "text": "Non-grant scheme", + "selected": false + }, + { + "value": "Re-mortgaging", + "text": "Re-mortgaging", + "selected": false + }, + { + "value": "None of the above", + "text": "None of the above", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxInspectionDate", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxInspectionDate", + "label": "Inspection Date", + "value": "25/06/2025", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_EPCCreationReasonDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$EPCCreationReasonDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$ButtonInspectionDate\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_ButtonInspectionDate" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/roofs.json b/scripts/hyde/elmhurst_dom/roofs.json new file mode 100644 index 00000000..17ff7a11 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/roofs.json @@ -0,0 +1,373 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormRoofs.aspx", + "title": "Elmhurst - Roofs", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlRoofMain_DropDownListType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlRoofMain$DropDownListType", + "label": "Type", + "value": "PA Pitched (slates/tiles), access to loft", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "PA Pitched (slates/tiles), access to loft", + "text": "PA Pitched (slates/tiles), access to loft", + "selected": true + }, + { + "value": "PN Pitched (slates/tiles), no access", + "text": "PN Pitched (slates/tiles), no access", + "selected": false + }, + { + "value": "PS Pitched, sloping ceiling", + "text": "PS Pitched, sloping ceiling", + "selected": false + }, + { + "value": "PT Pitched (thatch)", + "text": "PT Pitched (thatch)", + "selected": false + }, + { + "value": "F Flat", + "text": "F Flat", + "selected": false + }, + { + "value": "A Another dwelling above", + "text": "A Another dwelling above", + "selected": false + }, + { + "value": "NR Non-residential space above", + "text": "NR Non-residential space above", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlRoofMain_DropDownListInsulationAt", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlRoofMain$DropDownListInsulationAt", + "label": "Insulation", + "value": "J Joists", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "N None", + "text": "N None", + "selected": false + }, + { + "value": "J Joists", + "text": "J Joists", + "selected": true + }, + { + "value": "R Rafters", + "text": "R Rafters", + "selected": false + }, + { + "value": "U Unknown", + "text": "U Unknown", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlRoofMain_DropDownListThickness", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlRoofMain$DropDownListThickness", + "label": "Insulation Thickness", + "value": "270 mm", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "12 mm", + "text": "12 mm", + "selected": false + }, + { + "value": "25 mm", + "text": "25 mm", + "selected": false + }, + { + "value": "50 mm", + "text": "50 mm", + "selected": false + }, + { + "value": "75 mm", + "text": "75 mm", + "selected": false + }, + { + "value": "100 mm", + "text": "100 mm", + "selected": false + }, + { + "value": "125 mm", + "text": "125 mm", + "selected": false + }, + { + "value": "150 mm", + "text": "150 mm", + "selected": false + }, + { + "value": "175 mm", + "text": "175 mm", + "selected": false + }, + { + "value": "200 mm", + "text": "200 mm", + "selected": false + }, + { + "value": "225 mm", + "text": "225 mm", + "selected": false + }, + { + "value": "250 mm", + "text": "250 mm", + "selected": false + }, + { + "value": "270 mm", + "text": "270 mm", + "selected": true + }, + { + "value": "300 mm", + "text": "300 mm", + "selected": false + }, + { + "value": "350 mm", + "text": "350 mm", + "selected": false + }, + { + "value": "400+ mm", + "text": "400+ mm", + "selected": false + }, + { + "value": "Unknown", + "text": "Unknown", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_WebUserControlRoofMain_CheckBoxUvalueKnown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$WebUserControlRoofMain$CheckBoxUvalueKnown", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/spaceheating.json b/scripts/hyde/elmhurst_dom/spaceheating.json new file mode 100644 index 00000000..ddeb30af --- /dev/null +++ b/scripts/hyde/elmhurst_dom/spaceheating.json @@ -0,0 +1,1011 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormSpaceHeating.aspx", + "title": "Elmhurst - Space Heating", + "controls": [ + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_TextBoxPCDFBoilerReference", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$TextBoxPCDFBoilerReference", + "label": "PCDF boiler Reference", + "value": "0", + "disabled": true, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_TextBoxMainHeatingCode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$TextBoxMainHeatingCode", + "label": "Main Heating EES Code", + "value": "BGB", + "disabled": false, + "autopostback": true + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_RadioButtonListHeatingPumpAge", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$RadioButtonListHeatingPumpAge", + "label": "Heating Pump Age", + "value": "2013 or later", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "2012 or earlier", + "text": "2012 or earlier", + "selected": false + }, + { + "value": "2013 or later", + "text": "2013 or later", + "selected": true + }, + { + "value": "Unknown", + "text": "Unknown", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_RadioButtonListHeatEmitter", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$RadioButtonListHeatEmitter", + "label": "Heat Emitter", + "value": "Radiators", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Underfloor Heating", + "text": "Underfloor Heating", + "selected": false + }, + { + "value": "Radiators", + "text": "Radiators", + "selected": true + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_RadioButtonListFlowTemperature", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$RadioButtonListFlowTemperature", + "label": "Design flow temperature", + "value": "<= 35\u00b0C", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "<= 35\u00b0C", + "text": "<= 35\u00b0C", + "selected": true + }, + { + "value": "36\u00b0 - 45\u00b0C", + "text": "36\u00b0 - 45\u00b0C", + "selected": false + }, + { + "value": "Normal (> 45\u00b0C)", + "text": "Normal (> 45\u00b0C)", + "selected": false + }, + { + "value": "Unknown", + "text": "Unknown", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_RadioButtonListFlueType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$RadioButtonListFlueType", + "label": "Flue Type", + "value": "Open", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Balanced", + "text": "Balanced", + "selected": false + }, + { + "value": "Open", + "text": "Open", + "selected": true + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_RadioButtonListFanAssistedFlue", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$RadioButtonListFanAssistedFlue", + "label": "Fan Assisted Flue", + "value": "Yes", + "disabled": false, + "autopostback": false, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "No", + "text": "No", + "selected": false + }, + { + "value": "Yes", + "text": "Yes", + "selected": true + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_TextBoxPcdfHeatingControls", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$TextBoxPcdfHeatingControls", + "label": "PCDF Heating Controls", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_TextBoxMainHeatingControls", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$TextBoxMainHeatingControls", + "label": "Main Heating Controls EES", + "value": "CBE", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_TextBoxPCDFCompensator", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$TextBoxPCDFCompensator", + "label": "Compensator from PCDF", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_TextBoxPercentageOfHeat", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$TextBoxPercentageOfHeat", + "label": "Percentage of Heat [%]", + "value": "100", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating2_WebUserControlMainHeating2_TextBoxPCDFBoilerReference", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating2$WebUserControlMainHeating2$TextBoxPCDFBoilerReference", + "label": "PCDF boiler Reference", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating2_WebUserControlMainHeating2_TextBoxMainHeatingCode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating2$WebUserControlMainHeating2$TextBoxMainHeatingCode", + "label": "Main Heating EES Code", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating2_WebUserControlMainHeating2_TextBoxPercentageOfHeat", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating2$WebUserControlMainHeating2$TextBoxPercentageOfHeat", + "label": "Percentage of Heat [%]", + "value": "0", + "disabled": true, + "autopostback": true + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelCommunityHeating_WebUserControlCommunityHeating_DropDownListCommunityHeatingType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelCommunityHeating$WebUserControlCommunityHeating$DropDownListCommunityHeatingType", + "label": "Heating Type", + "value": "None", + "disabled": true, + "autopostback": true, + "options": [ + { + "value": "None", + "text": "None", + "selected": true + }, + { + "value": "Space and Water Heating", + "text": "Space and Water Heating", + "selected": false + }, + { + "value": "Space Heating only", + "text": "Space Heating only", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMeters_RadioButtonListElectricityType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMeters$RadioButtonListElectricityType", + "label": "", + "value": "Single", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "Single", + "text": "Single", + "selected": true + }, + { + "value": "Dual", + "text": "Dual", + "selected": false + }, + { + "value": "18 Hour", + "text": "18 Hour", + "selected": false + }, + { + "value": "24 Hour", + "text": "24 Hour", + "selected": false + }, + { + "value": "Unknown", + "text": "Unknown", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMeters_CheckBoxMainGas", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMeters$CheckBoxMainGas", + "label": "Mains gas supply available", + "value": "on", + "disabled": true, + "autopostback": false, + "checked": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMeters_CheckBoxElectricitySmartMeterPresent", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMeters$CheckBoxElectricitySmartMeterPresent", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMeters_CheckBoxGasSmartMeterPresent", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMeters$CheckBoxGasSmartMeterPresent", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListSecondaryHeatingPresent", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListSecondaryHeatingPresent", + "label": "", + "value": "Yes", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "No", + "text": "No", + "selected": false + }, + { + "value": "Yes", + "text": "Yes", + "selected": true + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TextBoxSecondaryHeatingCode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TextBoxSecondaryHeatingCode", + "label": "Secondary Heating EES Code", + "value": "RWM", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxFullSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxFullSearch", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListBoilerType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListBoilerType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListCurrentObsoleteModels", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListCurrentObsoleteModels", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListMainType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListMainType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListMountingPosition", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListMountingPosition", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListFlueType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListFlueType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListFuel", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListFuel", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListCondensing", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListCondensing", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListEfficiencyBands", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListEfficiencyBands", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListFanAssistance", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListFanAssistance", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxManufacturerName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxManufacturerName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxBrandName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxBrandName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxModelName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxModelName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxModelQualifier", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxModelQualifier", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_TextBoxFullSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$TextBoxFullSearch", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_DropDownListType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$DropDownListType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_DropDownListCurrentObsoleteModels", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$DropDownListCurrentObsoleteModels", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_TextBoxManufacturerName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$TextBoxManufacturerName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_TextBoxBrandName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$TextBoxBrandName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_TextBoxModelName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$TextBoxModelName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_TextBoxModelQualifier", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$TextBoxModelQualifier", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_TextBoxFullSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$TextBoxFullSearch", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_DropDownListType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$DropDownListType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_DropDownListCurrentObsoleteModels", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$DropDownListCurrentObsoleteModels", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_TextBoxManufacturerName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$TextBoxManufacturerName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_TextBoxBrandName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$TextBoxBrandName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_TextBoxModelName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$TextBoxModelName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_TextBoxModelQualifier", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$TextBoxModelQualifier", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList1", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList1", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList2", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList2", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList3", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList3", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList4", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList4", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList5", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList5", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList6", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList6", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$ButtonMainHeatingCode','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_ButtonMainHeatingCode" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$ButtonPcdfHeatingControls','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_ButtonPcdfHeatingControls" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$ButtonMainHeatingControls','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_ButtonMainHeatingControls" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating1$WebUserControlMainHeating1$ButtonPCDFCompensator','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating1_WebUserControlMainHeating1_ButtonPCDFCompensator" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating2$WebUserControlMainHeating2$ButtonBoilerReference','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating2_WebUserControlMainHeating2_ButtonBoilerReference" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMainHeating2$WebUserControlMainHeating2$ButtonMainHeatingCode','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMainHeating2_WebUserControlMainHeating2_ButtonMainHeatingCode" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$ButtonSecondaryHeatingCode','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_ButtonSecondaryHeatingCode" + }, + { + "text": "Boiler search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$HyperLinkActionBoilerSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_HyperLinkActionBoilerSearch" + }, + { + "text": "Advanced boiler search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$HyperLinkActionAdvancedSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_HyperLinkActionAdvancedSearch" + }, + { + "text": "Community heating networks", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$HyperLinkActionCommunityHeatingNetworks\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_HyperLinkActionCommunityHeatingNetworks" + }, + { + "text": "Heating controls search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectHeatingControlsDialog$HyperLinkActionSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectHeatingControlsDialog_HyperLinkActionSearch" + }, + { + "text": "Storage heaters search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectStorageHeaterDialog$HyperLinkActionSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectStorageHeaterDialog_HyperLinkActionSearch" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/summary.json b/scripts/hyde/elmhurst_dom/summary.json new file mode 100644 index 00000000..db1a2429 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/summary.json @@ -0,0 +1,231 @@ +{ + "url": "https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormSummary.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105", + "title": "Elmhurst - Energy Report Summary", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_DropDownListOperationDepartments", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$DropDownListOperationDepartments", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": true + }, + { + "value": "56203", + "text": "Sciana Systems Ltd (Office Department)", + "selected": false + }, + { + "value": "59085", + "text": "Osmosis ACD Ltd (Operations Department)", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_ExceptionDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$ExceptionDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious','')", + "onclick": "waitForAction();", + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": null, + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonClose','')", + "onclick": "waitForAction();", + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonClose" + }, + { + "text": "Cancel", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$LinkButtonCancel','')", + "onclick": "this.disabled = true;", + "id": "ContentBody_ContentPlaceHolderNavigations_LinkButtonCancel" + }, + { + "text": "Submit", + "href": null, + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_LinkButtonSubmitEPR" + }, + { + "text": "Overview Report", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$LinkButtonPreviewDraftEPR','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_LinkButtonPreviewDraftEPR" + }, + { + "text": "Input Summary", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$LinkButtonSummary','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_LinkButtonSummary" + }, + { + "text": "Evidence", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$LinkButtonEvidence','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_LinkButtonEvidence" + }, + { + "text": "SAP Worksheets", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$ButtonDebugInforPdf','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_ButtonDebugInforPdf" + }, + { + "text": "OK", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$ExceptionDialog$LinkButtonOK','')", + "onclick": "hideDialog($('.ees-exception-dialog')); return false;", + "id": "ContentBody_ContentPlaceHolder1_ExceptionDialog_LinkButtonOK" + }, + { + "text": "Energy Report Address", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionDimensions$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatories", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionConservatories$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionFlats$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionWalls$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionRoofs$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionFloors$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionOpenings$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionRecommendations$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionAddenda$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionResults$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$buttonActionSummary$Link','')", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/ventilationandcooling.json b/scripts/hyde/elmhurst_dom/ventilationandcooling.json new file mode 100644 index 00000000..7a3c3419 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/ventilationandcooling.json @@ -0,0 +1,502 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormVentilationAndCooling.aspx", + "title": "Elmhurst - Ventilation and Cooling", + "controls": [ + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxOpenChimneys", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxOpenChimneys", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxOpenFlues", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxOpenFlues", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxChimneysFluesClosedFire", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxChimneysFluesClosedFire", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxFluesSolidFuelBoiler", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxFluesSolidFuelBoiler", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxFluesOtherHeater", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxFluesOtherHeater", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxBlockedChimneys", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxBlockedChimneys", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxIntermittentFans", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxIntermittentFans", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxPassiveVents", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxPassiveVents", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_TextBoxFluelessGasFires", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$TextBoxFluelessGasFires", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_CheckBoxFixedSpaceCooling", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$CheckBoxFixedSpaceCooling", + "label": "Fixed space cooling", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelVentilationPanel_DropDownListDraughtLobby", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelVentilationPanel$DropDownListDraughtLobby", + "label": "Draught Lobby", + "value": "Unable to determine", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "Present", + "text": "Present", + "selected": false + }, + { + "value": "Not present", + "text": "Not present", + "selected": false + }, + { + "value": "Unable to determine", + "text": "Unable to determine", + "selected": true + } + ] + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMechVent_CheckBoxMechanicalVentilation", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMechVent$CheckBoxMechanicalVentilation", + "label": "Mechanical ventilation", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelAirPressureTest_DropDownListTestMethod", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelAirPressureTest$DropDownListTestMethod", + "label": "Test Method", + "value": "Not available", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "Not available", + "text": "Not available", + "selected": true + }, + { + "value": "Blower Door", + "text": "Blower Door", + "selected": false + }, + { + "value": "Pulse", + "text": "Pulse", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelLighting_TextBoxLightsTotal", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelLighting$TextBoxLightsTotal", + "label": "", + "value": "6", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelLighting_CheckBoxLedAndCflLightsKnown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelLighting$CheckBoxLedAndCflLightsKnown", + "label": "Number of LED and CFL Known", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelLighting_TextBoxLedLightsTotal", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelLighting$TextBoxLedLightsTotal", + "label": "", + "value": "6", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelLighting_TextBoxCflLightsTotal", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelLighting$TextBoxCflLightsTotal", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelLighting_TextBoxLelLightsTotal", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelLighting$TextBoxLelLightsTotal", + "label": "", + "value": "6", + "disabled": true, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelLighting_TextBoxIncandescentLights", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelLighting$TextBoxIncandescentLights", + "label": "", + "value": "0", + "disabled": true, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_TextBoxFullSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$TextBoxFullSearch", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_DropDownListMVType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$DropDownListMVType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_DropDownListCurrentObsoleteModels", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$DropDownListCurrentObsoleteModels", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_TextBoxManufacturerName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$TextBoxManufacturerName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_TextBoxBrandName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$TextBoxBrandName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_TextBoxModelName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$TextBoxModelName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_TextBoxModelQualifier", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$TextBoxModelQualifier", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "MV search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$HyperLinkActionMVSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_HyperLinkActionMVSearch" + }, + { + "text": "Advanced MV search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectMVDialog$HyperLinkActionAdvancedSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectMVDialog_HyperLinkActionAdvancedSearch" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/walls.json b/scripts/hyde/elmhurst_dom/walls.json new file mode 100644 index 00000000..144262a6 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/walls.json @@ -0,0 +1,317 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormWalls.aspx", + "title": "Elmhurst - Walls", + "controls": [ + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_InnerTabContainerMain_TabPanelExternalWallMain_WebUserControlWallMain_DropDownListType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$InnerTabContainerMain$TabPanelExternalWallMain$WebUserControlWallMain$DropDownListType", + "label": "Type", + "value": "TI Timber Frame", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "SG Stone: granite or whinstone", + "text": "SG Stone: granite or whinstone", + "selected": false + }, + { + "value": "SS Stone: sandstone or limestone", + "text": "SS Stone: sandstone or limestone", + "selected": false + }, + { + "value": "SO Solid Brick", + "text": "SO Solid Brick", + "selected": false + }, + { + "value": "CO Cob", + "text": "CO Cob", + "selected": false + }, + { + "value": "CA Cavity", + "text": "CA Cavity", + "selected": false + }, + { + "value": "TI Timber Frame", + "text": "TI Timber Frame", + "selected": true + }, + { + "value": "SY System Build", + "text": "SY System Build", + "selected": false + }, + { + "value": "CW Curtain Wall", + "text": "CW Curtain Wall", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_InnerTabContainerMain_TabPanelExternalWallMain_WebUserControlWallMain_DropDownListInsulation", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$InnerTabContainerMain$TabPanelExternalWallMain$WebUserControlWallMain$DropDownListInsulation", + "label": "Insulation", + "value": "A As Built", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "I Internal", + "text": "I Internal", + "selected": false + }, + { + "value": "A As Built", + "text": "A As Built", + "selected": true + }, + { + "value": "U Unknown", + "text": "U Unknown", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_InnerTabContainerMain_TabPanelExternalWallMain_WebUserControlWallMain_TextBoxWallThickness", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$InnerTabContainerMain$TabPanelExternalWallMain$WebUserControlWallMain$TextBoxWallThickness", + "label": "Wall Thickness [mm]", + "value": "400", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_InnerTabContainerMain_TabPanelExternalWallMain_WebUserControlWallMain_CheckBoxWallThicknessUnknown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$InnerTabContainerMain$TabPanelExternalWallMain$WebUserControlWallMain$CheckBoxWallThicknessUnknown", + "label": "Wall Thickness Unknown", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_InnerTabContainerMain_TabPanelExternalWallMain_WebUserControlWallMain_CheckBoxUvalueKnown", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$InnerTabContainerMain$TabPanelExternalWallMain$WebUserControlWallMain$CheckBoxUvalueKnown", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_InnerTabContainerMain_TabPanelExternalWallMain_WebUserControlWallMain_TextBoxAddWallArea", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$InnerTabContainerMain$TabPanelExternalWallMain$WebUserControlWallMain$TextBoxAddWallArea", + "label": "Wall Area [m2]", + "value": "0.00", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelMain_InnerTabContainerMain_TabPanelExternalWallMain_WebUserControlWallMain_TextBoxSecondAddWallArea", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelMain$InnerTabContainerMain$TabPanelExternalWallMain$WebUserControlWallMain$TextBoxSecondAddWallArea", + "label": "Wall Area [m2]", + "value": "0.00", + "disabled": false, + "autopostback": true + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_dom/waterheating.json b/scripts/hyde/elmhurst_dom/waterheating.json new file mode 100644 index 00000000..ce0a4624 --- /dev/null +++ b/scripts/hyde/elmhurst_dom/waterheating.json @@ -0,0 +1,911 @@ +{ + "url": "https://rdsap10.elmhurstenergy.co.uk/Processing/WebFormWaterHeating.aspx", + "title": "Elmhurst - Water Heating", + "controls": [ + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWaterHeating_TextBoxWaterHeatingCode", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWaterHeating$TextBoxWaterHeatingCode", + "label": "15.0 Water Heating", + "value": "HWP", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWaterHeating_CheckBoxHotWaterCylinder", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWaterHeating$CheckBoxHotWaterCylinder", + "label": "Hot Water Cylinder Present", + "value": "on", + "disabled": true, + "autopostback": false, + "checked": true + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWaterHeating_DropDownListCylinderSize", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWaterHeating$DropDownListCylinderSize", + "label": "", + "value": "Large", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "No Access", + "text": "No Access", + "selected": false + }, + { + "value": "Normal", + "text": "Normal", + "selected": false + }, + { + "value": "Medium", + "text": "Medium", + "selected": false + }, + { + "value": "Large", + "text": "Large", + "selected": true + }, + { + "value": "Value known", + "text": "Value known", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWaterHeating_DropDownListInsulated", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWaterHeating$DropDownListInsulated", + "label": "", + "value": "Foam", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "No Insulation", + "text": "No Insulation", + "selected": false + }, + { + "value": "Jacket", + "text": "Jacket", + "selected": false + }, + { + "value": "Foam", + "text": "Foam", + "selected": true + }, + { + "value": "Measured Loss", + "text": "Measured Loss", + "selected": false + } + ] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWaterHeating_DropDownListInsulationThickness", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWaterHeating$DropDownListInsulationThickness", + "label": "", + "value": "120 mm", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "", + "text": "", + "selected": false + }, + { + "value": "None", + "text": "None", + "selected": false + }, + { + "value": "12 mm", + "text": "12 mm", + "selected": false + }, + { + "value": "25 mm", + "text": "25 mm", + "selected": false + }, + { + "value": "38 mm", + "text": "38 mm", + "selected": false + }, + { + "value": "50 mm", + "text": "50 mm", + "selected": false + }, + { + "value": "80 mm", + "text": "80 mm", + "selected": false + }, + { + "value": "120 mm", + "text": "120 mm", + "selected": true + }, + { + "value": "160 mm", + "text": "160 mm", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWaterHeating_CheckBoxCylinderThermostat", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWaterHeating$CheckBoxCylinderThermostat", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelCommunityHeating_WebUserControlCommunityHeating_TextBoxCommunityHeatingPCDFBoilerReference", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelCommunityHeating$WebUserControlCommunityHeating$TextBoxCommunityHeatingPCDFBoilerReference", + "label": "PCDF boiler Reference", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelSolarCylinder_TabContainerSolar_TabPanelSolarDetails_CheckBoxSolaWaterHeating", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelSolarCylinder$TabContainerSolar$TabPanelSolarDetails$CheckBoxSolaWaterHeating", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWWHRS_DropDownListWWHRSPresent", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWWHRS$DropDownListWWHRSPresent", + "label": "", + "value": "No / Unknown", + "disabled": false, + "autopostback": true, + "options": [ + { + "value": "No / Unknown", + "text": "No / Unknown", + "selected": true + }, + { + "value": "Yes - Instantaneous Type", + "text": "Yes - Instantaneous Type", + "selected": false + }, + { + "value": "Yes - Storage Type", + "text": "Yes - Storage Type", + "selected": false + } + ] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWWHRS_TextBoxRoomsWithBath", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWWHRS$TextBoxRoomsWithBath", + "label": "", + "value": "2", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWWHRS_TextBoxRoomsWithShowerAndBath", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWWHRS$TextBoxRoomsWithShowerAndBath", + "label": "", + "value": "0", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": null, + "name": null, + "label": "1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNonElectric \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNone\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTypeNon-electric shower\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tConnected toNone", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": null, + "name": null, + "label": "1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNonElectric \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNone\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTypeNon-electric shower\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tConnected toNone", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "image", + "id": null, + "name": null, + "label": "1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNonElectric \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNone\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTypeNon-electric shower\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tConnected toNone", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelFGHRS_FGHRSMhs1_CheckBoxFGHRSPresent", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelFGHRS$FGHRSMhs1$CheckBoxFGHRSPresent", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "input", + "type": "checkbox", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelFGHRS_FGHRSMhs2_CheckBoxFGHRSPresent", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelFGHRS$FGHRSMhs2$CheckBoxFGHRSPresent", + "label": "", + "value": "on", + "disabled": false, + "autopostback": false, + "checked": false + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxFullSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxFullSearch", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListBoilerType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListBoilerType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListCurrentObsoleteModels", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListCurrentObsoleteModels", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListMainType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListMainType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListMountingPosition", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListMountingPosition", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListFlueType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListFlueType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListFuel", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListFuel", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListCondensing", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListCondensing", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListEfficiencyBands", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListEfficiencyBands", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_DropDownListFanAssistance", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$DropDownListFanAssistance", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxManufacturerName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxManufacturerName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxBrandName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxBrandName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxModelName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxModelName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_TextBoxModelQualifier", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$TextBoxModelQualifier", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_TextBoxFullSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$TextBoxFullSearch", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_DropDownListType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$DropDownListType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_DropDownListCurrentObsoleteModels", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$DropDownListCurrentObsoleteModels", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_TextBoxManufacturerName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$TextBoxManufacturerName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_TextBoxBrandName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$TextBoxBrandName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_TextBoxModelName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$TextBoxModelName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_TextBoxModelQualifier", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$TextBoxModelQualifier", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_TextBoxFullSearch", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$TextBoxFullSearch", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_DropDownListType", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$DropDownListType", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_DropDownListCurrentObsoleteModels", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$DropDownListCurrentObsoleteModels", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_TextBoxManufacturerName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$TextBoxManufacturerName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_TextBoxBrandName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$TextBoxBrandName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_TextBoxModelName", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$TextBoxModelName", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "text", + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_TextBoxModelQualifier", + "name": "ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$TextBoxModelQualifier", + "label": "", + "value": "", + "disabled": false, + "autopostback": true + }, + { + "tag": "input", + "type": "image", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_ImageButtonCloseDialog", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$ImageButtonCloseDialog", + "label": "", + "value": "", + "disabled": false, + "autopostback": false + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList1", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList1", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList2", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList2", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList3", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList3", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList4", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList4", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList5", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList5", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + }, + { + "tag": "select", + "type": "select-one", + "id": "ContentBody_OutsideUpdatePanel_SelectHeatingDialog_DropDownList6", + "name": "ctl00$ctl00$ContentBody$OutsideUpdatePanel$SelectHeatingDialog$DropDownList6", + "label": "", + "value": "", + "disabled": false, + "autopostback": true, + "options": [] + } + ], + "nav": [ + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl00\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$ContentPlaceHolderNavigationsTop$ctl01\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": null + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentTopControls$LinkButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentTopControls_LinkButtonSaveClose" + }, + { + "text": "< Previous", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonPrevious\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonPrevious" + }, + { + "text": "Next >", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolderNavigations$ButtonNext\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolderNavigations_ButtonNext" + }, + { + "text": "Save & Close", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonSaveClose\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonSaveClose" + }, + { + "text": "Cancel", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ButtonCancel\", \"\", true, \"\", \"\", false, true))", + "onclick": "this.disabled = true;", + "id": "ContentBody_ButtonCancel" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWaterHeating$ButtonWaterHeatingCode','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWaterHeating_ButtonWaterHeatingCode" + }, + { + "text": "", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelCommunityHeating$WebUserControlCommunityHeating$ButtonCommunityHeatingBoilerReference','')", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelCommunityHeating_WebUserControlCommunityHeating_ButtonCommunityHeatingBoilerReference" + }, + { + "text": "Add Showers", + "href": "javascript:__doPostBack('ctl00$ctl00$ContentBody$ContentPlaceHolder1$TabContainer$TabPanelWWHRS$ButtonAddShower','')", + "onclick": "addFlag();", + "id": "ContentBody_ContentPlaceHolder1_TabContainer_TabPanelWWHRS_ButtonAddShower" + }, + { + "text": "Boiler search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$HyperLinkActionBoilerSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_HyperLinkActionBoilerSearch" + }, + { + "text": "Advanced boiler search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$HyperLinkActionAdvancedSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_HyperLinkActionAdvancedSearch" + }, + { + "text": "Community heating networks", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectBoilerDialog$HyperLinkActionCommunityHeatingNetworks\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectBoilerDialog_HyperLinkActionCommunityHeatingNetworks" + }, + { + "text": "WWHRS search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectWwhrsDialog$HyperLinkActionSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectWwhrsDialog_HyperLinkActionSearch" + }, + { + "text": "FGHRS search", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$ContentPlaceHolder1$SelectFghrsDialog$HyperLinkActionSearch\", \"\", true, \"\", \"\", false, true))", + "onclick": null, + "id": "ContentBody_ContentPlaceHolder1_SelectFghrsDialog_HyperLinkActionSearch" + }, + { + "text": "Energy Report Address", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionEPCAddress$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionEPCAddress_Link" + }, + { + "text": "Property Details", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDetails$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDetails_Link" + }, + { + "text": "Property Description", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionPropertyDescription$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionPropertyDescription_Link" + }, + { + "text": "Dimensions", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionDimensions$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionDimensions_Link" + }, + { + "text": "Conservatory", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionConservatories$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionConservatories_Link" + }, + { + "text": "Flats", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFlats$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFlats_Link" + }, + { + "text": "Walls", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWalls$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWalls_Link" + }, + { + "text": "Roofs", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRoofs$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRoofs_Link" + }, + { + "text": "Floors", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionFloors$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionFloors_Link" + }, + { + "text": "Openings", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionOpenings$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionOpenings_Link" + }, + { + "text": "Ventilation & Lighting", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionVentilationAndCooling$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionVentilationAndCooling_Link" + }, + { + "text": "Space Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSpaceHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSpaceHeating_Link" + }, + { + "text": "Water Heating", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionWaterHeating$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionWaterHeating_Link" + }, + { + "text": "New Technologies", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionNewTechnologies$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionNewTechnologies_Link" + }, + { + "text": "Recommendations", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionRecommendations$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionRecommendations_Link" + }, + { + "text": "Addenda", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionAddenda$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionAddenda_Link" + }, + { + "text": "Technical Advice", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionTechnicalAdvice$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionTechnicalAdvice_Link" + }, + { + "text": "Results", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionResults$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionResults_Link" + }, + { + "text": "Energy Report Summary", + "href": "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ctl00$ContentBody$buttonActionSummary$Link\", \"\", true, \"\", \"\", false, true))", + "onclick": "waitForAction(this);", + "id": "ContentBody_buttonActionSummary_Link" + }, + { + "text": "Useful Links", + "href": "http://www.elmhurstenergy.co.uk/useful-links", + "onclick": null, + "id": null + }, + { + "text": "Contact Us", + "href": "http://www.elmhurstenergy.co.uk/contact-us", + "onclick": null, + "id": null + } + ] +} \ No newline at end of file diff --git a/scripts/hyde/elmhurst_download.py b/scripts/hyde/elmhurst_download.py new file mode 100644 index 00000000..2bc65656 --- /dev/null +++ b/scripts/hyde/elmhurst_download.py @@ -0,0 +1,103 @@ +"""Download the Input Summary + SAP Worksheets PDFs from Elmhurst (POC). + +Closes the validate-cert loop's only manual export: pulls the two PDFs off the +Energy Report Summary page and saves them where `compare_epc_paths.py` reads: + * Input Summary -> elmhurst_summary.pdf (inputs; parse_site_notes_pdf -> EpcPropertyData) + * SAP Worksheets -> elmhurst_worksheet.pdf (the SAP calculation) + + DISPLAY=:99 python scripts/hyde/elmhurst_download.py + +SAFETY: this script clicks ONLY the two report buttons below. It NEVER clicks +Submit (`LinkButtonSubmitEPR`) — submitting lodges the assessment. The allow-list +is enforced in code. +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +from playwright.sync_api import ( + Page, + TimeoutError as PlaywrightTimeoutError, + sync_playwright, +) + +HERE = Path(__file__).parent +SESSION_DIR = HERE / ".elmhurst-session" +SAMPLE_DIR = ( + HERE.parent.parent + / "backend/epc_api/json_samples/real_life_examples" + / "SAP-Schema-17.1/uprn_10092973954" +) + +ASSESSMENT_GUID = "B44A0DB4-4C08-4241-B818-86F060172105" +ENTRY_URL = ( + "https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx" + f"?Guid={ASSESSMENT_GUID}" +) + +# (button id, output filename). The ONLY buttons this script may click. +REPORTS: list[tuple[str, str]] = [ + ("ContentBody_ContentPlaceHolder1_LinkButtonSummary", "elmhurst_summary.pdf"), + ("ContentBody_ContentPlaceHolder1_ButtonDebugInforPdf", "elmhurst_worksheet.pdf"), +] +# Buttons this script must NEVER touch (belt-and-braces). +_FORBIDDEN = {"ContentBody_ContentPlaceHolder1_LinkButtonSubmitEPR"} + + +def _download_one(page: Page, button_id: str, out: Path) -> bool: + assert button_id not in _FORBIDDEN, f"refusing to click forbidden {button_id}" + print(f" clicking {button_id} -> {out.name} ...", flush=True) + try: + with page.expect_download(timeout=60_000) as dl: + page.click(f"#{button_id}", timeout=20_000) + dl.value.save_as(str(out)) + except PlaywrightTimeoutError: + # Some report buttons open the PDF in a popup rather than a download. + try: + with page.expect_popup(timeout=10_000) as pop: + page.click(f"#{button_id}", timeout=20_000) + popup = pop.value + with popup.expect_download(timeout=30_000) as dl2: + pass + dl2.value.save_as(str(out)) + except PlaywrightTimeoutError: + print(f" !! no download/popup for {button_id}", flush=True) + return False + size = out.stat().st_size if out.exists() else 0 + print(f" saved {out} ({size:,} bytes)", flush=True) + return out.exists() and size > 0 + + +def download_reports() -> int: + SAMPLE_DIR.mkdir(parents=True, exist_ok=True) + ok = True + with sync_playwright() as p: + context = p.chromium.launch_persistent_context( + user_data_dir=str(SESSION_DIR), + headless=False, + accept_downloads=True, + viewport={"width": 1400, "height": 1000}, + ) + page = context.pages[0] if context.pages else context.new_page() + page.on("dialog", lambda d: d.accept()) + + print(f"entering assessment {ASSESSMENT_GUID} ...", flush=True) + page.goto(ENTRY_URL, wait_until="networkidle", timeout=60_000) + print("navigating to Energy Report Summary ...", flush=True) + with page.expect_navigation(wait_until="networkidle", timeout=60_000): + page.click("#ContentBody_buttonActionSummary_Link", timeout=15_000) + page.wait_for_timeout(600) + + for button_id, fname in REPORTS: + ok = _download_one(page, button_id, SAMPLE_DIR / fname) and ok + page.wait_for_timeout(600) + + context.close() + print("DONE." if ok else "DONE (with errors — see above).", flush=True) + return 0 if ok else 1 + + +if __name__ == "__main__": + sys.exit(download_reports()) diff --git a/scripts/hyde/elmhurst_explore.py b/scripts/hyde/elmhurst_explore.py new file mode 100644 index 00000000..8fcc1a78 --- /dev/null +++ b/scripts/hyde/elmhurst_explore.py @@ -0,0 +1,186 @@ +"""Dump the real DOM of an Elmhurst RdSAP-10-Online page (dev tool). + +The entry tool is an ASP.NET WebForms app: field IDs are server-generated +(``ctl00_ctl00_ContentBody_...``) and many controls postback on change. We +can't guess selectors, so this reads them off the live page. Reuses the saved +persistent session (no login needed). Run it on the viewer display: + + DISPLAY=:99 python scripts/hyde/elmhurst_explore.py "" + +Writes, next to this file: + * elmhurst_dom/.png — screenshot (confirms we're authenticated) + * elmhurst_dom/.json — every input/select/textarea + the left-nav links + +It navigates, dumps, and exits (releasing the profile lock for the next step). +""" + +from __future__ import annotations + +import json +import re +import sys +from pathlib import Path +from typing import Any + +from playwright.sync_api import sync_playwright + +HERE = Path(__file__).parent +SESSION_DIR = HERE / ".elmhurst-session" +OUT_DIR = HERE / "elmhurst_dom" + +# Runs in the page to harvest every form control + the section nav, with the +# label text an assessor reads — so we can tie markdown fields to server IDs. +_DUMP_JS = r""" +() => { + const labelFor = (el) => { + if (el.id) { + const l = document.querySelector(`label[for="${el.id}"]`); + if (l) return l.innerText.trim(); + } + // WebForms often puts the caption in a sibling cell, not a