Skip to content
forked from pimatic/pimatic

A home automation server and framework for the raspberry pi running on node.js

License

Notifications You must be signed in to change notification settings

n3roGit/pimatic

 
 

Repository files navigation

pimatic

Build Status NPM version Gittip donate button PayPal donate button

pimatic is a home automation framework that runs on node.js. It provides a common extensible platform for home control and automation tasks.

Read more at pimatic.org.

Version 0.8 is ready for testing

pimatic version 0.8 is now available for installation in the npm-registry. Please do a complete reinstallation instead of a update from 0.7. Read more about it here.

More information about the changes.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Motivation - Why Node.js?

Why not just using php with apache, nginx or C++?
Because Node.js is fancy and cool and javaScript is the language of the internet of things. No, to be seriously: Because Node.js with its event loop, asynchronously and non-blocking programming model is well suited for home automation tasks. Have you ever tryed implementing a cron like job in php? In addition there are tons of easy to use packages and libs.

But the Raspberry Pi ist not very powerful, won't JavaScript be very slow?
Yes and No, JavaScript is surely slower than C, but its getting faster and faster and runs very well on arm devices. Because disk access and network latency should be the real bottleneck of the pi, Node.js could perform well better than c++ because of its non blocking nature.

Getting Started

Install instuction can be found on pimatic.org.

Documentation

pimatics source files are annotated with literate programming style comments and docs. You can browse the self generated documentation with the source code side by side.

Get Involved

pimatic is your opportunity to contribute to a growing OpenSource-Project.

Architecture Overview

+-------------------------------------------+
| mobile-  | rest- | cron | pilight   | ... |  Plugins (Views, Device-/Preidcates-
| frontend | api   |      | (adapter) |     |  Action-Provider, Services)
|-------------------------------------------|
| pimatic (framework)                       |  Framework
|-------------------------------------------|
| rule   | device    | (core)     | (core)  |  Model
| system | schemata  | predicates | actions |
|-------------------------------------------|
| node.js (non-blocking, async IO,          |  Low-Level Infrastructure
| event-loop, v8)                           |
+-------------------------------------------+

Extensions and Hacking

The framework is built to be extendable by plugins. If you have devices that are currently not supported please add a plugin for your devices. As well, if you have a nice Ideas for plugins or need support for specials actuators you are welcome to create a issue or submit a patch.

For plugin development take a look at the development guide and plugin template.

Feel free to ask development questions at the plugin template repository.

Copyright / License

Copyright (C) 2014 Oliver Schneider <[email protected]>


pimatic is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

pimatic is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with pimatic.  If not, see <https://www.gnu.org/licenses/>.

About

A home automation server and framework for the raspberry pi running on node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published