Full stack application for monitoring and controlling a terrace heating system
At my parents' home, there is an enclosed terrace for which the heating (underfloor & air) is provided by a Lämpöässä Vmi 9 ground source heat-pump. The heating is tied to one of the heat distribution circuits, and there wasn't a clear and easy way of controlling it. The purpose of this project is to provide a simple UI for monitoring and controlling the heating of the terrace.
The overall architecture is illustrated with the following image:
- Periodical querying of heat-pump values with Modbus TCP connection using libmodbus-library
- A gRPC service using Protocol Buffers abstracting away the lower level heat-pump logic
- An ASP.NET Core Web API acting both as a browser compatible gateway and a service for storing queried heat pump records into a database as well as serving them
- The database of choice is PostgreSQL
- All components are built and deployed using Docker Compose