Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

pimatic

pimatic595GPL-2.00.9.54TypeScript support: included

A home automation server and framework for the Raspberry PI running on node.js

pimatic, home-automation, smarthome, nodejs

readme

pimatic

Build Status NPM version Mentioned in Awesome SmartHome

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 or visit the forum.

Join the chat at https://gitter.im/pimatic/pimatic

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Getting Started

Installation instructions can be found on pimatic.org. If you need any help, please ask at the forum.

Donation

Happy with pimatic and using it every day? Consider a donation to support development and keeping the website and forum up: PayPal donate button

We promise, that pimatic will always be free to use and its code be open sourced.

Get Involved

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

Architecture Overview

+-------------------------------------------+
| mobile-  | rest- | cron | homeduino | ... |  Plugins (Views, Device-/Preidcates-
| frontend | api   |      |           |     |  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 nice ideas for plugins or need support for special devices you are welcome to create an 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-2019 Oliver Schneider <oliverschneider89+sweetpi@gmail.com>
and contributors


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 <http://www.gnu.org/licenses/>.

changelog

Release History

  • 20190906, V0.9.53

    • Fixed bug: Skip log messages which do not contain meta tags and timeStamp
    • Cast null values as part of variable expression to avoid exception "expected ... to have numeric value" in case of uninitialized attributes on startup
    • Changed cassert dependency to work-around permission issue with npm link
    • Added Systemd service wrapper for pimatic. The Initd service wrapper is now deprecated. See also https://pimatic.teamemo.com/Guide/Autostarting
  • 20190823, V0.9.52

    • Fixed bug in variable expression handler introduced by earlier refactoring
  • 20190822, V0.9.51

    • Added "enableActiveButton" property to ButtonsDevice configuration schema to control display active button feature
    • Added support for unix sockets, PR #1124, thanks @Unkn0wn-MDCLXIV
  • 20190702, V0.9.50

    • Dependency fixture for cassert package
    • Build includes bundledDependencies as several users had issues with the unbundled build v0.9.49
  • 20190627, V0.9.49

    • Added blacklist mechanism to filter-out non-functional or obsolete plugins from list of installable plugins
    • Optimization for Docker
      • Added support for using pm2-docker as an alternative to using the service daemon for docker containers
      • Added experimental install mode to perform sqlite3 installation and generation of JS files as part of the docker image build
    • Updated to sqlite3@4.0.9 for node v12 and Raspbian Buster support
    • Updated documentation reference
  • 20190414, V0.9.48

    • Added config extension for Shutter position labels
    • Fixed creation of variables for new attributes on changed (edited) device
    • Fixed catch statement missing error parameter on device initialization
    • Updated dependencies
  • 20190324, V0.9.47

    • Added minimal implementation for xAttributeOption displayFormat to support custom attribute value formats with pimatic-mobile-frontend
    • Revised localization files, thanks @hvdwolf (nl.json)
    • Updated dependencies
    • Revised README
  • 20190220, V0.9.46

    • Added module alias for 'i18n' to support plugins requiring it via pimatic env, thanks @madison5 for highlighting this issue with pimatic-fronius-solar
  • 20190213, V0.9.45

    • Upgraded to sqlite3@4.0.4 which is required to support node v10
    • Updated dependencies
  • 20190128, V0.9.44

    • Migrated to lodash 4
    • Now using a derivation of i18n o work-around installation issues
  • 20180626, V0.9.43

    • Added log output for Node.js and OpenSSL version on startup
    • Include id on "device not found" error, issue #1100
    • Added new functions: sign, trunc, diffDate, log
    • Replaced deprecated defineGetter feature with Object.defineProperty() API
    • Removed gittip badge as Gittip/Gratipay went out of business