home.js
home.js copied to clipboard
OBSOLETE: General (home) automation framework based on node.js.
home.js
IN PROGRESS!
Overview
General (home) automation framework based on node.js and mongoDB.
The aim is to provide a general framework for home/build automation that can be used for example to control the lights on when the motion detector can see the movement.
Features (planned)
- Upgrade directly from web UI
- Users and groups + authentication
- node.js based server with flexible db (mongoDB)
- HTTP RESTful API
- single-page front-end (really fast)
- schedules scripts
- action scripts
- Email alerts (e.g. if temperature goes over limits)
- Supported hardware:
- onewire (owfs/etc)
- RESOLV VBus (heating system measurement)...
- zwave (zwave.me/etc)
- remote reading of electricity
- Onkyo Receiver
- ...
Installation
See INSTALL file.
Dependencies
- nodejs
- mongodb
- owfs (will be optional dependency)
- limitations: owfs support only Linux.
- I've thinking to start using some other onewire library
Used node modules
- express
- express-resource
- mongoose
- uuid
- owfs
- emailjs
- cron
- hoard
- winston
- keypress
- optimist
- daemonize2
- mongoose-query
Front-end libraries
Test
API Tested against node.js versions
| 0.10 | 0.8 | 0.6 |
|---|
HW requirements
- Supported OS: Linux/partially windows
- Supported HW: Raspberry Pi & x86 based systems
API
HTTP API /api/v0
REST Collections
- user [HTTP] /user
- User collection
- group [HTTP] /group
- User groups
- event [HTTP] /event
- System events
- action [HTTP] /action
- Action scripts
- schedule [HTTP] /schedule
- CRON schedules
- device [HTTP] /device
- device metadata
- device.event [HTTP] /device/:device/event || /device/event
- device events
- device.data [HTTP] /device/:device/data || /device/data
- Measure data
- rules [HTTP] /device/:device/rule || /device/rule
- Immediately rules when data received. If rule(s) match, start execute action(s)
Query parameters:
[q=
To do
- [x] basic test steps against API
- [ ] nice GUI - work in progress
- [ ] more functionality - work in progress
- [ ] plugin functionality
Contributors
- Jussi Vatjus-Anttila
License
Released under the MIT License. See LICENSE file.
Copyright � 2013 by Jussi Vatjus-Anttila.


