Code Monkey home page Code Monkey logo

homebridge-openzwave's Introduction

homebridge-openzwave

Latest Version Total Downloads Build Status License

OpenZWave platform for Homebridge. The main goal of this project is to map Z-Wave protocol command classes to HomeKit Accessories, Services, and Characteristics. Theoretically, it should make it support any Open Z-Wave device.

This project was initially forked from velocityzen/homebridge-platform-zwave and has been completely rewritten in TypeScript.

Supported Z-Wave Command Classes

Requirements

In addition to OpenZwave, be sure to install the ozw dev package:

For Ubuntu/Debian:

sudo apt install libopenzwave1.5-dev

For Alpine:

sudo apk --no-cache add openzwave-dev

Installation

  1. Homebridge
  2. npm i -g homebridge-openzwave
  3. Add platform to your config file

Configuration

In order to use this plugin, you’ll need to add the following JSON object to your Homebridge config file:

{
  "platform": "openzwave",
  "name": "OpenZWave",
  "zwave": {
    "devicePath": "/dev/ttyACM0"
  }
}
Config Key Description Required
platform Homebridge Platform name.
This value should always be openzwave.
Y
name The name of this platform within Homebridge.
This is mainly used for logs and can be any value you want.
N
zwave This contains the settings that will be passed to OpenZWave. Y
zwave.devicePath The device path to your gateway.
See Finding Your Device for more information.]
Y
uuidPrefix Override the default prefix used when generating UUIDs for each node.
NOTE: Most setups will not need to change this value.
N
accessories Customize how your Z-Wave accessories behave in HomeKit, or exclude them entirely.
See the Accessories section for more information.
N

Finding Your Device

To locate your Z-Wave controller, try running ls /dev/tty.* or ls /dev/cu.* in terminal. Depending on your OS, you may also be able to run ls -lah /dev/serial/by-id to find additional context for which device in your Z-Wave gateway.

If you’re unable to figure out the correct device, try unplugging it and running the commands above, after that, plug it back in and look for the additional device that wasn’t there before.

Accessories

The accessories config object allows you to customize how your devices appear and behave within HomeKit.

{
  "platform": "openzwave",
  "name": "Z-Wave Platform",
  "zwave": {
    "devicePath": "/dev/ttyACM0"
  },
  "accessories": {
    "3": {
      "name": "My Fan Control",
      "classes": {
        "ignored": [128],
        "rewrite": [{ "from": 38, "to": 999001, "indexes": { "5": 0 } }]
      },
      "hints": ["fan"]
    }
  }
}
Config Key Description
name The default name this accessory should have in HomeKit.
commands
commands.ignored An array of Z-Wave command classes you’d prefer this plugin not represent in HomeKit.
commands.rewrite An array of commands to rewrite to change their intended effect
commands.rewrite[].from The Z-Wave command class to replace
commands.rewrite[].to The Z-Wave command class to change to
commands.rewrite[].indexes A key value list to map the index of the from command to the to command.
hints An array of strings to better help the plugin understand what type of device this is.
Currently supported values are: fan and presence.

Excluding Accessories from HomeKit

If you have Z-Wave nodes you’d wish to exclude from HomeKit, you can hide them by setting the accessory to false:

{
  "platform": "openzwave",
  "name": "Z-Wave Platform",
  "zwave": {
    "devicePath": "/dev/ttyACM0"
  },
  "accessories": {
    "3": false
  }
}

Device Handlers

homebridge-openzwave supports global/shared device handlers to override default Z-Wave behavior. This can be useful for devices that use generic commands for more specific purposes, such as a fan control that only implements SWITCH_MULTILEVEL.

For more information on device handlers, see the README.

Development

Environment

All development tooling dynamically configures OpenZWave through a DEVICE_PATH environment var that should be set to the location of your Z-Wave Gateway.

A .env file is supported in the root of the project directory.

Tools

homebridge-openzwave has some tooling to help making development easier:

  • yarn testharness will launch Homebridge through Babel/TypeScript pointed towards src
  • yarn util ls displays a list of devices currently in your Z-Wave network
  • yarn util inspect :nodeid query a specific node to display debug information including node info and command classes

Emulated Development

You can run the testharness with a docker flag to launch an Z-Wave emulator with test devices.

yarn testharness --docker

Remote Development

If your Z-Wave Controller is plugged into a different machine, you can access it remotely via socat.

NOTE: Be sure to shutdown Homebridge on the machine before you run socat as the gateway only supports a single connection to it.

To get started, run this on the machine that your Z-Wave Controller is plugged into:

docker run --rm -ti  --privileged -p 32375:32375 -v /dev:/host/dev \
alpine/socat -d -d tcp-l:32375,reuseaddr,fork file:/host/dev/ttyACM0,raw,nonblock,echo=0

NOTE: Remember to update your /dev path to match the path from Finding Your Device.

Next, when launching the testharness on your local machine, pass through a remote flag:

yarn testharness --remote=$IP_OF_REMOTE_MACHINE:32375

The testharness will handle launching socat on your local machine and configuring DEVICE_PATH for you.

homebridge-openzwave's People

Contributors

shnhrrsn avatar velocityzen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

homebridge-openzwave's Issues

symbol lookup error: _ZN9OpenZWave7Options3GetEv

So when installing on a raspberry pi running raspbian, after installing Openzwave from sources after installing libopenzwave-dev, I was getting a symbol lookup error when homebridge was attempting to fire up the plugin:

symbol lookup error: /usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared/build/Release/openzwave_shared.node: undefined symbol: _ZN9OpenZWave7Options3GetEv

I was able to resolve this and ultimately get this working on raspbian and learned a lot about the nuance of installing this on that platform and wanted to document it here in case anyone else comes here with the same intention I had of installing this on an already running RaspberryPI3/Raspian system running homebridge (as a systemctl service too!)

Short version:

The crux of this issue is that if one installs openzwave from sources (currently 1.6) then does apt-get install libopenzwave1.5-dev then the 1.5 version of the lib will become the new system default and when building homebridge-openzwave it'll be linked against that lib which is missing the symbol indicated in the error. Installing from sources installs the 1.6 version of the include headers, so installing the libopenzwave1.5-dev package is redundant. Doing so after installing 1.6 from source will cause the plugin to be built linking to 1.5 which is missing the symbols indicated. Fix this by uninstalling the build homebridge-openzwave:sudo npm -g uninstall homebridge-openzwave (or using the webUI from config-x) and then nuking the libopenzwave1.5-dev package:
sudo apt-get remove libopenzwave1.5-dev

Deep dive:
Learnings about Raspberry PI install:

Installing OZW dev package 1.5 after installing OpenZwave (currently 1.6) links libopenzwave.so.1.5 (the 1.5 version) as the system libopenzwave.so in
/usr/lib/arm-linux-gnueabihf/ causing the build of homebridge-openzwave to be linked against the 1.5 version as was evidenced by the error I first encountered:

homebridge: symbol lookup error: /usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared/build/Release/openzwave_shared.node: undefined symbol: _ZN9OpenZWave7Options3GetEv

I was able to trace this down:

ldd -r /usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared/build/Release/openzwave_shared.node

showing:

libopenzwave.so.1.5 => /usr/lib/arm-linux-gnueabihf/libopenzwave.so.1.5 (0x76e5f000)

One would ask, why don't you then install openzwave via apt-get and then install the lib and then build. Well, I did that and building-installing homebridge-openzwave failed with source headers not being found:

find: ‘/usr/local/include/openzwave//’: No such file or directory

Sure enough the source headers from apt-get are shoved into /usr/include instead of /usr/local/include, as is the rest of the openzwave environment. But my node environment was relying on /usr/local/include/
I could have gone to town symlinking stuff into alternate directories but that felt gross to me, so instead I built openzwave from sources.

So the steps that worked for me were to blast away the 1.5 dev package, then install OpenZwave1.6 from sources:

sudo apt-get remove libopenzwave1.5-dev
wget http://old.openzwave.com/downloads/openzwave-1.6.1123.tar.gz
tar zxvf openzwave-1.6.1123.tar.gz
cd openzwave-1.6.1123
make
sudo make install 

the default prefix for make install is /usr/local which differs from where apt-get throws everything so I then added the new directories to the LD path:

sudo sed -i '$a LD_LIBRARY_PATH=/usr/local/lib' /etc/environment

and rebuild the lib caches:

After that, I was able to get MinOZW test application to talk to /dev/ttyACM0 correctly.

Then I installed homebridge-openzwave package via the README instructions, causing it to get built properly against libopenzwave.so.1.6. Again, checked with ldd -r:

ldd -r /usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared/build/Release/openzwave_shared.node

correctly showing:

libopenzwave.so.1.6 => /usr/local/lib/libopenzwave.so.1.6 (0x76d12000)

Takeaway:

If you have things scattered over multiple directory trees (node and other things installed in /usr/local/* and apt-get installed things going in /usr/*) then be prepared for some manual mucking about.

Being aware that things from packages want to install wherever they want by default and may differ from where another package, will assume the files are at when compiling from source is involved.

Exception when turning on "Add Node"

I get the following exception making references to a double callback when I toggle the "Add Node" switch. I've generally found that adding nodes takes dozens of tries and resets before it sticks. If there are things I can do to help debug please let me know.

    at callback (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13)
    at callback (/usr/lib/node_modules/homebridge-openzwave/src/Support/exactlyOnce.ts:23:11)
    at ValueCoordinator.sendZwaveValueToHomeKit (/usr/lib/node_modules/homebridge-openzwave/src/Values/ValueCoordinator.ts:119:4)
    at SafeSubscriber._next (/usr/lib/node_modules/homebridge-openzwave/src/Values/ValueCoordinator.ts:94:11)
    at SafeSubscriber.__tryOrUnsub (/usr/lib/node_modules/homebridge-openzwave/node_modules/rxjs/src/internal/Subscriber.ts:265:10)
    at SafeSubscriber.next (/usr/lib/node_modules/homebridge-openzwave/node_modules/rxjs/src/internal/Subscriber.ts:207:14)
    at Subscriber._next (/usr/lib/node_modules/homebridge-openzwave/node_modules/rxjs/src/internal/Subscriber.ts:139:22)
    at Subscriber.next (/usr/lib/node_modules/homebridge-openzwave/node_modules/rxjs/src/internal/Subscriber.ts:99:12)
    at ThrowIfEmptySubscriber._next (/usr/lib/node_modules/homebridge-openzwave/node_modules/rxjs/src/internal/operators/throwIfEmpty.ts:61:22)
    at ThrowIfEmptySubscriber.Subscriber.next (/usr/lib/node_modules/homebridge-openzwave/node_modules/rxjs/src/internal/Subscriber.ts:99:12)```

Loading issue after Node.js update

Hello

I've update Node js for others plugins and resintall openzwave with this command because it was not working

sudo CXXFLAGS="--std=c++14" npm i -g homebridge-openzwave

After restart the plugin show an error

[08/05/2022, 08:00:49] ====================
[08/05/2022, 08:00:49] ERROR LOADING PLUGIN homebridge-openzwave:
[08/05/2022, 08:00:49] Error: Cannot find module 'homebridge'
Require stack:

  • /usr/lib/node_modules/homebridge-openzwave/lib/Values/ValueCoordinator.js
  • /usr/lib/node_modules/homebridge-openzwave/lib/Accessories/Drivers/Support/registerCharacteristic.js
  • /usr/lib/node_modules/homebridge-openzwave/lib/Accessories/Drivers/batteryDriver.js
  • /usr/lib/node_modules/homebridge-openzwave/lib/Accessories/Registries/StandardDriverRegistry.js
  • /usr/lib/node_modules/homebridge-openzwave/lib/Accessories/AccessoryManager.js
  • /usr/lib/node_modules/homebridge-openzwave/lib/Platform.js
  • /usr/lib/node_modules/homebridge-openzwave/lib/registerPlatform.js
  • /usr/local/lib/node_modules/homebridge/lib/plugin.js
  • /usr/local/lib/node_modules/homebridge/lib/pluginManager.js
  • /usr/local/lib/node_modules/homebridge/lib/server.js
  • /usr/local/lib/node_modules/homebridge/lib/cli.js
  • /usr/local/lib/node_modules/homebridge/bin/homebridge
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object. (/usr/lib/node_modules/homebridge-openzwave/src/Values/ValueCoordinator.ts:9:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object. (/usr/lib/node_modules/homebridge-openzwave/src/Accessories/Drivers/Support/registerCharacteristic.ts:1:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object. (/usr/lib/node_modules/homebridge-openzwave/src/Accessories/Drivers/batteryDriver.ts:2:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    [08/05/2022, 08:00:49] ====================

I don't know what to do next

How to add zwave nodes

Managed to install the plugin on homebridge, but is there a way to add the nodes?
I'm using the Z-Stick Gen5 - Aeotec, RPi 3b+, node 12.14

Unable to connect to device

A bit of a process installing this on a Raspberry Pi 3, but finally got the project to build without module errors/missing symbols.

Now I'm getting:
[OpenZWave] Unable to connect to device.

After the home bridge init. I've added the relevant sections in config.json and MinOZW can talk to the correct device at /dev/ttyACM0, (I get proper device enumeration and can see the ZWave switch node using the command MinOZW /dev/ttyACM0 which is the same devicePath I have in the config. I've supplied the config snippet below for the openzwave platform and a simple binary switch I have as node2:

{
            "platform": "openzwave",
            "name": "OpenZWave",
            "zwave": {
                "devicePath": "/dev/ttyACM0"
            },
            "accessories": {
                "2": {
                    "name": "ASwitch",
                    "classes": {
                        "ignored": [
                            128
                        ],
                        "rewrite": [
                            {
                                "from": 37,
                                "to": 999001,
                                "indexes": {
                                    "5": 0
                                }
                            }
                        ]
                    }
                }
            }
        },

Note that even without the accessories: object, I still get the Unable to connect to device error. Is there some way to turn on logging or something for this module so I can see what it's doing with the openzwave binary? Earlier in the log output from Homebridge I see:

May 16 10:38:22 pihomebridge homebridge[3554]: [16/05/2020, 10:38:22] [OpenZWave] Initializing openzwave platform...
May 16 10:38:22 pihomebridge homebridge[3554]: Initialising OpenZWave 1.6.1123 binary addon for Node.JS.
May 16 10:38:22 pihomebridge homebridge[3554]: #011OpenZWave Security API is ENABLED
May 16 10:38:22 pihomebridge homebridge[3554]: #011ZWave device db    : /usr/local/etc/openzwave
May 16 10:38:22 pihomebridge homebridge[3554]: #011User settings path : /usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared/build/Release/../../
May 16 10:38:22 pihomebridge homebridge[3554]: #011Option Overrides : --ConsoleOutput false --Logging false --SaveConfiguration false
May 16 10:38:22 pihomebridge homebridge[3554]: Could Not Open OZW Log File.

Which has the option overrides to not log, as options.xml in the config/ dir of the 'user options path' specified above, has logging set to true.

I want to ensure that it's not attempting to execute on an incorrect device path.

Err installing openzwave

Good day,
I am not able to install the openzwave plugin.
The errors down below showed up.
Please advise me, I am starting with homebridge on a pi zero 2w with Aeotec Z-Stick Gen5

USER: homebridge
DIR: /usr
CMD: sudo -E -n npm install -g homebridge-openzwave@latest

npm ERR! code 1
npm ERR! path /usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | linux | arm
npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/homebridge/.cache/node-gyp/16.13.2/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/home/homebridge/.cache/node-gyp/16.13.2',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/home/homebridge/.cache/node-gyp/16.13.2/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! grep: /usr//include/value_classes: No such file or directory
npm ERR! gyp: Call to 'grep -r GetTypeNameFromEnum /usr/
/include/value_classes | wc -l' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: gyp failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:261:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Linux 5.10.92-v7+
npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /usr/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared
npm ERR! gyp ERR! node -v v16.13.2
npm ERR! gyp ERR! node-gyp -v v8.3.0
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR! /home/homebridge/.npm/_logs/2022-02-03T22_58_38_906Z-debug.log

Command failed. Please review log for details.

Dimmer switch stops responding when changing to specific brightness level

I have a Inovelli Red Series Dimmer Switch and was able to pair it easily with the 'Add Node' switch.

I am able to turn it on and off by toggling the light in HomeKit.

However, once it's on, I am unable to incrementally adjust the brightness to a specific level. When I try to do so, nothing happens at the light, and the accessory in HomeKit timeout and says 'Not Responding'. At this point, I am unable to toggle the light on or off in HomeKit, and the only fix is to restart Homebridge.

I managed to turn on logging and output what happens in certain situations:

Toggling the switch (works well)

2020-11-12 00:57:26.197 Info, Node003, Value::Set - COMMAND_CLASS_SWITCH_MULTILEVEL - Level - 0 - 1 - 255
2020-11-12 00:57:26.197 Info, Node003, SwitchMultilevel::Set - Setting to level 255
2020-11-12 00:57:26.197 Info, Node003,   Duration: Device Default
2020-11-12 00:57:26.198 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Set (Node=3): 0x01, 0x0b, 0x00, 0x13, 0x03, 0x04, 0x26, 0x01, 0xff, 0xff, 0x25, 0x26, 0xc4
2020-11-12 00:57:26.198 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x27, 0xc2
2020-11-12 00:57:26.198 Detail, 
2020-11-12 00:57:26.198 Info, Node003, Sending (Send) message (Callback ID=0x26, Expected Reply=0x13) - SwitchMultilevelCmd_Set (Node=3): 0x01, 0x0b, 0x00, 0x13, 0x03, 0x04, 0x26, 0x01, 0xff, 0xff, 0x25, 0x26, 0xc4
2020-11-12 00:57:26.198 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:26.206 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:26.206 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:26.228 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x26, 0x00, 0x00, 0x02, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x6d
2020-11-12 00:57:26.228 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x26 received (expected 0x26)
2020-11-12 00:57:26.228 Info, Node003, Request RTT 29 Average Request RTT 28
2020-11-12 00:57:26.228 Detail, Node003, Extended TxStatus: Time: 20, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:26.228 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:26.229 Detail, Node003,   Expected reply was received
2020-11-12 00:57:26.229 Detail, Node003,   Message transaction complete
2020-11-12 00:57:26.229 Detail, 
2020-11-12 00:57:26.229 Detail, Node003, Removing current message
2020-11-12 00:57:26.229 Detail, 
2020-11-12 00:57:26.230 Info, Node003, Sending (Send) message (Callback ID=0x27, Expected Reply=0x04) - SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x27, 0xc2
2020-11-12 00:57:26.230 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:26.237 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:26.237 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:26.257 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x27, 0x00, 0x00, 0x02, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x6c
2020-11-12 00:57:26.257 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x27 received (expected 0x27)
2020-11-12 00:57:26.258 Info, Node003, Request RTT 27 Average Request RTT 27
2020-11-12 00:57:26.258 Detail, Node003, Extended TxStatus: Time: 20, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:26.258 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:26.279 Detail, Node003,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x03, 0x03, 0x26, 0x03, 0x01, 0xbc, 0x00, 0x68
2020-11-12 00:57:26.279 Detail, 
2020-11-12 00:57:26.279 Info, Node003, Response RTT 48 Average Response RTT 48
2020-11-12 00:57:26.279 Info, Node003, Received SwitchMultiLevel report: level=1
2020-11-12 00:57:26.279 Detail, Node003, Value Updated: old value=0, new value=1, type=byte
2020-11-12 00:57:26.279 Detail, Node003, Changes to this value are not verified
2020-11-12 00:57:26.280 Detail, Node003,   Expected reply and command class was received
2020-11-12 00:57:26.280 Detail, Node003,   Message transaction complete
2020-11-12 00:57:26.280 Detail, 
2020-11-12 00:57:26.280 Detail, Node003, Removing current message
2020-11-12 00:57:26.280 Detail, Node003, Notification: ValueChanged CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0
2020-11-12 00:57:26.283 Info, Node003, Value::Set - COMMAND_CLASS_SWITCH_MULTILEVEL - Level - 0 - 1 - 99
2020-11-12 00:57:26.283 Info, Node003, SwitchMultilevel::Set - Setting to level 99
2020-11-12 00:57:26.283 Info, Node003,   Duration: Device Default
2020-11-12 00:57:26.283 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Set (Node=3): 0x01, 0x0b, 0x00, 0x13, 0x03, 0x04, 0x26, 0x01, 0x63, 0xff, 0x25, 0x28, 0x56
2020-11-12 00:57:26.283 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x29, 0xcc
2020-11-12 00:57:26.284 Detail, 
2020-11-12 00:57:26.284 Info, Node003, Sending (Send) message (Callback ID=0x28, Expected Reply=0x13) - SwitchMultilevelCmd_Set (Node=3): 0x01, 0x0b, 0x00, 0x13, 0x03, 0x04, 0x26, 0x01, 0x63, 0xff, 0x25, 0x28, 0x56
2020-11-12 00:57:26.284 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:26.292 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:26.292 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:26.314 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x28, 0x00, 0x00, 0x02, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x63
2020-11-12 00:57:26.314 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x28 received (expected 0x28)
2020-11-12 00:57:26.314 Info, Node003, Request RTT 29 Average Request RTT 28
2020-11-12 00:57:26.314 Detail, Node003, Extended TxStatus: Time: 20, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:26.314 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:26.314 Detail, Node003,   Expected reply was received
2020-11-12 00:57:26.315 Detail, Node003,   Message transaction complete
2020-11-12 00:57:26.315 Detail, 
2020-11-12 00:57:26.315 Detail, Node003, Removing current message
2020-11-12 00:57:26.315 Detail, 
2020-11-12 00:57:26.315 Info, Node003, Sending (Send) message (Callback ID=0x29, Expected Reply=0x04) - SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x29, 0xcc
2020-11-12 00:57:26.315 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:26.322 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:26.323 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:26.343 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x29, 0x00, 0x00, 0x02, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x62
2020-11-12 00:57:26.344 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x29 received (expected 0x29)
2020-11-12 00:57:26.344 Info, Node003, Request RTT 28 Average Request RTT 28
2020-11-12 00:57:26.344 Detail, Node003, Extended TxStatus: Time: 20, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:26.344 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:26.365 Detail, Node003,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x03, 0x03, 0x26, 0x03, 0x07, 0xbc, 0x00, 0x6e
2020-11-12 00:57:26.365 Detail, 
2020-11-12 00:57:26.365 Info, Node003, Response RTT 49 Average Response RTT 48
2020-11-12 00:57:26.365 Info, Node003, Received SwitchMultiLevel report: level=7
2020-11-12 00:57:26.365 Detail, Node003, Value Updated: old value=1, new value=7, type=byte
2020-11-12 00:57:26.366 Detail, Node003, Changes to this value are not verified
2020-11-12 00:57:26.366 Detail, Node003,   Expected reply and command class was received
2020-11-12 00:57:26.366 Detail, Node003,   Message transaction complete
2020-11-12 00:57:26.366 Detail, 
2020-11-12 00:57:26.366 Detail, Node003, Removing current message
2020-11-12 00:57:26.366 Detail, Node003, Notification: ValueChanged CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0
2020-11-12 00:57:27.426 Detail, Node003,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x03, 0x03, 0x26, 0x03, 0x63, 0xbc, 0x00, 0x0a
2020-11-12 00:57:27.427 Detail, 
2020-11-12 00:57:27.427 Info, Node003, Received SwitchMultiLevel report: level=99
2020-11-12 00:57:27.427 Detail, Node003, Value Updated: old value=7, new value=99, type=byte
2020-11-12 00:57:27.427 Detail, Node003, Changes to this value are not verified
2020-11-12 00:57:27.427 Detail, Node003, Notification: ValueChanged CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0
2020-11-12 00:57:31.284 Info, mgr,     Refreshing node 3: COMMAND_CLASS_SWITCH_MULTILEVEL index = 0 instance = 1 (to confirm a reported change)
2020-11-12 00:57:31.285 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x2a, 0xcf
2020-11-12 00:57:31.285 Detail, 
2020-11-12 00:57:31.285 Info, Node003, Sending (Send) message (Callback ID=0x2a, Expected Reply=0x04) - SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x2a, 0xcf
2020-11-12 00:57:31.285 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:31.292 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:31.293 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:31.314 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x2a, 0x00, 0x00, 0x02, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x61
2020-11-12 00:57:31.314 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x2a received (expected 0x2a)
2020-11-12 00:57:31.314 Info, Node003, Request RTT 28 Average Request RTT 28
2020-11-12 00:57:31.314 Detail, Node003, Extended TxStatus: Time: 20, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:31.314 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:31.334 Detail, Node003,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x03, 0x03, 0x26, 0x03, 0x63, 0xbc, 0x00, 0x0a
2020-11-12 00:57:31.334 Detail, 
2020-11-12 00:57:31.334 Info, Node003, Response RTT 48 Average Response RTT 48
2020-11-12 00:57:31.334 Info, Node003, Received SwitchMultiLevel report: level=99
2020-11-12 00:57:31.334 Detail, Node003, Value Updated: old value=99, new value=99, type=byte
2020-11-12 00:57:31.335 Detail, Node003, Changes to this value are not verified
2020-11-12 00:57:31.335 Detail, Node003,   Expected reply and command class was received
2020-11-12 00:57:31.335 Detail, Node003,   Message transaction complete
2020-11-12 00:57:31.335 Detail, 
2020-11-12 00:57:31.335 Detail, Node003, Removing current message
2020-11-12 00:57:31.335 Detail, Node003, Notification: ValueRefreshed CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0
2020-11-12 00:57:31.369 Info, mgr,     Refreshing node 3: COMMAND_CLASS_SWITCH_MULTILEVEL index = 0 instance = 1 (to confirm a reported change)
2020-11-12 00:57:31.369 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x2b, 0xce
2020-11-12 00:57:31.369 Detail, 
2020-11-12 00:57:31.369 Info, Node003, Sending (Send) message (Callback ID=0x2b, Expected Reply=0x04) - SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x2b, 0xce
2020-11-12 00:57:31.369 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:31.376 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:31.377 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:31.397 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x2b, 0x00, 0x00, 0x02, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x60
2020-11-12 00:57:31.397 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x2b received (expected 0x2b)
2020-11-12 00:57:31.397 Info, Node003, Request RTT 27 Average Request RTT 27
2020-11-12 00:57:31.397 Detail, Node003, Extended TxStatus: Time: 20, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:31.397 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:31.417 Detail, Node003,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x03, 0x03, 0x26, 0x03, 0x63, 0xbc, 0x00, 0x0a
2020-11-12 00:57:31.417 Detail, 
2020-11-12 00:57:31.417 Info, Node003, Response RTT 47 Average Response RTT 47
2020-11-12 00:57:31.417 Info, Node003, Received SwitchMultiLevel report: level=99
2020-11-12 00:57:31.418 Detail, Node003, Value Updated: old value=99, new value=99, type=byte
2020-11-12 00:57:31.418 Detail, Node003, Changes to this value are not verified
2020-11-12 00:57:31.418 Detail, Node003,   Expected reply and command class was received
2020-11-12 00:57:31.418 Detail, Node003,   Message transaction complete
2020-11-12 00:57:31.418 Detail, 
2020-11-12 00:57:31.418 Detail, Node003, Removing current message
2020-11-12 00:57:31.418 Detail, Node003, Notification: ValueRefreshed CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0

Relevant parts:

2020-11-12 00:57:26.283 Info, Node003, Value::Set - COMMAND_CLASS_SWITCH_MULTILEVEL - Level - 0 - 1 - 99
2020-11-12 00:57:26.283 Info, Node003, SwitchMultilevel::Set - Setting to level 99
2020-11-12 00:57:27.427 Info, Node003, Received SwitchMultiLevel report: level=99
2020-11-12 00:57:27.427 Detail, Node003, Value Updated: old value=7, new value=99, type=byte

Setting specific brightness when already on

2020-11-12 00:57:57.866 Info, Node003, Value::Set - COMMAND_CLASS_SWITCH_MULTILEVEL - Level - 0 - 1 - 255
2020-11-12 00:57:57.866 Info, Node003, SwitchMultilevel::Set - Setting to level 255
2020-11-12 00:57:57.867 Info, Node003,   Duration: Device Default
2020-11-12 00:57:57.867 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Set (Node=3): 0x01, 0x0b, 0x00, 0x13, 0x03, 0x04, 0x26, 0x01, 0xff, 0xff, 0x25, 0x2c, 0xce
2020-11-12 00:57:57.867 Detail, Node003, Queuing (Send) SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x2d, 0xc8
2020-11-12 00:57:57.867 Detail, 
2020-11-12 00:57:57.867 Info, Node003, Sending (Send) message (Callback ID=0x2c, Expected Reply=0x13) - SwitchMultilevelCmd_Set (Node=3): 0x01, 0x0b, 0x00, 0x13, 0x03, 0x04, 0x26, 0x01, 0xff, 0xff, 0x25, 0x2c, 0xce
2020-11-12 00:57:57.868 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:57.875 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:57.876 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:57.897 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x2c, 0x00, 0x00, 0x03, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x66
2020-11-12 00:57:57.897 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x2c received (expected 0x2c)
2020-11-12 00:57:57.898 Info, Node003, Request RTT 29 Average Request RTT 28
2020-11-12 00:57:57.898 Detail, Node003, Extended TxStatus: Time: 30, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:57.898 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:57.898 Detail, Node003,   Expected reply was received
2020-11-12 00:57:57.898 Detail, Node003,   Message transaction complete
2020-11-12 00:57:57.898 Detail, 
2020-11-12 00:57:57.898 Detail, Node003, Removing current message
2020-11-12 00:57:57.899 Detail, 
2020-11-12 00:57:57.899 Info, Node003, Sending (Send) message (Callback ID=0x2d, Expected Reply=0x04) - SwitchMultilevelCmd_Get (Node=3): 0x01, 0x09, 0x00, 0x13, 0x03, 0x02, 0x26, 0x02, 0x25, 0x2d, 0xc8
2020-11-12 00:57:57.899 Info, Node003, Encrypted Flag is 0
2020-11-12 00:57:57.906 Detail, Node003,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-11-12 00:57:57.906 Detail, Node003,   ZW_SEND_DATA delivered to Z-Wave stack
2020-11-12 00:57:57.926 Detail, Node003,   Received: 0x01, 0x18, 0x00, 0x13, 0x2d, 0x00, 0x00, 0x02, 0x00, 0xbc, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x66
2020-11-12 00:57:57.927 Detail, Node003,   ZW_SEND_DATA Request with callback ID 0x2d received (expected 0x2d)
2020-11-12 00:57:57.927 Info, Node003, Request RTT 27 Average Request RTT 27
2020-11-12 00:57:57.927 Detail, Node003, Extended TxStatus: Time: 20, Hops: 0, Rssi:  -68 --- --- --- ---, AckChannel: 0, TxChannel: 0, RouteScheme: Last Working Route, Route: 0 0 0 0, RouteSpeed: 100K, RouteTries: 1, FailedLinkFrom: 0, FailedLinkTo: 0
2020-11-12 00:57:57.927 Detail, Node003,   Expected callbackId was received
2020-11-12 00:57:57.947 Detail, Node003,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x03, 0x03, 0x26, 0x03, 0x63, 0xbc, 0x00, 0x0a
2020-11-12 00:57:57.947 Detail, 
2020-11-12 00:57:57.947 Info, Node003, Response RTT 48 Average Response RTT 47
2020-11-12 00:57:57.947 Info, Node003, Received SwitchMultiLevel report: level=99
2020-11-12 00:57:57.948 Detail, Node003, Value Updated: old value=99, new value=99, type=byte
2020-11-12 00:57:57.948 Detail, Node003, Changes to this value are not verified
2020-11-12 00:57:57.948 Detail, Node003,   Expected reply and command class was received
2020-11-12 00:57:57.948 Detail, Node003,   Message transaction complete
2020-11-12 00:57:57.948 Detail, 
2020-11-12 00:57:57.948 Detail, Node003, Removing current message
2020-11-12 00:57:57.948 Detail, Node003, Notification: ValueRefreshed CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0
2020-11-12 00:57:58.115 Detail, Node003,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x03, 0x03, 0x26, 0x03, 0x63, 0xbc, 0x00, 0x0a
2020-11-12 00:57:58.115 Detail, 
2020-11-12 00:57:58.116 Info, Node003, Received SwitchMultiLevel report: level=99
2020-11-12 00:57:58.116 Detail, Node003, Value Updated: old value=99, new value=99, type=byte
2020-11-12 00:57:58.116 Detail, Node003, Changes to this value are not verified
2020-11-12 00:57:58.116 Detail, Node003, Notification: ValueRefreshed CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0


I tested the set level functionality with the web GUI of Zwave2Mqtt and it worked well

Smoke sensor seen as switch

Hi,
I've installed the 1.1.0-beta.1 Verizon of the plugin. It detects may Fibaro FGSD002 Smoke Sensor, but as a switch, not a smoke sensor.
Can you tell me if this kind of device should be properly detected or if smoke sensors are not yet implemented in the plugin ?
Thanks, Benoît.

installing on HOOBS v4

Anyone able to get this running on HOOBS v4? I have the bridge running (as an additional bridge to HOOBS) and have added it to Homekit, but with HOOBS v4 the log keeps scrolling:

Unable to determine plugin type for "homebridge-openzwave"

I have the AEOTEC Z-Stick Gen5 plugged into a Pi 4b. Any insight would be appreciated - perhaps an update is required for v4?

openzwave plugin not found with 1.0.8

I've installed and reinstalled the plugin using homebridge-ui-x and npm. It shows up in the listing of plugin in ui-x.

I've added the config.json entry as shown. But I keep getting this error in the logs.

"No plugin was found for the platform "openzwave" in your config.json. Please make sure the corresponding plugin is installed correctly."

Stuck

Kevin

Warning from the characteristic 'On'

THANK YOU for working on this plugin. I am seeing this in HomeBridge's log (rpi3, running the homebridge image).

Aeotec Gen5 stick.

[19/03/2021, 16:06:43] [homebridge-openzwave] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://git.io/JtMGR for more info.

In debug mode it it produces the following output:

Error: 
    at On.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2038:105)
    at On.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1915:14)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1533:24
    at callback (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:9:18)
    at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-openzwave/src/Accessories/Drivers/platformDriver.ts:48:20)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)

Thermostat support?

Hi thanks for the plugin reply easy install :)

However I can't get it to work with my thermostat does it have support for those type of devices?

Currently I have Heatit Z-Wave Thermostat Z-TRM2fx which I added and it can be seen in Homekit but as a switch with temperature sensor which is fail state working.

In homebridge log the device is found as: [OpenZWave] Node Available: 3 - Unknown: type=0003, id=0202 (0x0202)

Roller shutter shown as light switch

Hi,

I did not even get to test if it works but when i added this plugin it found fibaro roller shutters on my usb stick paired. They all appeared as light switches in homekit. Is this correct? is there a mapping in settings that I am missing to make them shown as shutters?

Battery Devices Unsuported

I have two z-way devices - smart switch and multisensor.
I was able to connect plugin to my openzway, but it creates just one Switch.

Switch works!

Seems like i am missing something in my config, but i am not sure.

[2020-5-1 13:30:52] [Z-Wave Platform] Node Available: RaZberry Controller
[2020-5-1 13:30:56] [Z-Wave Platform] Failed to make accessory Error: homekitToZwave is required for readwrite values
at new ValueCoordinator (/usr/lib/node_modules/homebridge-openzwave/src/Values/ValueCoordinator.ts:44:10)
at registerCharacteristic (/usr/lib/node_modules/homebridge-openzwave/src/Accessories/Drivers/Support/registerCharacteristic.ts:27:2)
at driver (/usr/lib/node_modules/homebridge-openzwave/src/Accessories/Drivers/batteryDriver.ts:36:2)
at Accessory.configure (/usr/lib/node_modules/homebridge-openzwave/src/Accessories/Accessory.ts:72:4)
at /usr/lib/node_modules/homebridge-openzwave/src/Accessories/AccessoryManager.ts:112:15
[2020-5-1 13:30:56] [Z-Wave Platform] Node Available: 4 - DSC24 Smart Switch (2nd Edition) (0x0018)
[2020-5-1 13:30:56] [Z-Wave Platform] Finished Scanning

Attaches to Fibaro Roller Shutter incorrectly

Hi
I have homebridge and homebridge-openzwave installed and running on a Raspberry Pi 3B.
I have linked it to my homekit hub on an apple TV.
I am attempting to test it with a Fibaro Roller Shutter 3 (https://www.fibaro.com/en/products/smart-roller-shutter/). The device is currently wired up with its two relays lighting up two led strips rather than attached to the blind, as I want to be sure it works before I install it outside. If I press the hard switches the led strips light as you would expect.
I believe the Fibaro should appear to the zwave controller as two, multi-level, switches - one to open the blinds and one to close them. But I admit that this is my first attempt to use zwave so that may be an error on my behalf. I note that openzwave has a definition for this device, but I don't pretend I can understand all the settings.
It actually connects as a single switch, which I can see could be mapped to the two separate switches (turning it on = open blinds and fires one switch, turning it off = closed blinds and fires the other), but turning the single switch on or off in the Hombridge UI, or homekit UI, has no affect.
Any help would be welcome, including explaining why I am missing the obvious, if I am. And apologies if I am.
Thanks

Aeotec Multisensor6

I am unable to add the Aeotect Multisensor 6. It provides an error posted. I am able to add my other 20 devices no problem, so thank you for that!
Here is the error for the sensor, I am using it with a usb cable for power. macOS Catalina. Zstick Gen5

[6/26/2020, 9:25:15 AM] [OpenZWave] Failed to make accessory Error: homekitToZwave is required for readwrite values
at new ValueCoordinator (/usr/local/lib/node_modules/homebridge-openzwave/src/Values/ValueCoordinator.ts:44:10)
at registerCharacteristic (/usr/local/lib/node_modules/homebridge-openzwave/src/Accessories/Drivers/Support/registerCharacteristic.ts:27:2)
at driver (/usr/local/lib/node_modules/homebridge-openzwave/src/Accessories/Drivers/batteryDriver.ts:36:2)
at Accessory.configure (/usr/local/lib/node_modules/homebridge-openzwave/src/Accessories/Accessory.ts:72:4)
at /usr/local/lib/node_modules/homebridge-openzwave/src/Accessories/AccessoryManager.ts:112:15

Issue with Node version 16

The issue is this:

$ sudo npm install homebridge-openzwave
...
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! In file included from /tmp/.node-gyp/16.13.0/include/node/v8.h:30,
npm ERR!                  from ../src/openzwave.hpp:27,
npm ERR!                  from ../src/callbacks.cc:18:
npm ERR! /tmp/.node-gyp/16.13.0/include/node/v8-internal.h: In function ‘void v8::internal::PerformCastCheck(T*)’:
npm ERR! /tmp/.node-gyp/16.13.0/include/node/v8-internal.h:492:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                      ^~~~~~~~~~~
npm ERR!       |                                      remove_cv
npm ERR! /tmp/.node-gyp/16.13.0/include/node/v8-internal.h:492:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                      ^~~~~~~~~~~
npm ERR!       |                                      remove_cv
npm ERR! /tmp/.node-gyp/16.13.0/include/node/v8-internal.h:492:50: error: template argument 2 is invalid
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                                  ^
npm ERR! /tmp/.node-gyp/16.13.0/include/node/v8-internal.h:492:63: error: ‘::Perform’ has not been declared
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                                               ^~~~~~~
npm ERR! make: *** [openzwave_shared.target.mk:148: Release/obj.target/openzwave_shared/src/callbacks.o] Error 1
npm ERR! gyp ERR! build error 
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Linux 5.10.63-v7+
npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /home/ricardo/node_modules/openzwave-shared
npm ERR! gyp ERR! node -v v16.13.0
npm ERR! gyp ERR! node-gyp -v v8.2.0
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-11-17T11_03_22_349Z-debug.log

The workaround is this:

$ sudo CXXFLAGS="--std=c++14" npm i -g homebridge-openzwave

added 5 packages, and audited 6 packages in 4m

found 0 vulnerabilities

node-gyp / binding.gyp error while installing

Ran into the following while installing homebridge-openzwave on Raspberry Pi using the homebridge web UI :

> [email protected] install /usr/local/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared
> node-gyp rebuild

grep: /usr/*/include/value_classes: No such file or directory
gyp: Call to 'grep -r GetTypeNameFromEnum /usr/*/include/value_classes | wc -l' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:311:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.14.98-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge-openzwave/node_modules/openzwave-shared
gyp ERR! node -v v12.16.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/homebridge/.npm/_logs/2020-04-04T21_38_51_874Z-debug.log

Command failed. Please review log for details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.