69 lines
7.0 KiB
Markdown
69 lines
7.0 KiB
Markdown
# Mandel development site — page build
|
||
|
||
Built and verified on October 20, 2026 at https://dev.atomhmi.com/site_mandel.
|
||
|
||
Follow-up settings expansion is documented in `MANDEL-SETTINGS.md`: coop setpoints and fan target are now editable, fan speed is adjustable, and five pages have alarm threshold/hysteresis controls. The owner confirmed the washer pressure sensor is not active yet.
|
||
|
||
## Plan and delivered pages
|
||
|
||
| Page | Route | Delivered behavior |
|
||
| --- | --- | --- |
|
||
| Home (existing Main) | `page_main` | Live compressor pressure, coop temperature, compressor/heater status, house daily volume, and six equipment links |
|
||
| Air Compressor (updated) | `page_comp` | Correct Main-device pressure binding, 0–200 psi display range, run status, runtime hours, current-run minutes, manual sequence start/stop buttons, pressure history |
|
||
| Pressure Washer (new) | `page_pressure_washer` | Pressure readout, sequence/pump/valve status, runtime, manual sequence start/stop buttons, pressure history |
|
||
| Chicken Coop (new) | `page_chicken_coop` | Temperature, heating/cooling setpoint readouts, daily fan target in hours, heater/fan/door-output/light statuses, temperature/setpoint history |
|
||
| Ventilation (new) | `page_ventilation` | Fan speed, output, negative pressure, engineering-unit note, two-axis history |
|
||
| Water Usage (new) | `page_water_usage` | House flow/today/yesterday/total, plus today's/yesterday's well volumes using the working Well page's history registers |
|
||
| Well (existing) | `page_well` | Inspected and retained unchanged |
|
||
|
||
Added navigation entries for Pressure Washer, Chicken Coop, Ventilation, and Water Usage. The existing default Main route remains the home page. Existing Temperature, Hot Tub, and Device Status navigation was retained; no hot-tub data group was found in Main's inventory, so no hot-tub equipment controls were fabricated.
|
||
|
||
## Register survey
|
||
|
||
Inspected all 1,167 Main-device register definitions through Manage Registers. Full inventory and the enable audit are saved in `artifacts/mandel/mandel-register-inventory.json`. Inventory values and Enabled flags are the initial snapshot; `verifiedEnabledDuringBuild` records the later enable verification.
|
||
|
||
The new pages reference these groups:
|
||
|
||
- Compressor: `g_airPressure_out_eu`, `g_airCompressor_out_run`, `g_airCompressor_out_runTime`, `g_airCompressor_out_tss`, `g_airCompressor_in_manStart`, `g_airCompressor_in_manStop`.
|
||
- Washer: `g_pressureWasherPres_out_eu`, `g_pressureWasher_out_run`, `g_pressureWasherPump_out_run`, `g_pressureWasherValve_out_run`, `g_pressureWasher_out_runTime`, `g_pressureWasher_out_tss`, `g_pressureWasher_in_manStart`, `g_pressureWasher_in_manStop`.
|
||
- Coop: `g_coopTemp_out_eu`, `g_coopHeatSP`, `g_coopCoolSP`, `g_coopDailyFanDur`, `g_coopHeater_out_val`, `g_coopExhaustFan_out_val`, `g_coopDoorOpen_out_val`, `g_coopInteriorLights_out_val`, `g_coopExteriorLights_out_val`.
|
||
- Ventilation: `g_houseFanSpeed`, `g_fanSpdOut_in_eu`, `g_negAirPres_out_eu`.
|
||
- Water usage: `g_houseFlow_out_eu`, `g_houseVol_todayEu`, `g_houseVol_yesterdayEu`, `g_houseVol_euTotal`, `g_well_history_today_vol`, `g_well_history_yday_vol`.
|
||
|
||
All 32 referenced registers are enabled. The first enable pass also enabled the legacy `g_well_out_volTdy` and `g_well_out_volYest` definitions; the final Water Usage page instead uses the already-enabled history registers from the existing Well page. No PLC register values were written during the build.
|
||
|
||
Register definitions use the existing OPC UA slave and `Home.g...` tag addresses. Preserved their existing one-second On Change update configuration. Unlike the previously studied production register editor, the development editor did not expose separate logging interval/duration fields. The new history widgets use enabled register sources; separate backend retention settings were not changed.
|
||
|
||
## Binding and formatting decisions
|
||
|
||
The old compressor/home widgets used `shop:PRES_EU`, `shop:TEMP_EU`, and unmatched pressure-setpoint references. Updated them to actual Mandel `main:` registers. Replaced the unmatched compressor setpoint widgets with runtime displays rather than guessing a control register.
|
||
|
||
Runtime descriptions specify seconds: total hours divide by 3,600, and current-run minutes divide by 60. The coop's daily fan duration returns 3,600,000 for its one-hour target; its display divides by 3,600,000. Heating/cooling setpoints and fan target remain readouts. No new coop or ventilation write controls were added.
|
||
|
||
The compressor's gauge range is a display range only and does not change pressure setpoints. Pressure-washer pressure remains a numeric readout to avoid inventing gauge bounds. House-water and ventilation fields with unverified physical units are identified as using PLC engineering units rather than assigned guessed units.
|
||
|
||
The two manual Start/Stop pairs each write `1` to their equipment sequence's `in_manStart` or `in_manStop` register. These are configured buttons; they were not pressed. Pump/valve direct-output commands were not added.
|
||
|
||
## Validation
|
||
|
||
- Observed successful page-save messages, reopened pages, and followed saved navigation links.
|
||
- Verified Enabled = Yes for the register enable pass and compared the final well-total bindings with the existing Well page.
|
||
- Checked all five equipment pages and the home page visually, with screenshots saved under `artifacts/mandel/`.
|
||
- Verified live examples: compressor pressure around 130.6 psi and 2.2 runtime hours; coop temperature 20.7 °C, heat/cool setpoints 10/25 °C, daily fan target 1.0 h; house today 160 and yesterday 71; well today 171 gal and yesterday 298 gal. Values are snapshots and will change.
|
||
- Corrected clipped home status badges and the fan-duration conversion during visual review.
|
||
- No operational Start/Stop, setpoint submission, or output-control test was performed.
|
||
|
||
## Observations requiring separate follow-up
|
||
|
||
- The washer reports approximately **−118.5 psi** because its pressure sensor is not active yet, as subsequently confirmed by the owner. Its page now includes an inactive-sensor commissioning note.
|
||
- History has only the data available from enabled register sources; newly enabled signals may initially have little history.
|
||
- The development page editor intermittently left modal pickers open and timed out. Its console also recorded repeated chart-library loading errors and missing chart/gauge globals during editor previews. Saved runtime pages rendered successfully; underlying application/library loading was not modified.
|
||
- Copy/Paste did not transfer the source Well subtree during the test, so the new pages were assembled using native elements.
|
||
|
||
## Repeatable review workflow
|
||
|
||
1. Open a page from the home tiles or navigation and verify live values against Manage Registers.
|
||
2. Use Configure Pages to select the exact page and check its Title/URL before edits.
|
||
3. Save the component, close any lingering picker, then save the page separately. Verify the successful-save message before navigating away or reloading.
|
||
4. Reopen the runtime page to verify persistence and layout. Test equipment commands only as a separate authorized operational check.
|