README
digs
A home automation server written in JavaScript
Achtung!
This project is under heavy development and probably won't do much of anything at any given time.
The latest development release will be published under the devel
tag. To get it:
$ npm install digs@devel hapi@^8
In addition, the bundle-digs repo includes all other projects as submodules, if you just want to grab them all at once.
Project Goals
Hi! Could use your help (yes, you).
This project has lofty goals. digs, ultimately:
- should be first-class home automation server
- should be modular
- should support an assortment of interfaces, including:
- should support a wide range of:
- devices
- configurations
- communication protocols
- storage options
- authenticate schemes
- should "just work"
- should be easily extendable for your own setup
- should support serial devices
- should work in real-time
- should be well-documented
- tutorials
- full API docs
- should be well-tested
- 100% unit test coverage
- a plethora of integration tests
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.
Installation
Hapi (>= 8.0.0 < 9.0.0) is a peer depdency of this package, so:
$ npm install digs hapi
Contributing
See CONTRIBUTING.md.
Project Organization
digs is divided into multiple projects. This tends to change daily as projects are renamed, removed or created. But as of this writing:
- digs - A Hapi plugin which makes everything work
- digs-common - A moatload of common objects and functions shared by various packages
- digs-data - Abstraction layer for persistent storage
- digs-serial - Serial device plugin
- digs-dev - Common development dependencies (
devDependencies
) - digs-messenger - Messaging protocol plugin
- digs-mqtt-broker - Flimsy MQTT broker if you don't have a proper one
- docker-digs - Docker image for Digs
Roadmap
TODO
Author
License
MIT