All Projects → daringer → zwave-core

daringer / zwave-core

Licence: GPL-3.0 license
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!

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to zwave-core

Home Assistant Configuration
My Home Assistant Config. For more Information visit ->
Stars: ✭ 102 (+436.84%)
Mutual labels:  mqtt, homeautomation, zwave, homeassistant
Pai
Paradox Magellan, Spectra and EVO, with MQTT, Signal, Pushbullet, Pushover and others
Stars: ✭ 185 (+873.68%)
Mutual labels:  mqtt, openhab, homeassistant
Homeautomation.codesys3
Home Automation system build in CoDeSys 3 with MQTT communication to any third party Home Automation software
Stars: ✭ 55 (+189.47%)
Mutual labels:  mqtt, homeautomation, openhab
Home Assistant Config
My Home Assistant Configuration 🏡🏡
Stars: ✭ 133 (+600%)
Mutual labels:  mqtt, zwave, homeassistant
Homeassistant Config
Configuration for @brianjking & @KinnaT's Home Assistant Installation
Stars: ✭ 80 (+321.05%)
Mutual labels:  homeautomation, zwave, homeassistant
maestrogateway
Manage MCZ pellet stoves that are equipped with Maestro technology
Stars: ✭ 30 (+57.89%)
Mutual labels:  homeautomation, openhab, homeassistant
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+18252.63%)
Mutual labels:  mqtt, homeautomation, homeassistant
Haswitchplate
LCD touchscreen for Home Automation
Stars: ✭ 666 (+3405.26%)
Mutual labels:  mqtt, homeautomation, homeassistant
Addon Zwave2mqtt
Z-Wave to MQTT - Home Assistant Community Add-ons
Stars: ✭ 58 (+205.26%)
Mutual labels:  mqtt, zwave, homeassistant
Mqtt Ir Transceiver
ESP8266 based bidirectional bridge between MQTT and IR (change MQTT message to IR signal and change received IR signal to MQTT message)
Stars: ✭ 130 (+584.21%)
Mutual labels:  mqtt, openhab
Frigate
NVR with realtime local object detection for IP cameras
Stars: ✭ 1,329 (+6894.74%)
Mutual labels:  mqtt, homeautomation
Gbridge
gBridge.io allows you to control (almost) anything with Google Assistant, by translating voice commands to MQTT messages.
Stars: ✭ 152 (+700%)
Mutual labels:  mqtt, homeautomation
Tuya Mqtt
Nodejs-Script to combine tuyaapi and openhab via mqtt
Stars: ✭ 105 (+452.63%)
Mutual labels:  mqtt, openhab
Ems Esp
ESP8266 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
Stars: ✭ 226 (+1089.47%)
Mutual labels:  mqtt, homeassistant
Hugo Esp8266
Hugo is a 4-button ESP8266 Wi-Fi Remote, Arduino compatible and simple to use.
Stars: ✭ 77 (+305.26%)
Mutual labels:  mqtt, homeassistant
Platypush
A versatile and extensible platform for home and life automation with hundreds of supported integrations
Stars: ✭ 192 (+910.53%)
Mutual labels:  mqtt, zwave
openHAB-utils
Utilities for use with openHAB
Stars: ✭ 14 (-26.32%)
Mutual labels:  openhab, zwave
Zwavejs2mqtt
Zwave to Mqtt gateway and Control Panel Web UI. Powered by Nodejs, ZwaveJs and Vue/Vuetify
Stars: ✭ 195 (+926.32%)
Mutual labels:  mqtt, zwave
ha-birthdays
Birthday integration for HomeAssistant
Stars: ✭ 14 (-26.32%)
Mutual labels:  homeautomation, homeassistant
Zwave2Mqtt-docker
Docker container for Zwave2Mqtt Gateway and Control Panel app
Stars: ✭ 29 (+52.63%)
Mutual labels:  zwave, ozwcp

This project is closing its doors. With the advent of https://github.com/cgarwood/homeassistant-zwave_mqtt using https://github.com/OpenZWave/qt-openzwave a.k.a. ozwdaemon there is not much more I could wish for (let's say they stole, my idea if anyone is asking 😄). In good open-source fashion I'll better invest into these projects instead of re-inventing the wheel. It was a short, but fun ride...

to be an archive soon


