Skip to content

drewandre/palette

Repository files navigation

This project is a work-in-progress. While the app does run an M-SEARCH request to return any Philips Hue bridges on local network, this master branch only writes color to a Bridge through the terminal.

alt text

Description

Palette is a dashboard for controlling Philips Hue smarts bulbs.

  • Users can sign in and search for a Philips Hue bridge on their network. Once setup, users have control over one, or multiple bulbs and can store master preset scenes (future feature).
  • Users can search for color palettes, create a color palette (future feature), or drag a photo onto the screen and create a color palette automatically using the Vibrant.js library.
  • Users can tap into live API data and use this data to influence lighting parameters. Why? As a user of Palette for the home, you can tap into their current playing song through the Spotify API and change the palette of the room with each song change/genre change, or shift the color palette towards warmer temperatures as you wake up. As a user of Palette for a corporate lobby setting, you could tap into your company's Twitter account / Stock data and trigger events on each mention of your company, or increase the perceived energy of an effect when stock prices are up.

TODO:

  • Replace Settings tile with a Scenes tile, allowing for user to retain preset color palettes across multiple bulbs and store master room settings.
  • Add flexible dividers to main color palette display so that user can adjust how much of each color is present in each palette.
  • Add color picker to <ColorPaletteDisplay /> so each color on a palette can be tweaked.
  • Link live API data to parameters. Initially, exact influence calculations will be hard-coded (what does an x increase in a company's stock actually do? and how much influence does it have over that action?), but eventually will be user-defined. I.e. a user can sign into their twitter, search for a hashtag, and define an action every time event is received.

Technologies

  • Backend: Rails 5.1.2, Huey
  • Frontend: React.js
  • Database: PostgreSQL
  • State management: Redux
  • Palette generation: Vibrant.js / dropzone.js
  • User Auth: bcrypt-ruby
  • Styling: CSS3 & Foundation
  • Testing: RSpec, Capybara, Jasmine, Karma, Enzyme

To run locally

  • Install Ruby.2.4.1
  • In a terminal, run git clone https://github.com/drewandre/palette-dashboard.git
  • Navigate to the project's root directory with cd palette-dashboard
  • Run bundle install && npm install && rake db:setup && rake db:seed
  • In a separate terminal, run foreman start
  • Visit http://localhost:5000/ in your browser.

About

Rails/react dashboard for controlling Phillips Hue smart bulbs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published