Skip to content

Craftsman0001/PolyHome

Repository files navigation

Kotlin Android Studio Git

PolyHome

PolyHome is an Android application designed to centralize the control of your smart home. Developed in Kotlin, it allows you to control various home automation equipment, manage automated scenarios, and administer user access.

Minimum compatibility: Android 7.1.1 (Nougat) - SDK 25

Optimized for: Android 15 - SDK 36

Project statement: https://www.lamarmotte.info/wp-content/uploads/2023/01/Android-Projet-PolyHome-5.pdf

Home simulator: https://polyhome.lesmoulinsdudev.com/?houseId=%3ChouseId%3E

To test, open the simulator and use your House ID to see changes in real time.

Application Preview

Authentication & Selection

Login Registration House List
Login Register Houses

Control & Management

Dashboard Device Control Access Management
Dashboard Devices Access

Features

  • Real-time control of lights (On/Off) and openers (Open/Stop/Close for shutters and garages) with immediate visual status feedback.
  • Execution of scenarios (Morning, Evening, Departure, Return). Includes an automatic garage closing after 30 seconds.
  • Ability to mark devices as favorites for quick access on the home screen.
  • Access administration (adding/removing users by login) available to the home owners.
  • JWT Token authentication with storage to avoid frequent reconnections.

Project Structure

  • Api.kt: Communication engine with the PolyHome API.
  • HouseDevicesManager.kt: Core logic for managing devices, favorites, and local commands.
  • DeviceAdapter.kt: Management of the dynamic display (Switches for lights, buttons for shutters).
  • TokenStorage.kt / FavoritesStorage.kt: Asynchronous persistence managers based on DataStore.
  • HouseControlActivity.kt: Main entry point orchestrating the different sections of the application.

Contributors

Last Name First Name GitHub
ASDRUBAL Raphaël Horizon-NTH
DEFOUR Nicolas Craftsman0001

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages