Skip to content
View the-control-cabinet's full-sized avatar

Block or report the-control-cabinet

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

The Control Cabinet

Building automation and controls projects, built on real plant and documented to BMS standards: points lists, I/O schedules, commissioning and test records, fault diagnosis and decision logs. I'm moving into BMS / building automation engineering after 25 years delivering business change programmes across financial services, insurance, telecoms and energy, with degrees in Physics and Telecoms Engineering.

📺 The Control Cabinet on YouTube

In brief (one-minute read)

  • Real systems, not just labs. A two-controller heating system (18 zones, radiators and underfloor, two unvented cylinders) integrated at radio-protocol level; mains water metered over Modbus RTU and field-calibrated; boiler-plant instrumentation on ESP32 controllers, with a designed OpenTherm control stage (weather compensation + PID, fail-safe changeover); fire/CO alarms interfaced through volt-free contacts; and a virtual pinball cabinet with real 24 V coils, layered protection and live current monitoring.
  • Protocols: Modbus RTU and TCP, BACnet/IP, MQTT, Zigbee, Bluetooth LE, RAMSES-II (868 MHz), OpenTherm (design stage), plus SDR surveying of 433/868 MHz.
  • Engineering method: every project has a points list or I/O schedule, a test record and an honest issues log. Faults are worked to root cause with evidence; for example, a permanent 5 °C override on both heating controllers was traced through eight tested hypotheses and packet-log analysis.
  • Commissioning and alarms on live plant (Nov 2026): two unvented cylinders commissioned with inlet gauges, outlet temperatures and tundish sensors; a weeping relief valve detected and the fix confirmed; left/right sensor swaps found by point-to-point draw tests; a false 5 bar traced to a divider leg; 23 alerts live, with the first FDD rules running on real data.
  • Head-end thinking: a ~110-integration Home Assistant estate documented as a BMS integration schedule (protocol, local vs cloud, read vs write, resilience and command-authority tiers), plus a cyber-security and privacy baseline built on OT principles.

Qualifications and training

Qualification / course Status
BCM01, BCM02, BCM03 (building controls) ✅ Passed
18th Edition (BS 7671) wiring regulations ✅ Passed
City & Guilds Safe Isolation ✅ Completed
ECS Health & Safety + ECS BMS installer card ✅ Held
Resideo heating controls wiring (S-plan and Y-plan wiring, Evohome, TPI) ✅ Completed Oct 2026
Smart Buildings Academy: BAS Operator, BAS Installer, HVAC 101, BAS Fundamentals ✅ Completed
Udemy: three BMS fundamentals courses ✅ Completed
efixx / Crompton Controls: BMS control panels; 3-phase introduction ✅ Completed
Manufacturer e-learning: Tridium Niagara, KNX eCampus/ETS, Siemens TIA Portal/PLCSIM, Schneider Electric University, CODESYS 🚧 In progress
Niagara 4 Technical Certification Program (TCP) 📐 Planned (priority paid course: software access and the credential)

Start here

If you have five minutes Why
Evohome heating controls & RAMSES-II integration Real HVAC controls, protocol-level integration, a full fault case study
Heating plant monitoring Plant-room points list with an as-built wiring schematic, signal conditioning, boiler state detection, cylinder stratification and a per-cylinder hot water estimate, and live alerts mapped to FDD rules; the measurement layer for the OpenTherm control design
Mains water metering – Modbus RTU Modbus RTU field device, calibration against measured volumes, metering dashboards

Heating controls: delivery sequence

The heating work is delivered as a staged programme, like a BMS upgrade: measure first, then build the supervisory layer and its first function, then change the plant control, with each step measured against the last.

flowchart LR
    A["A · Plant monitoring<br/>+ on/off baseline"] --> B["B · Supervisory layer<br/>HA + Node-RED"]
    B --> C["C · Optimum start/stop"]
    D["D · PID rig exercise<br/>+ interlocks (parallel)"] --> E
    C --> E["E · OpenTherm on the boiler<br/>weather comp + PID + preheat boost"]
    E --> F["F · Before/after report<br/>(M&V)"]
Loading
Step Project Status
A Heating plant monitoring 🚧 In progress (28 points; both cylinders commissioned; 23-rule alerts package live)
B HA + Node-RED supervisory layer 🚧 In progress (design)
C Multi-zone optimum start/stop 📐 Design stage
D PID with anti-hunt: rig exercise 📐 Design stage
E OpenTherm boiler control 📐 Design stage
F Energy dashboard: before/after report 📐 Planned

Skills matrix: BMS competencies mapped to evidence

