Let's start talking about the new Z-wave JS integration

I managed to get some of them registered by pressing the awake button on the sensor and usse a heal node command from ZWaveJS to MQTT. One of them unfortunately registeres well, but refuses to become visible for HA (Has no Home assistent tab in ZWaveJS for MQTT control panel)

Where do you see an HA tab in the ZWaveJS to MQTT Control Panel? I just picked a few non-battery-powered devices and I didn’t see that tab.

In ZWjs toMQTT control panel, just click on any node and you will see the node details, including a Home assitant tab

You have to enable MQTT discovery, which is not recommended according to @frenck. I dunno reasoning for the strong recommendation against.


You don’t want to do both. If you do you will get duplicate entities of each of your devices.

I’m not sure why it would be “strongly” but I guess HA is more designed to use the WS Server instead of MQTT.

Either one will work. But then again I’m not exactly sure of the differences between the two for reporting entities. But again the container/add-on was designed originally with MQTT in mind so I think it should work the same just via a different communication mechanism.

Anyone experience with the fibaro Roller Shutter and Z-Wave JS integration?

I have an issue with the roller shutter, seems only to be in Z-Wave JS integration, works fine in z-wave js2mqtt…

Any tips? :slight_smile:

{
  "id": 61,
  "deviceId": "335-13616-18244",
  "manufacturer": "Nortek Security & Control LLC",
  "manufacturerId": 335,
  "productType": 18244,
  "productId": 13616,
  "name": "Garage_Door",
  "loc": "",
  "values": [
    {
      "id": "61-102-0-currentState",
      "nodeId": 61,
      "commandClass": 102,
      "commandClassName": "Barrier Operator",
      "endpoint": 0,
      "property": "currentState",
      "propertyName": "currentState",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Current Barrier State",
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "Closed",
          "value": 0
        },
        {
          "text": "Closing",
          "value": 252
        },
        {
          "text": "Stopped",
          "value": 253
        },
        {
          "text": "Opening",
          "value": 254
        },
        {
          "text": "Open",
          "value": 255
        }
      ],
      "value": 0,
      "isCurrentValue": true,
      "targetValue": "102-0-targetState",
      "lastUpdate": 1613832240861,
      "newValue": 0
    },
    {
      "id": "61-102-0-position",
      "nodeId": 61,
      "commandClass": 102,
      "commandClassName": "Barrier Operator",
      "endpoint": 0,
      "property": "position",
      "propertyName": "position",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Barrier Position",
      "stateless": false,
      "min": 0,
      "max": 100,
      "unit": "%",
      "list": false,
      "value": 0,
      "lastUpdate": 1613832240862,
      "newValue": 0
    },
    {
      "id": "61-102-0-signalingState-1",
      "nodeId": 61,
      "commandClass": 102,
      "commandClassName": "Barrier Operator",
      "endpoint": 0,
      "property": "signalingState",
      "propertyName": "signalingState",
      "propertyKey": 1,
      "propertyKeyName": "1",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Signaling State (Audible)",
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "Off",
          "value": 0
        },
        {
          "text": "On",
          "value": 255
        }
      ],
      "value": 0,
      "lastUpdate": 1613831394714,
      "newValue": 0
    },
    {
      "id": "61-102-0-signalingState-2",
      "nodeId": 61,
      "commandClass": 102,
      "commandClassName": "Barrier Operator",
      "endpoint": 0,
      "property": "signalingState",
      "propertyName": "signalingState",
      "propertyKey": 2,
      "propertyKeyName": "2",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Signaling State (Visual)",
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "Off",
          "value": 0
        },
        {
          "text": "On",
          "value": 255
        }
      ],
      "value": 0,
      "lastUpdate": 1613831408987,
      "newValue": 0
    },
    {
      "id": "61-102-0-targetState",
      "nodeId": 61,
      "commandClass": 102,
      "commandClassName": "Barrier Operator",
      "endpoint": 0,
      "property": "targetState",
      "propertyName": "targetState",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Target Barrier State",
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "Closed",
          "value": 0
        },
        {
          "text": "Open",
          "value": 255
        }
      ],
      "value": 0,
      "lastUpdate": 1613831385694,
      "newValue": 0
    },
    {
      "id": "61-113-0-alarmType",
      "nodeId": 61,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "alarmType",
      "propertyName": "alarmType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Alarm Type",
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": false,
      "lastUpdate": 1613831385694
    },
    {
      "id": "61-113-0-alarmLevel",
      "nodeId": 61,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "alarmLevel",
      "propertyName": "alarmLevel",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Alarm Level",
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": false,
      "lastUpdate": 1613831385694
    },
    {
      "id": "61-113-0-Access Control-Barrier UL disabling status",
      "nodeId": 61,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Access Control",
      "propertyName": "Access Control",
      "propertyKey": "Barrier UL disabling status",
      "propertyKeyName": "Barrier UL disabling status",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Barrier UL disabling status",
      "stateless": false,
      "ccSpecific": {
        "notificationType": 6
      },
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "idle",
          "value": 0
        },
        {
          "text": "Barrier unattended operation has been disabled per UL requirements",
          "value": 69
        }
      ],
      "value": 0,
      "lastUpdate": 1613831385694,
      "newValue": 0
    },
    {
      "id": "61-113-0-Access Control-Barrier sensor status",
      "nodeId": 61,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Access Control",
      "propertyName": "Access Control",
      "propertyKey": "Barrier sensor status",
      "propertyKeyName": "Barrier sensor status",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Barrier sensor status",
      "stateless": false,
      "ccSpecific": {
        "notificationType": 6
      },
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "idle",
          "value": 0
        },
        {
          "text": "Barrier sensor not detected / supervisory error",
          "value": 73
        }
      ],
      "value": 0,
      "lastUpdate": 1613831385695,
      "newValue": 0
    },
    {
      "id": "61-113-0-Access Control-Barrier battery status",
      "nodeId": 61,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Access Control",
      "propertyName": "Access Control",
      "propertyKey": "Barrier battery status",
      "propertyKeyName": "Barrier battery status",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Barrier battery status",
      "stateless": false,
      "ccSpecific": {
        "notificationType": 6
      },
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "idle",
          "value": 0
        },
        {
          "text": "Barrier sensor low battery warning",
          "value": 74
        }
      ],
      "value": 0,
      "lastUpdate": 1613831385695,
      "newValue": 0
    },
    {
      "id": "61-113-0-Home Security-Cover status",
      "nodeId": 61,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Home Security",
      "propertyName": "Home Security",
      "propertyKey": "Cover status",
      "propertyKeyName": "Cover status",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Cover status",
      "stateless": false,
      "ccSpecific": {
        "notificationType": 7
      },
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "idle",
          "value": 0
        },
        {
          "text": "Tampering, product cover removed",
          "value": 3
        }
      ],
      "value": 0,
      "lastUpdate": 1613831385695,
      "newValue": 0
    },
    {
      "id": "61-114-0-manufacturerId",
      "nodeId": 61,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "manufacturerId",
      "propertyName": "manufacturerId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Manufacturer ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 335,
      "lastUpdate": 1613831385695,
      "newValue": 335
    },
    {
      "id": "61-114-0-productType",
      "nodeId": 61,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productType",
      "propertyName": "productType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product type",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 18244,
      "lastUpdate": 1613831385696,
      "newValue": 18244
    },
    {
      "id": "61-114-0-productId",
      "nodeId": 61,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productId",
      "propertyName": "productId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 13616,
      "lastUpdate": 1613831385696,
      "newValue": 13616
    },
    {
      "id": "61-134-0-libraryType",
      "nodeId": 61,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "libraryType",
      "propertyName": "libraryType",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Library type",
      "stateless": false,
      "list": false,
      "value": 3,
      "lastUpdate": 1613831385696,
      "newValue": 3
    },
    {
      "id": "61-134-0-protocolVersion",
      "nodeId": 61,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "protocolVersion",
      "propertyName": "protocolVersion",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol version",
      "stateless": false,
      "list": false,
      "value": "4.5",
      "lastUpdate": 1613831385696,
      "newValue": "4.5"
    },
    {
      "id": "61-134-0-firmwareVersions",
      "nodeId": 61,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "firmwareVersions",
      "propertyName": "firmwareVersions",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip firmware versions",
      "stateless": false,
      "list": false,
      "value": [
        "2.0"
      ],
      "lastUpdate": 1613831385697,
      "newValue": [
        "2.0"
      ]
    },
    {
      "id": "61-134-0-hardwareVersion",
      "nodeId": 61,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "hardwareVersion",
      "propertyName": "hardwareVersion",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip hardware version",
      "stateless": false,
      "list": false,
      "lastUpdate": 1613831385697
    }
  ],
  "groups": [
    {
      "text": "Group 1",
      "value": 1,
      "maxNodes": 1,
      "isLifeline": true,
      "multiChannel": false
    }
  ],
  "neighbors": [
    2,
    4,
    6,
    13,
    18,
    19,
    20,
    21,
    25,
    29,
    30,
    31,
    34,
    37,
    42,
    44,
    67,
    76,
    77,
    78,
    100,
    101,
    107,
    108,
    113,
    124,
    125,
    128,
    131,
    132,
    133,
    134,
    138,
    140,
    152,
    153
  ],
  "ready": true,
  "available": false,
  "hassDevices": {},
  "failed": false,
  "lastActive": 1613832240862,
  "interviewCompleted": true,
  "firmwareVersion": "2.0",
  "isBeaming": true,
  "isSecure": true,
  "keepAwake": false,
  "maxBaudRate": null,
  "isRouting": true,
  "isFrequentListening": false,
  "isListening": true,
  "status": "Alive",
  "interviewStage": "Complete",
  "productLabel": "NGD00Z-4",
  "productDescription": "Garage Door Controller",
  "zwaveVersion": 4,
  "deviceClass": {
    "basic": 4,
    "generic": 64,
    "specific": 7
  },
  "hexId": "0x014f-0x3530-0x4744",
  "_name": "Garage_Door"
}

