All Projects → Roba1993 → rzw

Roba1993 / rzw

Licence: MIT License
Rusty Z-Wave - A native Z-Wave library in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rzw

homeassistant
Home Assistant Config
Stars: ✭ 50 (+47.06%)
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 (+329.41%)
Mutual labels:  zwave
R30X-Fingerprint-Sensor-Library
Arduino library for R30X series optical fingerprint scanners.
Stars: ✭ 13 (-61.76%)
Mutual labels:  serial
addon-zwavejs2mqtt
Z-Wave JS to MQTT - Home Assistant Community Add-ons
Stars: ✭ 68 (+100%)
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 (-44.12%)
Mutual labels:  zwave
pySerialTransfer
Python package to transfer data in a fast, reliable, and packetized form
Stars: ✭ 78 (+129.41%)
Mutual labels:  serial
nextion
Nextion serial client
Stars: ✭ 14 (-58.82%)
Mutual labels:  serial
asynckit
Minimal async jobs utility library, with streams support
Stars: ✭ 21 (-38.24%)
Mutual labels:  serial
yahdlc
yahdlc - Yet Another HDLC implementation
Stars: ✭ 47 (+38.24%)
Mutual labels:  serial
jacdac-ts
Jacdac TypeScript library
Stars: ✭ 17 (-50%)
Mutual labels:  serial
sack.vfs
Node addon which adds a virtual file system interface; websockets; json(6) parsing; sql support(sqlite,odbc); javascript sched_yield; ssl certificate generation; more...
Stars: ✭ 29 (-14.71%)
Mutual labels:  serial
works-with-home-assistant
Equipment and software that works with Home Assistant
Stars: ✭ 32 (-5.88%)
Mutual labels:  zwave
termission
Cross-platform Serial (COM Port) / TCP Terminal with Scriptable Auto-Response
Stars: ✭ 39 (+14.71%)
Mutual labels:  serial
BOSCH-GLM-rangefinder
Python script to remote control a BOSCH GLM 100C rangefinder via its Bluetooth serial interface
Stars: ✭ 41 (+20.59%)
Mutual labels:  serial
pigpio-client
A nodejs client for pigpio socket interface.
Stars: ✭ 24 (-29.41%)
Mutual labels:  serial
ESP32-3DPrinter-Bridge
A network <=> ESP32 <=> USB (FTDI) <=> 3D printer Bridge
Stars: ✭ 30 (-11.76%)
Mutual labels:  serial
libzwaveip
libzwaveip - Control Z-Wave devices from your IP network
Stars: ✭ 76 (+123.53%)
Mutual labels:  zwave
Raspberry-Pi-Electricity-Monitor
Software for monitoring the electricity consumption of a home with a Raspberry Pi
Stars: ✭ 33 (-2.94%)
Mutual labels:  serial
qt-openzwave
QT5 Wrapper for OpenZWave
Stars: ✭ 115 (+238.24%)
Mutual labels:  zwave
vx8 gps
DIY GPS module for Yaesu VX-8DR/VX-8DE handheld transceiver.
Stars: ✭ 41 (+20.59%)
Mutual labels:  serial

Rusty Z-Wave

The rzw crate provides a native functionality to control a Z-Wave network over a USB Z-Wave dongle. It's completely written in Rust to ensure safety and performance.


Compatibility

The rzw crate depends on the serial create, which is compatible with Windows and any Unix operating system that implements the termios API. The following platforms are confirmed to be compatible:

  • Linux (x86_64, armv6l)
  • OS X (x86_64)
  • FreeBSD (amd64)
  • OpenBSD (amd64)
  • Windows (x86_64) Compiling the rzw crate requires Rust 1.9 or later.

Usage

Add rzw as a dependency in Cargo.toml:

[dependencies]
rzw = { git = "https://github.com/Roba1993/rzw" }

Use the rzw::Controller as starting point to communicate, with the Z-Wave network.

extern crate rzw;

fn main() {
    // Access the zwave network
    let zwave = rzw::open("/dev/tty.usbmodem1411").unwrap();

    // get all node ids
    let nodes = zwave.nodes();

    // loop over the nodes
    for node in nodes {
        // print the available command classes for each node
        println!("{:?}" zwave.node(node).map(|n| n.get_commands()));

        // set the basic value on all nodes
        // for binary switch this means, turn them on
        zwave.node(node_id).map(|n| n.basic_set(0xFF)).unwrap();
    }
}

Resources


Thanks

  • To the serial-rs team - who made this crate possible.

License

Copyright © 2016 Robert Schütte

Distributed under the MIT License.

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].