Skip to content

gitter-badger/digs

 
 

Repository files navigation

digs 🏠

A home automation server written in JavaScript

Hi! Could use your help (yes, you).

This project has lofty goals. digs, ultimately:

  • should be first-class home automation server
  • should support an assortment of interfaces, including:
    • a RESTful API
    • a slick user interface
    • a command-line interface
    • a MQTT interface
  • should support a wide range of:
    • devices
    • configurations
    • communication protocols
    • storage options
  • should be easy to configure
  • should be well-documented and well-tested

If this sounds good to you, I'm hoping you can lend a hand. I am but a man. Send a PR, create an issue to discuss, or shoot me (Christopher Hiller) an email.

What's Implemented Now

  • Local device configuration (things like Arduinos connected via USB)
  • Local component configuration (Johnny-Five Components; see API)
  • hapi-digs: Hapi Plugin
    • A simple RESTful API
    • GET board and component lists and detail
    • Execute any public method of a configured component via POST request
  • hapi-digs-example: Demo!

Roadmap

Roughly in order of importance.

  • Make issues for this crap.
  • Breakout routing and Hapi plugin into own module
  • Plugin API
    • Think about entry points into core API
    • Hell, define the core API. What is it, exactly?
    • Implement hooks, events, etc.
  • Document RESTful API; Swagger?
  • Scheduled tasks
    • Persistent storage?
  • WiFi device configuration & communication
    • Document MQTT protocol
    • Expose MQTT "broker"
    • Leverage Mosca when support for io.js 2.x lands.
    • Learn just wtf "QoS" is.
  • Hot-plugging; on-the-fly configuration
  • Abstraction layer; communicate with things like ATtiny devices (unless that SoftwareSerialFirmata library ever gets written)
  • UI
  • CLI
  • Sandbox
  • Run as daemon
  • Get a sweet logo
  • to be continued...

Author

Christopher Hiller

License

MIT

About

A home automation server written in JavaScript

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%