Competency Where it's shown
Points lists / I/O schedules Plant monitoring · Water metering · Aico interface · VPin · Aircon DP map
Modbus (RTU / TCP) Water metering · Modbus TCP collector · Modbus server
BACnet/IP BACnet/IP explorer · Plant points BACnet server
Vendor DDC (Trend) Trend IQ411 commissioning
PLC programming (IEC 61131-3) PLC re-implementation · three-platform comparison
HVAC controls Evohome · Plant monitoring · OpenTherm control · Air quality / DCV
Control strategy (PID, weather compensation, interlocks) OpenTherm control · PID rig exercise
Supervisory control and scheduling Supervisory layer · Optimum start/stop
Measurement and verification (M&V) Energy dashboard · Optimum start/stop · OpenTherm control
Commissioning and test records Every project: test tables, calibration runs, transmit audits · plans: OpenTherm 12-test plan · BLE receiver calibration
Fault diagnosis 5 °C override case study · Water meter calibration · Zigbee availability noise · ESPHome watchdog resets · RAMSES gateway RF stall, decoded to a stuck transmit · UFH demand decoding · NTC noise: a 330 kΩ resistor
Plant sequences and interlocks Duty/standby + interlocks · Sequence of operation
Alarm management Alarm and trend strategy
Fault detection and diagnostics FDD rules (first rules live as alerts)
Semantic data (Haystack / Brick) Semantic tagging
Graphics / HMI Plant-room graphics
Documentation and handover (O&M) O&M handover pack · Sequence of operation
Standards and change control ESPHome fleet standards
Lighting and shading control Lighting and shading
Energy management and demand response Demand-side energy management · Energy dashboard
System health and resilience Head-end health · ESPHome fleet standards · Home network monitoring
Life-safety interfaces Fire/CO interface · Layered leak detection
Metering and energy Water metering · Energy dashboard
Signal conditioning and field wiring Plant monitoring · VPin power and protection
Wireless field networks and RF Zigbee · BLE presence · RTL-SDR survey · Wi-Fi (AiMesh, per-device RSSI)
Head-end / integration management HA integration schedule · Supervisory layer · Areas, dashboards and automations
OT cyber security Security baseline

Portfolio: top down

Management level