Much better formating. This is the info for the NGD00Z-4 garage door opener

The NGD00Z-4 still has not been added to Zwave_JS, correct? I know there was a couple updates but wasn’t sure if I needed to remove and re-add or anything to get the cover entity. (Not sure if they got that far with the config files yet)

Has anyone gotten the Aeotec door sensor gen 5 (ZW120A) working? I don’t have logs handy since I tried this last week, but I have several and they all seemed to fail interview after manually waking them up via physical button press. In HA the node shows as “Awake” but “Not Ready”. Supposedly the device is supported according to the docs and me finding the config file and it seemingly matching with the xml data on the zwave alliance site.

I also don’t understand that recommendation against MQTT integration, this is not my experience. After spending most of the day wishing I didn’t move to Z-Wave JS, the MQTT integration with auto-discovery is working mostly OK. Where it’s not working, it seems to be more with device support lacking.

The Z-Wave JS integration sucks. It has a huge number of missed entities, battery values report zero, the naming convention is garbage. With MQTT auto-discovery, it picks up the entity names and locations as assigned in Z-Wave JS GUI, and all of the found z-wave capabilities create entities. On top of that, I can move between Node-Red MQTT rules and HA entities so much easier, latency is lower, and when HA has another breaking change, 90% of my house still works.

The only reason to have them in HA at all is dashboarding, and because calling the services like light.turn_off and switch.turn_off works perfectly. Since nearly everything else for me is through Node-Red and MQTT, I feel like the day was well spent moving further in that direction.

