Updated OpenZWave Control Panel and wrote an installer (Linux only, super easy, not portable)

1,115 views
Skip to first unread message

Ian C

unread,
Apr 16, 2015, 9:16:32 PM4/16/15
to ope...@googlegroups.com
Hi everyone,

Seems like the two major open source ZWave tools are Habmin and OpenZwave Control Panel (ozwcp). Ozwcp was written by Greg Satz, who did an excellent job, but ozwcp hasn't been updated in a long time, no longer compiles properly, and has some other general issues that have relegated it to a very niche group of folks willing to debug it, edit make files, find dependency libraries etc.

So, I went ahead and forked the project on GitHub, updated the makefile, changed a couple other things, and wrote a (terrible) installer script. Right now, the script will download all needed libraries (except tar and BASH) and then make a shiny, pretty Z-Wave control panel, complete with the latest ZWave Device database that's part of the OpenZWave project.

To use:
  1. Go to my fork of ozwcp here - https://github.com/phaerus/open-zwave-control-panel
  2. Download however you like, as Zip or as a Git clone (the "master" branch if you're wondering)
  3. make sure you have execute permissions on the installer.sh file (chmod u+x installer.sh as root)
  4. Change your directory to where you extracted the files
  5. run ./installer.sh
  6. Stop OpenHab, if running, and make sure whatever user you run build/ozwcp from has read and write access to your ZWave device (in my case, /dev/ttyUSB0). Running as root gets around this, but do so at your own risk.
  7. be wary of permissions on /dev/ttyUSB0 (or whatever the device name you use for your zwave hardware interface, I use an Aeon ZStick). Default on my system is that the dev is root accessible only, and this is very untested code, so I wouldn't recommend running the code as root.

So... please let me know if you guys like this. I hope it helps in debugging and setting parameters for the plethora of ZWave devices out there. If there's demand, I can create a proper portable build system and maybe start updating some of the legacy code.

If Chris reads this thread -- do you use OZW in the OpenHab ZWave binding? Or did you and Brian re-implement everything from scratch?

Thanks all, please let me know how it goes.

Edit 2015-05-08: Updated instructions to remove erroneous reference to installer location

Chris Jackson

unread,
Apr 17, 2015, 3:22:56 AM4/17/15
to ope...@googlegroups.com
>
> If Chris reads this thread -- do you use OZW in the OpenHab ZWave binding? Or did you and Brian re-implement everything from scratch?

The OH binding doesn’t use OZW - it’s written from scratch. OZW is used as a reference (on of many) for implementing command classes, but it’s not used directly. When I first started with OH, I tried to get OZWCP to work on my Mac, but couldn’t, so one of the first things I did was implement the configuration interfaces…

One thing I suspect you forgot off your ‘how to run’ list is that I guess you need to stop openhab first or OZWCP won’t be able to access the port?

Cheers
Chris

Ian C

unread,
Apr 17, 2015, 8:32:33 AM4/17/15
to ope...@googlegroups.com
Ahh yes, you're correct re: the need to stop open hab. Sometimes OH or OZWCP don't clear the port lock file either, but that's something I didn't want to include in the instructions

I've had similar issues just trying to understand what information is actually on the hardware vs needs to be stored in OZW or the OH binding. I wish the SerialAPI documentation was public.

Also, do you know of any good instructions for setting up a Mac VM? I'm sure I could get it to build in MacOS if I have a test system

Chris Jackson

unread,
Apr 17, 2015, 2:38:19 PM4/17/15
to ope...@googlegroups.com
>
> Also, do you know of any good instructions for setting up a Mac VM? I'm sure I could get it to build in MacOS if I have a test system

Nope - sorry, no idea… I just decided to put my time into the binding and HABmin :)

Chris

Siegfried H.

unread,
Apr 18, 2015, 6:33:46 AM4/18/15
to ope...@googlegroups.com

I just decided to put my time into the binding and HABmin :)

Very good decision, we all have much benefit from that.

Siegfried

G. Insinga

unread,
Apr 30, 2015, 7:47:02 AM4/30/15
to ope...@googlegroups.com
Hi Ian,
I have tried your installer, but without success.

May be I incurred in a misinterpretation of some of your instructions, so - first of all - a couple of questions:
In point 4 of your instructions:
- you did not asked to run installer.sh as root, so I did it as a "normal" user; is this correct?
- You say 'run ./installer.sh from the "build" folder that it creates': but to me it seems (I beg your pardon) a nonsense: if it (./installer.sh) creates the "build" folder (and this seems to be the case), how is it possible tu run ./installer.sh from the folder that it has not yet created (since it has not yet been run)?

Then the results in the attached file (I was not able to recover the long printout of the installer.sh from the terminal window, but only the last part.
If so advised, I may clean the unzip folder, find a way to collect the whole ./install.sh output and upload (I should redirect some stream I suppose - forgive me since I am not very familiar with Linux)).

Cheers
 

partial log from installer.txt

Ian C

unread,
May 8, 2015, 3:20:43 PM5/8/15
to ope...@googlegroups.com
Hi G. Insinga,

Sorry for the delay in getting back to you. Re: root vs normal user, the script doesn't do anything that I'm aware would need root.

re: installer location -- you're exactly correct. I definitely typed up the instructions incorrectly. Sorry for that! and thank you for pointing it out :-) The installer creates the build folder to download and compile, definitely can't run the installer from a folder that doesn't exist before the installer is run. I'll edit the OP and update the readme in the next commit. 

From the log, the first stage of build failed, so it's likely got to do with running from a different directory. The script assumes that you run it from the directory it's in -- it's very dumb and uses relative paths, so won't work if you call it from a different directory.

Try running the script just from that directory. So if it's in /home/foo/ozwcp, then cd to /home/foo/ozwcp, then run ./installer.sh

If that works/ doesn't work, please let me know. And if there's anyone else interested (and someone can point me to a good makefile tutorial), I can try writing a "real" cross platform installer.

Thanks!
Reply all
Reply to author
Forward
0 new messages