# Home Automation & Building Monitoring System — Draft Architecture (v1) **Author:** [JP] **Date:** [2025-10-16] **Purpose:** Project draft of a full-stack monitoring and control system for building (200 m², two floors, gas heating) **Status:** Initial design for internal review --- ## 1. System Overview Celem systemu jest pełne monitorowanie i częściowa automatyzacja budynku z kotłownią gazową. Zakres: - zdalny podgląd stanu kotła (Viessmann Vitodens 100-W B1HG), - analiza zużycia mediów (gaz, energia elektryczna, woda), - monitoring temperatur, ciśnienia CO i warunków środowiskowych, - alerty bezpieczeństwa (wyciek, zanik zasilania, przekroczenia progów), - integracja z istniejącą infrastrukturą sieciową i kamerową, - pełny dostęp zdalny (VPN / Tailscale), - integracja w Home Assistant (RPi4). System ma być **modularny** i **niezależny od chmury** (lokalne działanie + opcjonalny remote access). --- ## 2. Physical and Network Infrastructure ### 2.1 Hardware backbone | Element | Model | Funkcja | |----------|--------|---------| | Router | MikroTik (RouterOS, CAPsMAN) | Główny router + VLAN Controller | | Switch | Aruba L2 24x1G PoE+ | PoE dla urządzeń (kamery, ESP, Zigbee hub) | | Access points | MikroTik CAP | Wi-Fi + VLAN tagging | | NVR | Dahua WizSense AI serii 5000 | Rejestrator i analiza obrazu | | Kamery IP | Dahua AI WizSense 2.0 (PoE) | Monitoring + event AI | | RPi4 | Raspberry Pi 4 (4 GB RAM, SSD) | Serwer Home Assistant OS | | Kocioł | Viessmann Vitodens 100-W B1HG | Jednofunkcyjny, 25 kW, z Wi-Fi | | System ogrzewania | TECH SINUM (EH-01, PS-10m, CP-04m) | Sterowanie strefowe podłogówki (6 rozdzielaczy) | ### 2.2 Network segmentation (VLAN plan) | VLAN | Nazwa | Zakres IP | Przeznaczenie | |-------|--------|------------|----------------| | 10 | MGMT | 192.168.10.0/24 | MikroTik, Aruba, HA, Viessmann, TECH | | 20 | CAM | 192.168.20.0/24 | Dahua NVR + kamery | | 30 | IOT | 192.168.30.0/24 | Shelly, Zigbee, ESPHome | | 40 | OFFICE | 192.168.40.0/24 | Sieć biurowa (najemcy) | | 50 | GUEST | 192.168.50.0/24 | Public Wi-Fi (izolowane) | ### 2.3 Access / Remote - VPN (WireGuard / Tailscale) do HA i MGMT VLAN. - HA nie wystawione publicznie — dostęp wyłącznie przez tunel VPN. - Dahua event API dostępne przez MGMT VLAN (tylko read). --- ## 3. Functional Layers ### 3.1 Hardware / Sensors | Kategoria | Urządzenie | Integracja | Funkcja | |------------|-------------|-------------|----------| | Energia | **Shelly Pro 3EM** | MQTT / native | Pomiar energii 3-fazowej (kotłownia + budynek) | | Gaz | Gazomierz G4 + Shelly UNI | ESPHome / MQTT | Licznik gazu (impulsy) | | Woda | Wodomierze Bmeters GSD8-R + Shelly UNI | MQTT | Pomiar zużycia CWU + ZWU | | Ciśnienie CO | Sensor 0–6 bar + ESP32 | ESPHome | Pomiar ciśnienia instalacji CO | | Temp./Wilg. (biura) | Aqara Zigbee T1 | Zigbee2MQTT | Komfort i analiza strat ciepła | | Zalanie / Dym / CO | Shelly Flood / Aqara Smoke | Zigbee / Wi-Fi | Alerty bezpieczeństwa | | UPS | APC Back-UPS 650 | USB / NUT integration | Zanik zasilania | | Kamera | Dahua IP (ONVIF) | Native / MQTT events | Obraz i AI-trigger (np. wyciek, ruch) | --- ### 3.2 Software Stack | Warstwa | Komponent | Funkcja | |----------|------------|----------| | OS | Home Assistant OS (na RPi4 SSD) | Core environment | | Integracje | Viessmann ViCare | Kocioł: temp. zasilania, powrotu, CWU, status palnika | | Integracje | Shelly, ESPHome, Zigbee2MQTT | Sensory i automatyzacja lokalna | | Integracje | Dahua ONVIF / AI events | Wizualizacja i detekcje | | Monitoring | Home Assistant Energy Dashboard | Analiza energii / gazu / wody | | Alerty | HA Notifications / Telegram | Alarmy techniczne i systemowe | | Backup | Google Drive Backup Add-on | Snapshoty automatyczne (codziennie) | --- ## 4. Automation & Intelligence Layer ### 4.1 Primary automations - Auto shutdown heating when window opened. - Alert → ciśnienie CO < 1.0 bar (Telegram + e-mail). - Alert → gaz / energia > 120% normy dziennej. - Motion + leak detection → automatyczny stop pompy. - Zanik zasilania → wysyłka powiadomienia UPS + status kotła. ### 4.2 Analytics - Dzienne zużycie: gaz / prąd / woda. - Raport tygodniowy kosztów eksploatacji (PLN). - Porównanie temperatur pomieszczeń vs. moc kotła. - Historia pracy palnika / wykres modulacji. - Energy balance (input vs. losses). --- ## 5. Security and Access - MikroTik Firewall: - blokada ruchu z VLAN GUEST / OFFICE → MGMT / IOT, - tylko VPN dostęp do HA dashboardu, - monitoring Syslog/Netwatch dla HA. - HA user roles: readonly (najemcy), admin (owner). - HTTPS przez reverse proxy (Caddy / NGINX) + auto Let's Encrypt. - Offsite backup + lokalny snapshot (min. 7 dni retencji). --- ## 6. Roadmap ### Phase 1 (MVP) - HA OS installation on RPi4 (SSD boot). - ViCare integration. - Shelly 3EM (main energy meter). - Gas + water impulses integration. - Basic dashboards (Kotłownia / Energia / Alerty). ### Phase 2 - Pressure sensor (CO), Zigbee sensors (biura). - Alerts (ciśnienie, wyciek, UPS). - Dahua ONVIF integration + AI event triggers. - Energy Dashboard setup. ### Phase 3 - TECH SINUM deep integration (Modbus/REST). - Multi-zone control via API. - Predictive heating logic (HA automations). - Grafana dashboards + InfluxDB data retention. --- ## 7. Open Questions / To Discuss 1. TECH SINUM API — dokumentacja lub sniffing Modbus? 2. Czy Viessmann API ViCare (free tier) zwraca realne zużycie gazu (czy tylko szacowane)? 3. Integracja Dahua AI → webhook vs. MQTT — co stabilniejsze? 4. HA → MikroTik log forwarding — syslog czy MQTT bridge? 5. Czy przenieść HA z RPi4 na NUC, czy wystarczy Pi z SSD? --- ## 8. Appendices **A. Proposed sensor IDs & naming convention** - `sensor.co_pressure_bar` - `sensor.gas_consumption_m3` - `sensor.energy_total_kwh` - `sensor.water_cold_m3` - `sensor.water_hot_m3` - `binary_sensor.water_leak_kotlownia` - `binary_sensor.power_loss` - `climate.office_zone1` **B. References** - Viessmann ViCare API docs - TECH SINUM system (EH-01 / PS-10m) manuals - Shelly Pro 3EM MQTT documentation - Zigbee2MQTT device list - Dahua ONVIF event reference --- *This is a working draft prepared for peer review. Goal: validate architecture, integrations, and hardware logic before full deployment.*