Skip to content

Full stack application (C++, C#, TypeScript) for monitoring and controlling a terrace heating system

License

Notifications You must be signed in to change notification settings

aleksi-kangas/terrace-heating

Repository files navigation

Terrace Heating

Heat Pump Service Heating Gateway UI

Full stack application for monitoring and controlling a terrace heating system

Motivation

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.

Features & Architecture

The overall architecture is illustrated with the following image:

Architecture

  • 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

UI

Dashboard

Graphs

Schedules