Overview
The project combines software, electronics and industrial protocols. A local controller collects telemetry and runs safe strategies, while Core, UI and Cloud separate automation from fleet management.
Problem
Heating control and PV-energy use must continue locally when the internet is unavailable, while still offering diagnostics, history and configuration without mixing device, server and cloud responsibilities.
Solution
An ESP32 running ESPHome handles two DS18B20 sensors, a relay and RS-485. Native Modbus controller components provide RTU transport; Edge publishes authenticated telemetry, Core normalizes devices and automation, and the UI exposes state and diagnostics.
My role
I designed Edge/Core/Cloud boundaries, telemetry and security contracts, automation logic, diagnostics, NestJS/Next.js applications, and safe wiring and self-hosted deployment documentation.
Architecture
GI Edge owns GPIO, UART, RS-485 and Modbus; GI Core never opens serial ports and consumes transport-neutral data. PostgreSQL stores the domain model and Next.js provides the interface. Cloud handles identity, not local automation.
Engineering challenges
Core decisions include local-first fail-safe behavior, telemetry freshness and quality, separation of mains voltage from 3.3 V logic, and explicit SunSpec boundaries. Physical validation on the target ESP32 and installation is still required.
Results and current status
The repository verifies firmware, Core, UI, diagnostics and prepared Modbus/automation paths. Planned hardware validation, OTA and full live SunSpec discovery are not presented as production-complete features.