Skip to content

The OpenZWave Control Panel (ozwcp for short) is an application built on the OpenZWave library that permits users to query, manage and monitor Z-Wave nodes and networks. It provides a web based user interface using AJAX principles.

License

Notifications You must be signed in to change notification settings

ElectricBill/open-zwave-control-panel

 
 

Repository files navigation

ORIGINAL README PRIOR TO MY FORK CAN BE SEEN BELOW AT v0.2a MARK

LATER NOTES FROM 3/2017:

I forked the control panel software in order to bundle it for simple build
and installation on my current Ubuntu systems.  Complete installation
requires build of OpenZWave library in a directory adjacent to the one
this project is downloaded/cloned to.  E.g.:

/home/myhome/zwave/open-zwave
/home/myhome/zwave/open-zwave-control-panel

STEPS TO BUILD FOR THE IMPATIENT (or an overview/preview):

cd /home/myhome/zwave/open-zwave # the support library
make
cd /home/myhome/zwave/open-zwave=control-panel # the application
make
# SET $(OZU) IN Makefile to preferred runtime user, then...
sudo make install

DETAILS - LIBRARY

The library build on my Ubuntu 14.04 boxes for the library was trivial.
Type make and done.

DETAILS - CONTROL PANEL

The build of the application required more effort to adjust and install.
Brief instructions:

You might need to install additional prerequisite libraries.  I needed:

apt-get install libmicrohttpd-dev
apt-get install libgnutls-dev

I assume this will be OK for Debian and spawn too.

As indicated, the Makefile has been adapted to assume the open-zwave support
project has been placed in an adjacent directory, i.e. ../open-zwave.
So if you clone the two projects from GitHub while in a single directory,
you are good to build.  Just make.

The install target uses these locations which seem reasonable to me based
on Ubuntu conventions:

# Installation at
PGMDIR := /usr/local/bin
RUNSHLIBDIR := /usr/local/lib
CONFDIR := /var/lib/ozwcp
RUNDIR := /var/cache/ozwcp

The Makefile allows you to set the user who will own the files and be
used for runtime.  There is a useradd command in the install target that
is commented out and untested.  If you are bill and that's who will run
it, then you are set.  More likely, you will edit the Makefile to change
the setting of OZU.  If appropriate, create the user.

# The user login and id that will run the package
OZU := bill
OZUN := 9281 # the most random number evar

Finally, you can change the service port to your preference:

WPORT := 8821 # HTTP service on this port

Then:

sudo make install

If successful, a script called run-ozwcp will have been written to your
designated program directory, default being /usr/local/bin.  This will also
create a rule file /etc/udev/rules.d/55-z-stick.rules for the Aeon Z-Stick
USB dongle and execute udevadm control --reload.

Plug in the dongle and run-ozwcp.  You should have a web server for Z-Wave
control.

--------------------------------------------------------------------------
Notes on source code changes:

I encountered a linker warning during the build.  It was benign but
annoying so I did this:

The use of the mktemp function is discouraged. Code examination indicates
it is being used to generate paths for subsequent use with
TiXmlDocument.SaveFile() function that requires a file path. 
The method is available with a signature that takes a FILE* instead.
So I modified the code to use mkstemps.

Since the man page for mkstemps notes that it might not be universally
available, the new code is conditioned via #ifdef to be used only in the
absence of -DNO_MKSTEMPS. An appropriate note is in the Makefile. 

============================================================================
OpenZWave Control Panel v0.2a 8/8/2011

Welcome to a very alpha release of the OpenZWave Control Panel.

OVERVIEW

This README for the OpenZWave Control Panel will attempt to provide the
necessary information to compile, use and develop.

The OpenZWave Control Panel (ozwcp for short) is an application built on
the OpenZWave library http://code.google.com/p/open-zwave/ that permits
users to query, manage and monitor Z-Wave nodes and networks. It provides a
web based user interface using AJAX principles.

The code is very new, as is the library, so bugs will be present. This tool
will allow the basic use of Z-Wave devices as well as help push forward the
development of the OpenZWave library.

INSTALLATION

To install ozwcp, visit http://code.google.com/p/openzwave-control-panel/
and click on the "source" tab. You will need an svn client to check out a
copy of the sources.

You will need a copy of the latest version of the OpenZWave library at
http://code.google.com/p/open-zwave/. Use the "source" tab on that project
to get a copy.

ozwcp uses GNU's libmicrohttpd library available at
http://www.gnu.org/software/libmicrohttpd/. I have set up this library
using the --enable-messages configure option for debugging but this is
optional.

All three of these installations should share live in the same directory
(share a common parent). The ozwcp Makefile assumes this.

See Makefile for comments about Mac OS X support. Note: Makefile is
configured to build on Mac OS X; to build on Linux, you will need to
comment out lines under

  # for Mac OS X comment

and uncomment lines under

  # for Linux uncomment

Currently Windows is not supported. It should be possible to port this
to the Window's cygwin environment if anyone is interested in pursing that
option.

OPERATION

ozwcp currently runs from the command line and takes two flags:

-d for debugging
-p <portnum> port number the web server will listen on

Once started, connect to the hostname:postnum that ozwcp is running on
using a web broswer and you will get to the user interface.

Firefox has been extensively tested. Safari works. Intnernet Explorer
doesn't work yet. This is also on the to do list.

ozwcp currently must be run from within its distribution directory. It
serves files that must be present for it to work properly. You may need to
run it as root depending on the port number you use.

CAVEATS

This is an alpha release at best. It has only ever worked in a single
environment. Please report bugs to the OpenZWave google groups mailing list:
http://groups.google.com/group/openzwave.

See the file TODO for a list of things on the to do list.

NOTE

The html/javascript tooltip support came from:
http://sixrevisions.com/tutorials/javascript_tutorial/create_lightweight_javascript_tooltip/

About

The OpenZWave Control Panel (ozwcp for short) is an application built on the OpenZWave library that permits users to query, manage and monitor Z-Wave nodes and networks. It provides a web based user interface using AJAX principles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 47.4%
  • JavaScript 32.3%
  • HTML 17.3%
  • Makefile 1.7%
  • Shell 1.1%
  • CSS 0.2%