A Z-Wave middleware based on top of OpenZWave
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
.editorconfig
.gitattributes
.gitignore
LICENSE
README.md
package.json

README.md

zfunk NPM version Dependency Status

ZFunk is a middleware for integrating Z-Wave controllers, which are compatible with OpenZWave, into home automation management systems.

Goal

I started with Z-Wave by buying a RaZberry daughter board for my Raspberry Pi. After testing several management applications, i decided to develop a solution by myself, because i was quite disappointed with the available apps. I want to have a robust and layered software architecture, which works well with my devices. And no all-in-one application, which may work with many devices, but not with mine very well. So i decided to begin with a simple REST server connected to the the Z-Wave controller to offer the OpenZwave API for the web and be consumed by other applications.

For a real-worl example, please check homebridge-zfunk.

Getting started

  1. Install OpenZWave, see Installation
  2. Install zfunk with npm install zfunk --global

Usage

Run the terminal application, e.g.: zfunk -v -c /dev/ttyUSB20


  Usage: zfunk [options]

  Options:

    -h, --help                       output usage information
    -V, --version                    output the version number
    -c, --com-port [port]            Set [port] for Z-Wave controller. Defaults to "/dev/ttyUSB0"
    -d, --db-path [path]             Set [path] for DB. Defaults to "~/.zfunk/db.json"
    -w, --web-port [port]            Set [port] for REST/WS service. Defaults to "3000"
    -s, --secret-or-key [secret]     Set [secret] for authenticating web requests. Defaults to "ZFunk"
    -u, --users [email1,email2,...]  Allow [emails...] to access API and print out tokens.
    -m, --mount-path [path]          Set [path] to mount files for an UI
    -v, --verbose                    Increase verbosity

Contributors

License

MIT © Sebastian Krüger