Project Status
Home Assistant integration schedule (~110 integrations, head-end documentation) ✅ Live
Smart-home cyber-security & privacy baseline (OT principles) ✅ Live
Whole-home energy & utility metering dashboard 📐 Planned
HA + Node-RED supervisory layer 🚧 In progress (design)
Alarm and trend strategy (living document) 📐 Living document
Semantic tagging of points (Project Haystack / Brick) 📐 Design stage
Fault detection and diagnostics (FDD) rules 🚧 In progress (F1-F20; short cycling measured)
Plant-room graphics (BMS-style HMI) 📐 Design stage
Sequence of operation: heating and DHW (as-is / to-be) 📐 Design stage
O&M manual / handover pack 🚧 In progress (register, maintenance, records M1-M7)
HA areas, dashboards and automations (occupant layer) 📐 Design stage
Demand-side energy management (tariff, carbon, peak limiting) 📐 Design stage
Head-end health and availability monitoring 🚧 Partly live (gateway and Wi-Fi health)
Home network monitoring – AiMesh + per-device Wi-Fi signal and alerts ✅ Live (channel trial running)
Niagara / Tridium familiarisation (#14): the portfolio's devices under a Niagara 4 station 📐 Design stage (via the Niagara 4 TCP)

Automation level

Project Status
Indoor air quality monitoring + demand-controlled ventilation 🚧 In progress
Layered leak detection 🚧 Layers 1, 2 and 4 live
AI vision automations (vision as a sensor) ✅ Live (local detection planned)
Fault diagnosis case study – Evohome permanent 5 °C override ✅ Complete
Tukkari VPin – real-mech cabinet (power, protection, I/O, instrumentation) ✅ Running
Multi-zone optimum start/stop (supervisory, over Evohome/RAMSES-II) 📐 Design stage
DIN-rail rig: duty/standby pump rotation + interlocks (#7/#9) 🚧 In progress
ESPHome fleet standards (13 controllers) ✅ Live (documenting)
PID loop with anti-hunt (DIN-rail rig exercise) 📐 Design stage
OpenTherm boiler control – weather comp + PID, alongside two Evohome controllers 📐 Design stage
Trend IQ411 commissioning 📐 Planned (first: SET access via a Trend partner; check the IQ411's BACnet/IP support)
Lighting and solar-shading control 📐 Design stage
PLC re-implementation – all four IEC 61131-3 languages (#13) 📐 Design stage (software-only; optional S7-1200 DC/DC/DC later)

Field level

Project Status
Evohome heating controls & HA integration (cloud → RAMSES-II, incl. fault case study) ✅ Complete
Heating plant monitoring – boiler, cylinders, safety devices (ESPHome) 🚧 In progress (pressure calibrated, tundishes and outlet probe commissioned)
Mains water metering – Modbus RTU ✅ Complete
Modbus TCP data collector ✅ Complete
BACnet/IP network explorer ✅ Complete (v2 planned: HA BACnet integration against YABE's simulator)
Fire & CO alarm interface – Aico Ei413 → Shelly → HA ✅ Complete
Portable aircon – Tuya data-point map, local control ✅ Complete
Zigbee network migration – ZHA → Zigbee2MQTT (93 devices) ✅ Complete
ESP32 BLE presence network ✅ Live
RTL-SDR RF survey – 433/868 MHz ✅ Exploratory
Plant points as a BACnet/IP device 📐 Design stage
ESP32 as a Modbus server (plant points to controllers) 📐 Design stage

Future projects (planned, no repo yet)

Gaps identified in a portfolio review, to be started once more of the design-stage projects have results:

Project Gap it closes
Mini air-handling unit on the rig: duct, PWM fan, damper actuator, heater, temperature/humidity, differential-pressure proving; AHU sequence with frost protection and supply-air PID Hands-on air-side HVAC
Field devices and signals bench: 0-10 V damper actuator, 4-20 mA transmitter, PT1000, loop calibrator, wired into the Trend IQ411 Standard BMS field signals and point-to-point commissioning
Commissioning sheet set: point-to-point, functional and witness sheets applied to the rig and the plant install Commissioning documentation
Electrical drawings and panel build for the rig: IEC-symbol schematics (power, control, I/O), terminal and cable schedules, drawing numbers and revisions (QElectroTech); the rig wired to the drawings with ferrules, labels and segregation; continuity, insulation and point-to-point test sheets Drawings and panel building
Motor control and BMS interface demo (24 V control): DOL with overload, latching start/stop, forward/reverse interlock, star-delta with timer and interlock, hand/off/auto with BMS run, trip and fault contacts Motor-starter circuits and the BMS-to-MCC interface
VSD control: small inverter on a pump or fan, controlled by 0-10 V and enable from the Trend IQ411, then over Modbus; fault relay and speed feedback into the BMS Variable-speed drives, as on AHU fans and pumps
Third-party device integration: a real Modbus energy meter and the VSD read by the BMS and a PLC, alongside the ESP32 Modbus and BACnet servers Modbus / BACnet integration with real devices
RAMS: risk assessments and method statements for the OpenTherm connection and the plant-monitoring install Site safety documentation
BACnet MS/TP: RS485 field device discovered and read via YABE MS/TP in practice
M-Bus metering: USB M-Bus master with a heat/water meter Heat-network metering
Heat-pump readiness study: heat loss from gas data and degree-days, emitter output at low flow temperatures, DHW strategy, control changes Low-carbon heat
Niagara and KNX write-ups: a short build note per completed manufacturer module Vendor platforms
Water sub-metering by event detection (shower, washing machine) Metering analytics
Weather-responsive alerts and plant actions External conditions

Pinned Loading

  1. home-assistant-integration-schedule home-assistant-integration-schedule Public

    A ~110-integration Home Assistant estate documented like a BMS head-end integration schedule: protocol, local vs cloud, read vs write and status for every system, plus architecture, resilience anal…

    Shell

  2. bacnet-ip-network-explorer bacnet-ip-network-explorer Public

    BACnet/IP explored hands-on: discovering a simulated room controller with YABE, reading its 13 objects and properties, polling them from Node-RED into Home Assistant, with a commissioning record an…

  3. evohome-heating-controls-ramses-integration evohome-heating-controls-ramses-integration Public

    Two-controller Honeywell Evohome system (18 zones, two unvented cylinders): self-installed, integrated into Home Assistant via the cloud and RAMSES-II, with a fault case study, junction-box survey,…

    Shell

  4. modbus-tcp-data-collector modbus-tcp-data-collector Public

    Modbus TCP lab: Node-RED master polling and writing holding registers on a diagslave simulator, scaled to engineering units and cross-checked with an independent client (2,072/2,072 polls, 0 errors…

  5. mains-water-metering-modbus-rtu mains-water-metering-modbus-rtu Public

    Clamp-on ultrasonic mains water metering: TUF-2000M over Modbus RTU/RS485 into an ESP32 (ESPHome) and Home Assistant, field-calibrated against measured volumes with an 8-point correction. Per-draw …

  6. heating-plant-monitoring-esphome heating-plant-monitoring-esphome Public

    Heating plant instrumented like a BMS plant room on ESPHome: boiler flow/return, gauge-calibrated pressure, current and boiler states, demand signals, both cylinders' temperatures, inlet pressures …

    OpenSCAD