Skip to content

EnergyConsumptionOptimizer/monitoring-service

Repository files navigation

Monitoring Service

License: Apache License 2.0 Version

The Monitoring Service is responsible for ingesting and queering utility consumptions from smart furniture hookups.

Technologies Used

Node.js Express

Database

InfluxDB

Infrastructure

Docker

DevOps

GitHub Actions Gradle Docker Hub Semantic Release Semantic Versioning Conventional Commits Renovate SonarCloud

REST API Endpoints

Health

  • GET /health

Smart Furniture Hookup

  • POST /api/internal/registerSmartFurnitureHookup
  • POST /api/internal/disconnectSmartFurnitureHookup

Measurements

  • GET /api/internal/measurements/{utilityType}
  • POST /api/internal/measurements
  • DELETE /api/internal/measurements/household-user-tags/{username}
  • DELETE /api/internal/measurements/zone-tags/{zoneID}

SOCKET.IO COMMUNICATION

Real-Time Socket

Client Emits

  • subscribeActiveSmartFurnitureHookups
  • subscribeRealTimeUtilityMeters

Server Emits

  • activeSmartFurnitureHookupsUpdate
  • utilityMetersUpdate

Utility Consumptions Socket

Client Emits

  • subscribe(queries: UtilityConsumptionsQueryDTO[])
  • editQuery(query: UtilityConsumptionsQueryDTO)

Server Emits

  • utilityConsumptionsUpdate
  • utilityConsumptionsQueryUpdate

Utility Meters Socket

Client Emits

  • subscribe(queries: UtilityMetersQueryDTO[], interval?: number)
  • editQuery(query: UtilityMetersQueryDTO)
  • deleteQuery(queryLabel: string)

Server Emits

  • utilityMetersUpdate
  • utilityMetersQueryUpdate

Documentation

Documentation of the typescript code base can be found at the typedoc.

Authors

About

E.C.O. monitoring service

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages