Homebridge Z-Wave Platform plugin

Usage no npm install needed!

<script type="module">
  import homebridgePlatformZwave from 'https://cdn.skypack.dev/homebridge-platform-zwave';



NPM Version NPM Downloads

Homebrdige plugin for Open Z-Wave devices. 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.

Supported Z-Wave Command Classes

Work In Progress (the list shows command classes for the devices I currently have)



  1. Z-Wave gateway. For example Aeotec Z-Stick Gen5
  2. Installed https://github.com/OpenZWave/open-zwave


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


Add the minimal platform configuration. This plugin creates Add Node, Add Secure Node, and Remove Node buttons for your controller. All the supported command classes from all devices paired with your gateway appear in the Home app.

  "platform": "zWavePlatform",
  "name": "Z-Wave Platform",
  "zwave": {
    "devicePath": "/dev/cu.usbmodem144101"
  • zwave
    • devicePath — path to the gateway. For the list use ls /dev/cu.* and/or ls /dev/tty.*


If you want to customize exposed accessories, add accessories to your config. Ex.:

  "platform": "zWavePlatform",
  "name": "Z-Wave Platform",
  "zwave": {
    "devicePath": "/dev/cu.usbmodem144101"
  "accessories": {
    "3": {
      "name": "My Switch",
      "ignoreClasses": [ 38 ],
      "values": {
        "112-1-35": 37
  • NodeId – "3" in the example above. NodeId of the node (device) the config is applied to.
  • name – string, name of the device in the Home app.
  • ignoreClasses – the array of the command classes Ids to ignore.
  • values – map of valueId: value to set the initial value.
  • parameters – map of parameterId: value to set the initial value.
  • valuesMaps – map of valueId: valueMaps to map a value from Z-Wave to HomeKit.

You can also set the node config to false to ignore the node (device) entirely.


All the devices and command classes will be tested and added to this plugin as soon as I can get the device in my hands or with your help. Donations and PRs are welcome!

© velocityzen