HAPCES is a system designed to increase interaction variety for the home automation platforms via a REST API and Android Timer App.


  • Provides REST endpoints and resources that integrate with a platform to simplify inspection and control of connected smart-devices
  • Supports platform authentication
  • Endpoints are validated (e.g., URL parameters)
  • Allows testing without platform via mock data
  • Automatically generates interactive documentation
  • Includes a unit test suite for all endpoints
  • Demonstrates API usage via a command-line client to inspect or toggle on/off all connected switches

Timer App

  • Integrates with the API to provide timed-control of a home automation platform’s smart-devices
  • Integrates with home automation platform
  • Provides users with a timer via account creation
  • Smart-devices can be linked to the timer
  • Timer duration and label are customisable
  • Simple design consistently incorporates Material Design
  • Lists devices and their current state
  • Achieved an above average System Usability Score via usability testing

Technology Stacks Used

Home automation platform:

  • Raspberry Pi with Raspbian and Oracle Java
  • openHAB and myopenHAB cloud service
  • Kasa smart plugs


  • Python with Flask
  • Heroku

Timer App:

  • Android
  • Java and Kotlin with Retrofit
  • Firebase Auth and Realtime Database