Z-Wave Core - Complete, flexible, pluggable

  • Maintain, troubleshoot, investigate the details of your Z-Wave network
  • You are simply looking to (finally) replace ozwcp to maintain your network hassle-free? here you go!
  • Access to your network from any automation with REST or publish your network as MQTT! (not yet available)

Buy Me A Coffee Or Beer

The current status:

  • Z-Wave backend / REST API: beta

  • Browser Frontend: alpha

  • exposing your Z-Wave network as MQTT client alpha, not for daily use, yet

    • Activating mqtt (within HA) and its discovery, allows full GUI based configuration
    • Within zwave-core just run start.py once the network is ready, visit: http://<my_zwave_core_ip>:8123/mqtt

Quickstart

  1. start somewhere, e.g., cd /tmp

  2. git clone [email protected]:daringer/zwave-core.git

  3. make sure you've python > 3.x installed

  4. install venv using pip: python -m pip install venv

  5. create a fresh virtual environment and activate it:

python -m venv /tmp/zwave_core_venv
source /tmp/zwave_core_venv/bin/activate
  1. install the requirements:
cd /tmp/zwave-core
python -m pip install -r requirements.txt
  1. locate your essential Z-Wave files and copy them into the zwave-core directory (this makes sure that you'll change nothing within your current Z-Wave using tool):
# for example for home-assistant
cd ~/.homeassistant
cp zwcfg_0xf5b17667.xml pyozw.sqlite zwscene.xml options.xml /tmp/zwave-core/
  1. locate (and determine) your openzwave installation (flavor), see at openzwave. For me, I prefer the system-wide as having open-zwave installed through my pacman-ager. So for me its: /etc/openzwave

  2. check if your controller serial device (something like /dev/ttyACM0) is writeable

  3. simply run:

cd /tmp/zwave-core
python zwave_core/start.py
  1. start a browser and visit: 127.0.0.1:5000/frontend

Now to start the network, just make sure that the 4 input fields in the top left are correct. Controller device /dev/ttyACM0, openzwave database directory /etc/openzwave, user-dir is our current workdir, where we copied the openzwave files to for safety: ..

Once done click "ON" in the top left corner and wait while watching the event-log being populated by the tasks the controller is executing...

The Vision

ZWave-core shall---as the name suggests---be the core component for the interaction with Z-Wave devices and the network. Providing a highly transparent and accurate interface into the Z-Wave protocol and not hiding any detail. Using a REST API this transparency is delivered in a platform independent, easy accessible way.

A dynamic, web-based and reactive interface is exposing this REST API to the browser, serving as a clear window into the Z-Wave world. In order to transport the high dynamic of the Z-Wave network, websocket-based push is a must allowing the receiver side to not miss any information within the network with the smallest possible latency.

In contrast to this plain, bare-metal approach the major distinguishing feature will be the MQTT layer, which introduces a abstraction layer between any home-automation system and the Z-Wave network in order to seperate what does not belong together: physical and functional layers. While the former is deployable standalone, without prior knowledge of the surroundings despite the Z-Wave network itself, the latter has the freedom to not care about the physical layer at all and focus on the functional, end-user focussed challenges. So, in simple words zwave-core provides a Z-Wave to IP bridge allowing simplicity in Z-Wave management bridging the gap between WiFi and the ISM band.

REST API

URL Methods Description
/net GET ...
/net/actions GET
/net/action/action POST
/net/ctrl/actions GET
/net/ctrl/action/action POST
/net/opts GET,DELETE,PATCH,POST
/net/signals GET
/nodes GET
/node/int:node_id GET,PATCH
/node/int:node_id/value/int:value_id GET,POST
/node/actions GET
/node/int:node_id/action/action POST
/toc GET

Browser Frontend

127.0.0.1:5000/frontend ...

MQTT

There are several ways to access the zwave nodes and entities.

  • zwave/raw/<node_id>/# will provide you an extensive list about all lan-devices, including c onfigs, read-only, ...
  • homeassistant/<component type (e.g., sensor)>/<node_id>/state#' will be populated automaticly
  • there will later also be the option to change how a specific device/entity is exposed to the outer world (providing the means to realize fixes/abstraction, alredy within zwave-core to keep home-assistant free from unneeded clutter.

Status

Documentation

Realizations

Contribute

Screenshots


full node view, any possible detail on one screen, directly editable, instant feedback, websocket driven event log in the top right corner


controller view, less configuration, full ajax frontend (oczwp-replacement), full REST-api already available


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