Files
house-spec/specs/02-sensor-automation-spec.md

248 lines
9.5 KiB
Markdown
Raw Permalink Normal View History

# 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).