Files
house-spec/specs/02-sensor-automation-spec.md
Juergen Kunz 6172e6c79c Initial house specification: air system, sensors, Lindner Doppelboden + Plafotherm ceiling
- 01: H13 HEPA whole-house air filtration, MVHR, duct design, pressure management
- 02: Sensor placement, automation logic, Home Assistant integration, wiring
- 03: Baufritz builder coordination, construction checkpoints, timeline
- 04: Lindner NORTEC Doppelboden with WOODline parquet + Plafotherm AirHybrid radiant ceiling
- Build system: tsx + marked + puppeteer, renders Mermaid diagrams to PDF
2026-03-08 18:58:22 +00:00

248 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sensor & Automation Specification
## 1. Control Architecture
The air system is managed by a layered control architecture: local sensors feed data to a central controller, which modulates the MVHR, dampers, and humidifier. Home Assistant provides monitoring, logging, alerting, and override capability.
```mermaid
flowchart TD
subgraph Sensors["Room Sensors (per zone)"]
CO2["CO₂ Sensor"]
VOC["TVOC Sensor"]
PM["PM2.5 / PM10 Sensor"]
TH["Temperature + Humidity"]
RN["Radon Monitor\n(ground floor only)"]
end
subgraph FilterSensors["Filter Monitoring"]
DP1["ΔP Sensor: Pre-filter"]
DP2["ΔP Sensor: F7"]
DP3["ΔP Sensor: Carbon"]
DP4["ΔP Sensor: H13 HEPA"]
DP5["ΔP Sensor: Exhaust F9"]
end
subgraph Controller["Central Controller"]
KNX["KNX / Modbus Bus"]
HA["Home Assistant"]
end
subgraph Actuators["Actuators"]
MVHR["MVHR Fan Speed"]
DAMP["Zone Dampers"]
HUM["Steam Humidifier"]
DEHUM["Dehumidifier"]
end
Sensors --> KNX
FilterSensors --> KNX
KNX --> HA
HA --> Actuators
style HA fill:#1a5e5e,color:#fff
style KNX fill:#1a3d5e,color:#fff
```
---
## 2. Room Sensor Placement
Every occupied room requires a sensor unit. The following table defines sensor requirements per zone:
| Zone | CO₂ | TVOC | PM2.5 | Temp/RH | Radon | Notes |
|------|-----|------|-------|---------|-------|-------|
| Master Bedroom | Yes | Yes | Yes | Yes | No | Priority zone — sleep quality |
| Leo's Room | Yes | Yes | Yes | Yes | No | Priority zone — child health |
| Living Room | Yes | Yes | Yes | Yes | No | Largest volume, main gathering |
| Kitchen | Yes | No | No | Yes | No | Separate exhaust system |
| Office / Study | Yes | Yes | Yes | Yes | No | Cognitive performance critical |
| Bathroom(s) | No | No | No | Yes | No | Humidity control priority |
| Basement / Ground Floor | Yes | No | No | Yes | Yes | Radon monitoring mandatory |
| Technical Room | No | No | No | Yes | No | Equipment monitoring |
### 2.1 Sensor Mounting Guidelines
- **CO₂ sensors**: Mount at breathing height (1.21.5 m), away from windows, doors, and supply diffusers. CO₂ reading at the diffuser is outdoor air, not room air.
- **PM sensors**: Mount away from direct airflow paths — measure room air, not supply air.
- **Temperature/Humidity**: Away from direct sunlight, heat sources, and exterior walls. **With radiant ceiling heating and raised floor, mount sensors at 1.21.5 m wall height** — away from both the heated ceiling surface above and the floor surface below (see 04-flooring-ceiling-spec Section 9.1).
- **Radon monitors**: Ground floor / basement only, placed in the lowest habitable room, away from windows and doors.
---
## 3. Sensor Hardware Recommendations
### 3.1 Multi-Sensor Units
| Sensor | Recommended Model | Protocol | Parameters | Notes |
|--------|-------------------|----------|------------|-------|
| CO₂ + Temp + RH | Aqara TVOC Air Quality Monitor or Senseair S8 (custom) | Zigbee / UART | CO₂, T, RH | NDIR sensor, ±30 ppm accuracy |
| TVOC | SGP41 (Sensirion) | I²C | TVOC, NOx index | Requires 24h conditioning |
| PM2.5/PM10 | Sensirion SPS30 | I²C / UART | PM1.0, PM2.5, PM4, PM10 | Laser-based, long-life fan |
| Radon | Airthings Wave Plus or RadonEye RD200 | BLE / WiFi | Radon (Bq/m³) | Continuous, hourly updates |
### 3.2 Filter Differential Pressure Sensors
| Sensor | Recommended Model | Range | Output |
|--------|-------------------|-------|--------|
| ΔP across each filter stage | Sensirion SDP810 or Dwyer MS-111 | 0500 Pa | I²C / 4-20mA |
One sensor per filter stage (5 total: G4, F7, Carbon, H13, Exhaust F9). Alerts when pressure drop exceeds threshold indicating filter loading.
### 3.3 Outdoor Reference Station
An outdoor sensor station provides baseline comparison:
- PM2.5 / PM10 (verify filtration effectiveness)
- Temperature + Humidity (MVHR efficiency calculation)
- Air pressure (positive pressure verification)
---
## 4. Automation Logic
### 4.1 Demand-Controlled Ventilation (DCV)
The MVHR operates in demand mode, modulating airflow based on sensor readings:
```mermaid
flowchart TD
CO2{"CO₂ Level?"} -->|"< 600 ppm"| LOW["Minimum Flow\n0.5 ACH"]
CO2 -->|"600800 ppm"| MED["Standard Flow\n0.8 ACH"]
CO2 -->|"8001000 ppm"| HIGH["Boost Flow\n1.0 ACH"]
CO2 -->|"> 1000 ppm"| MAX["Maximum Flow\n1.2+ ACH"]
VOC{"TVOC Level?"} -->|"> 500 µg/m³"| PURGE["Purge Mode\nMax flow + alert"]
PM{"PM2.5 Indoor?"} -->|"> 15 µg/m³"| CHECK["Check Filters\nAlert if ΔP normal"]
style MAX fill:#8b0000,color:#fff
style PURGE fill:#8b0000,color:#fff
```
### 4.2 Humidity Control
```mermaid
flowchart TD
RH{"Room RH?"} -->|"< 35%"| HUMON["Activate Steam Humidifier"]
RH -->|"3540%"| HUMLOW["Low Steam Output"]
RH -->|"4060%"| OKAY["Optimal — No Action"]
RH -->|"6065%"| DEHUMLOW["Reduce Humidifier / Light Dehumid"]
RH -->|"> 65%"| DEHUMON["Active Dehumidification + Alert"]
style HUMON fill:#1a5e5e,color:#fff
style DEHUMON fill:#8b0000,color:#fff
```
### 4.3 Filter Maintenance Alerts
| Condition | Action |
|-----------|--------|
| ΔP across any stage > 1.5× initial value | Warning: filter loading, plan change |
| ΔP across any stage > 2.0× initial value | Critical: change filter immediately |
| ΔP drops suddenly | Warning: possible filter seal failure |
| Indoor PM2.5 > outdoor PM2.5 | Critical: filter bypass or seal failure |
### 4.4 Night Mode (Bedrooms)
- Between 22:0007:00, bedroom zones get priority airflow
- CO₂ target tightened to < 600 ppm (sleep quality)
- Fan speed profile optimized for minimum noise
- Living room / kitchen dampers partially closed to redirect airflow
### 4.5 Cooking Mode
- Kitchen hood activation triggers:
- Kitchen zone damper closes (prevents pulling kitchen air into MVHR)
- Dedicated kitchen exhaust activates
- MVHR boost mode engages to compensate for exhaust pressure
- 30-minute timer to return to normal after cooking ends
---
## 5. Home Assistant Integration
### 5.1 Dashboard Elements
| Widget | Data Source | Purpose |
|--------|-----------|---------|
| Air Quality Index (per room) | CO₂ + PM2.5 + TVOC composite | At-a-glance air quality |
| Filter Status (5 stages) | ΔP sensors | Remaining filter life % |
| MVHR Status | MVHR controller | Fan speed, mode, heat recovery % |
| Humidity Map | Room RH sensors | Whole-house humidity overview |
| Radon Trend | Radon monitor | 24h / 7d / 30d trends |
| Indoor vs. Outdoor | Outdoor station vs. indoor | Filtration effectiveness proof |
| Energy Dashboard | MVHR + humidifier power | Running cost tracking |
| Ceiling Heating/Cooling | Manifold actuators + surface temp | Per-zone heating/cooling status |
| Ceiling Surface Temp | Embedded ceiling sensors | Condensation risk indicator (vs. dewpoint) |
| Floor Surface Temp | Embedded floor sensors (if cooling) | Comfort limit monitoring |
### 5.2 Alerting
| Alert Level | Channel | Examples |
|-------------|---------|----------|
| Info | Dashboard notification | Filter approaching change interval |
| Warning | Push notification | CO₂ > 1000 ppm, RH > 65% |
| Critical | Push + audible alarm | Filter failure, PM2.5 spike, radon > 300 Bq/m³ |
### 5.3 Data Logging
All sensor data logged to InfluxDB via Home Assistant for long-term trend analysis:
- 1-minute resolution for CO₂, PM, TVOC
- 5-minute resolution for temperature, humidity
- 1-hour resolution for radon
- Retention: minimum 2 years
---
## 6. Communication Protocols
```mermaid
flowchart LR
subgraph Field["Field Level"]
S1["Room Sensors\n(Zigbee / WiFi)"]
S2["ΔP Sensors\n(I²C / 4-20mA)"]
S3["Outdoor Station\n(WiFi)"]
end
subgraph Bus["Bus Level"]
KNX["KNX Bus\n(MVHR, Dampers, Humidifier)"]
ZB["Zigbee Coordinator\n(Room Sensors)"]
end
subgraph Server["Server Level"]
HA["Home Assistant\n+ InfluxDB"]
end
S1 --> ZB
S2 --> KNX
S3 --> HA
ZB --> HA
KNX --> HA
HA --> KNX
style HA fill:#1a5e5e,color:#fff
```
- **KNX**: Primary bus for MVHR control, motorized dampers, humidifier — wired, deterministic, reliable
- **Zigbee**: Room sensor network — mesh, low power, well-supported in Home Assistant
- **WiFi**: Outdoor station, radon monitors — direct to Home Assistant
- **InfluxDB**: Time-series database for long-term data retention and Grafana dashboards
---
## 7. Wiring Requirements for Baufritz
The following must be specified at construction stage:
| Item | Quantity | Location | Cable |
|------|----------|----------|-------|
| KNX bus cable | 1 run per zone | All zones + technical room | KNX TP (green, 2×2×0.8mm) |
| 230V outlet for room sensor | 1 per room | At sensor mounting point | Standard NYM |
| Cat6 network drop | 1 per room | Near sensor location | Cat6a shielded |
| Dedicated circuit: MVHR | 1 | Technical room | 3×2.5mm² |
| Dedicated circuit: humidifier | 1 | Technical room | 3×2.5mm² (steam = high draw) |
| ΔP sensor cable runs | 5 | Filter housing to technical room | 4-wire shielded |
| Outdoor sensor power + data | 1 | North-facing exterior | Weatherproof outlet + Cat6 |
| Ceiling surface temp sensors | 1 per zone | Embedded in Plafotherm panels | 4-wire shielded |
| Floor surface temp sensors | 2-3 per zone | On/in parquet surface | 4-wire shielded |
**Note**: On the ground floor, KNX bus cable and Cat6 runs can be routed through the Lindner NORTEC Doppelboden cavity instead of wall chases, simplifying installation (see 04-flooring-ceiling-spec Section 6.1).