All Projects → jimjibone → Goopenzwave

jimjibone / Goopenzwave

Licence: mit
Go bindings for the openzwave library.

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Goopenzwave

zwave-lib-dotnet
Z-Wave Home Automation library for .NET / Mono
Stars: ✭ 59 (+391.67%)
Mutual labels:  zwave
works-with-home-assistant
Equipment and software that works with Home Assistant
Stars: ✭ 32 (+166.67%)
Mutual labels:  zwave
Home Assistant Config
🏠 Fully documented Home Assistant configuration for a smart-looking place. 😎 Be sure to ⭐️ my repo and copy ideas!
Stars: ✭ 258 (+2050%)
Mutual labels:  zwave
ZWaveGraphHA
Z-Wave Graph for Home Assistant
Stars: ✭ 73 (+508.33%)
Mutual labels:  zwave
addon-zwavejs2mqtt
Z-Wave JS to MQTT - Home Assistant Community Add-ons
Stars: ✭ 68 (+466.67%)
Mutual labels:  zwave
ha-config-ataraxis
My Home Assistant Configs. If you like what you see, please ⭐️my repo. It would encourage me a lot 🤘
Stars: ✭ 146 (+1116.67%)
Mutual labels:  zwave
Bruh2 Home Assistant Configuration
(OBSOLETE) BRUH2 Home Assistant Configuration
Stars: ✭ 205 (+1608.33%)
Mutual labels:  zwave
Bruh3 Home Assistant Configuration
(OBSOLETE) BRUH3 Home Assistant Configuration
Stars: ✭ 347 (+2791.67%)
Mutual labels:  zwave
openHAB-utils
Utilities for use with openHAB
Stars: ✭ 14 (+16.67%)
Mutual labels:  zwave
rzw
Rusty Z-Wave - A native Z-Wave library in Rust
Stars: ✭ 34 (+183.33%)
Mutual labels:  zwave
PyZwaver
Z-Wave library written in Python3
Stars: ✭ 37 (+208.33%)
Mutual labels:  zwave
homeassistant
Home Assistant Config
Stars: ✭ 50 (+316.67%)
Mutual labels:  zwave
libzwaveip
libzwaveip - Control Z-Wave devices from your IP network
Stars: ✭ 76 (+533.33%)
Mutual labels:  zwave
Zwave2Mqtt-docker
Docker container for Zwave2Mqtt Gateway and Control Panel app
Stars: ✭ 29 (+141.67%)
Mutual labels:  zwave
Node Zwave Js
Z-Wave driver written entirely in JavaScript/TypeScript
Stars: ✭ 284 (+2266.67%)
Mutual labels:  zwave
Homeassistant Config
Stars: ✭ 211 (+1658.33%)
Mutual labels:  zwave
zwave-core
Flexible Z-Wave Service Server - Access your Z-Wave nodes fast and independent - Planned/supported: REST-API, Browser UI, MQTT* - Perfect for maintaining big node-numbers, drop-in ozwcp replacement!
Stars: ✭ 19 (+58.33%)
Mutual labels:  zwave
Zwave2mqtt
Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue
Stars: ✭ 352 (+2833.33%)
Mutual labels:  zwave
Homegenie
HomeGenie, the open source, programmable, home automation server for smart connected devices and applications
Stars: ✭ 313 (+2508.33%)
Mutual labels:  zwave
qt-openzwave
QT5 Wrapper for OpenZWave
Stars: ✭ 115 (+858.33%)
Mutual labels:  zwave

goopenzwave

Go bindings for the OpenZWave library.

Warning

This package is still fairly new and so the API is changing pretty rapidly, so be careful if you decide to use it. However, the API will try to mimic the C++ OpenZWave library as much as possible, if it doesn't already, so there shouldn't be many breaking changes.

Most of the C++ OpenZWave library is wrapped now, but should you find anything missing please create a new issue or fork it, implement it yourself and submit a pull request.

Installing OpenZWave

This package requires a system installation of OpenZWave. pkg-config is then used during the build of this package to get the open-zwave library and headers.

Note that package managers may install an old version of the library so a manual build/install from source is preferred.

Example install from source:

  1. git clone https://github.com/OpenZWave/open-zwave.git
  2. cd open-zwave
  3. make -j$(nproc)
  4. sudo make install
  5. You may need to call sudo ldconfig now on linux systems
  6. See the open-zwave/INSTALL file for more information

Get the Package

go get github.com/jimjibone/goopenzwave

Example: gominozw

This package comes with a basic example, gominozw, which is a replica of the original C++ OpenZWave MinOZW utility, now written in Go.

It shows how to set up the Manager with various options and listen for Notifications. Once the initial scan of devices is complete, polling for basic values is set up for the devices.

To install and use:

go install github.com/jimjibone/goopenzwave/gominozw
gominozw --controller /dev/ttyYourUSBDevice

Notes

open-zwave build fails with fatal error: libudev.h: No such file or directory on Debian/Ubuntu

Try installing libudev with apt and build again.

apt-get install libudev-dev
cd open-zwave && make

Crashes instantly on macOS 10.12

Do you see something like this when trying to run something with the goopenzwave package?

$ ./gominozw -h
zsh: killed     ./gominozw -h

You should try building with the -ldflags=-s option. E.g.: go build -ldflags=-s. More info at golang/go#19734.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].