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.
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.
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.
Install instuction can be found on pimatic.org.
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.
pimatic is your opportunity to contribute to a growing OpenSource-Project.
+-------------------------------------------+
| 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) |
+-------------------------------------------+
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 (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/>.