I will admit working with HA entities is overall easier than MQTT directly, but you can do both with the MQTT integration. Maybe as the ZWave JS integration improves it will change my mind, but right now no way.

I should mention I’m using self hosted HA 2021.2.3 with Docker.

2 Likes

What/where are you using this info? I really want my garage doors to work again.

hy guys i setup the zwave js addon and not everything is working very well,
now i want to use zwavejstomqtt too is there any solution to migrate from zwavejs to zwavejstomqtt without deleting the zwavejs addon?

zwave locks have no attributes, such as lock_status. Is there a plan to remedy this soonish?

2 Likes

The NGD00Z-4 works fine in the latest versions of zwavejs.

Barrier Operator support is in for zwavejs, what you’re waiting on is the next HA beta to support them via covers :slight_smile:

1 Like

I don’t use add-ons but I think there is a way to just stop the add-on from the add-on configuration panel.

Got it! I was aware we are waiting on the HA update but thought maybe there was a manual option to add the covers. Much appreciate the info!

Any idea when covers for GoControl will be coming to HA?

AFAIK you should see them in the beta, then next release.

1 Like

Just chiming in to give an update. Have been running ZWaveJS for a few weeks now and its been great once I got past the hurdles in the first week or so. I have >50 devices of mixed brands and types (open/close sensors, motion sensors, flood sensors, plugs, bulbs, locks, sirens, etc…almost no two devices are the same brand from buying sales over time), and right now, the only thing that doesn’t work for me is setting ZWave parameters, which I use for things like setting the notification tone on my Dome Siren and Inovelli Switch notifications. I know this is coming. My door locks work great, automations that fire off from devices from my detached garage work almost instantly (vs up to a 15 second delay with OZW and the old Z wave - and there has been no physical changes to the network) and events have been coming through reliably from Minimotes, Quadmotes, door locks, and again, Inovelli Switches.
I dont have any cover devices so I cant speak there, but Schlage locks were fixed early in the month and always report the correct status (and quickly) every time now.

The migration experience wasn’t great, but this is early on so I hope that will get better down the road for others. Other than that, I’m pretty happy and the WAF has gone up after the initial investment in time on getting it set up.

Anyways, for those with issues, give it time or stick with what works for awhile. Its going to get better and we can move past this whole ZWave ordeal soon enough.

Just wanted to add my input because it seems there are lots of negative discussions in here. It sucks at first (right now), but for me, it ended up being a way more reliable and speedy system so far.

2 Likes

Are you getting updates on alarm_type and alarm_level on your Schlage locks, if you have B469’s? Everything else for my Schlage locks works except those two notifications, which are how I read the code slot to know who unlocked the door to fire off other automations. I see the B469’s still on the migration list, so hopefully there are still some improvements coming.