Skip to content

cooperbell/HomeHub

Repository files navigation

HomeHub

iPad app to control my home's smart devices + show spotify current playback.

Written in Swift 5 using UIKit and the Model-View-ViewModel design pattern.

I created this app for a few reasons:

  • as a way to take a mental break from my larger project, listMaven
  • when friends are over they cannot control my lights themselves, so this gives them an easy way to do it
  • and because I didn't like using August's app with their unusally poor UI/UX.

This app is akin to a home-cooked meal (s/o @bmitchinson), meaning that it's just for my own use, is not customizable, and is essentially done besides bug fixes and updates as I see fit.

app screenshots

Components:

Lights

The lights are Phillips Hue A19 white-light dimmable bulbs. I am using the SwiftyHue library to control them. Every few seconds it polls the lights' state; Changing the slider values or tapping the light bulb icon submits a new light level to the phillips api.

Lock

The lock is an August Wi-Fi Smart Lock. I am using Alamofire to hit their unpublished api endpoints. Every few seconds it polls lock state; Tapping the button submits a request to lock/unlock.

Music

I hooked up my Spotify account using this awesome library. Like the other components, it polls what's currently playing every few seconds, showing the album image, track name, artists, and song progression. Supports an empty state when nothing is playing.

UI

The UI's design is heavily influenced by listMaven and was created using Figma.

About

Swift app to control my home's smart devices + show spotify current playback

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published