Home Assistant Z-Wave Network Viewer (using Docker)

Sorry, missed it, it lacks of protocol, please add http://,
In the post above it was written correctly

Sorry, I had it the other way at first with “the same” result (page loaded but no graph) so I switched to be without it.

However, I hadn’t checked the browser console for errors. I’ve added the http back to the docker command and that gave me “the same” results (no graph) but then there was a different error in the browser:

I thought I had the http section configured correctly but I forgot I had to set the port to a different one because the default was in use.

It’s all straightened up now and working.

Thanks for your help :+1:

Problem : TypeError: Cannot read property ‘indexOf’ of undefined

Sorry, no more info or log in the container.

If you click on that “networkvieer.js:356” link, it will show you the line of code it is failing in. Mine up above for example is unable to find the primary controller (which appears to be a problem with my Z-Wave install, I’m trhing to figure out how I lost the pirmary).

Released new version with the following changed:

  • Added support SSL

  • Exposed new endpoint /states.json to reterive the states JSON from Home Assistant (server to server)

  • As result of the above - no need to define the URL in cors_allowed_origins

  • Added logs when environment variables are not defined as it should (missing HA_TOKEN or HA_URL)

FYI, currently the new OZW doesn’t put the neighbors into an attribute, you can pull them from the MQTT topics for the devices however.

@bar I’ve done a bunch of work on my Z-Wave network today (by resetting it and completely rebuilding it), so I now have a primary. I also grabbed the new image and am giving that a try.

However, it’s crashing when it’s parsing the neighbors:

TypeError: Cannot read property 'hop' of undefined
    at networkViewer.js:366
    at Array.filter (<anonymous>)
    at setItemHop (networkViewer.js:366)
    at networkViewer.js:377
    at Array.forEach (<anonymous>)
    at setItemsHop (networkViewer.js:377)
    at loadNetworkItems (networkViewer.js:421)
    at initialize (networkViewer.js:504)
    at (index):55

I have a hunch this may be because my Z-Stick is having issues talking to one of my switches. It shows up in the neighbor list, but not in my Z-Wave devices. Here are the zwave devices from the HA states list, notice there is no device with node id 18 in the list. However it does show up in the logs and it works just fine from my primary controller (an ISY994).

Entity State Attributes
zwave.aeon_labs_zw090_z_stick_gen5_us ready node_id: 2
node_name: AEON Labs ZW090 Z-Stick Gen5 US
neighbors: 1, 6, 8, 9, 10, 18, 19
zwave.fountain_light_smart_energy_switch ready node_id: 9
node_name: AEON Labs DSC06106 Smart Energy Switch
neighbors: 2, 6, 10, 16, 19
zwave.front_sidewalk_multisensor_6 ready node_id: 6
node_name: AEON Labs ZW100 MultiSensor 6
neighbors: 2, 8, 9, 10, 19
zwave.garage_smart_switch_6 ready node_id: 8
node_name: AEON Labs ZW096 Smart Switch 6
neighbors: 2, 10, 6
zwave.inovelli_unknown_type_ff00_id_ff05 ready node_id: 20
node_name: Inovelli Unknown: type=ff00, id=ff05
neighbors: 10
zwave.master_bathroom_multisensor_6 ready node_id: 16
node_name: Unknown Node 16
neighbors: 19, 9, 10, 18
zwave.photo_frame_smart_energy_switch_2 ready node_id: 10
node_name: AEON Labs DSC06106 Smart Energy Switch
neighbors: 1, 2, 6, 8, 9, 16, 19
zwave.piano_room_table_lamp ready node_id: 19
node_name: Inovelli LZW42 Multi-Color Bulb
neighbors: 2, 6, 9, 10, 16
zwave.universal_devices_isy994i ready node_id: 1
node_name: Universal Devices Unknown: type=0001, id=0001
neighbors: 18, 2, 10

Released new version with the following changed:

  • Fixed relation to zombie nodes (will ignore it)
  • When a node has no neighbors, it will display a connection to the hub, but will display no neighbors in the sidebar
  • Fixed relation to hub when the node is not connected - happens during startup or in case there is an issues with node (dead)
  • Switched docker image to python-alpine (10% of size compared to previous one)
  • Installed within the image nano editor

Is there a feature request to support it?

Thanks

Since that information can be pulled via MQTT, I’m doubtful.

Why? It was part of zwave, it suppose to replace it, instead of creating additional sensor that will listen to mqtt, the component that listens to ozw messages will add one more entity (equivalent to zwave component) with neighbors

There’s also no zwave.DEVICE so I’m not sure how you’d cope with that as well.

(ARGH, this didn’t post last night… I’ll give the new image a try and see of that makes a difference)

I just got device 18 showing up (by excluding and including it yet again) and that was the issue. It looks like it crashes if it can’t find one of the neighbors.

That said, it looks like it isn’t picking up topology changes. I paired node 21, and it shows neighbors of nodes 10 and 20 in the device list. However, it’s showing as disconnected in the diagram.

This is a great tool though, thanks for writing it and putting it out there!

Do I understand this graph zwave toolvis usable togehter witht the openzwave addon?

Will release new version later that will allow to extract the json of just zwave entities and import it for debug purposes,
So basically if you would like, you will be able to send me the json and I will run it at my system with your configuration

@bar I noticed one other thing – there are links missing. Is this intentional or just an attempt to keep the graph cleaner? It would be nice if it always showed all the! links for the selected node (or if there was a way to change the tiering to focus on the selected node, but that could be difficult).

Notice in the screenshot below that node 9 is missing the links to nodes 10 and 6. It’s even more obvious when I select node 16, as it only shows a single link, but the details show it with neighbors of 9, 10, 19, and 21.
Screen Shot 2020-07-27 at 16.23.07|690x399

New version released:

  • Moved all logic of build the JSON for presentation to server side code
  • Changed the layout to be an icon with label
  • Changed the color scheme of sidebar
  • Select a node will color it in blue
  • Changed the label’s color to white
  • Web API - new endpoint - states.json - HA full states
  • Web API - new endpoint - zwave.json - HA states filtered by zwave domain
  • Web API - new endpoint - nodes.json - Nodes JSON for debugging
  • Added button to download nodes JSON from viewer

please pull latest version and use the JSON button at the top right corner to download the generated JSON and post it so I’ll be able to debug

thanks

Here’s an example with the new version. Node 1 for example should have two connections but was only showing one.

And the json:

[
    {
        "id": 2,
        "name": "AEON Labs ZW090 Z-Stick Gen5 US",
        "hop": 0,
        "neighbors": [
            9,
            10,
            20,
            6
        ],
        "isPrimary": true,
        "edges": [
            {
                "id": 2,
                "toNodeId": 9,
                "type": "parent"
            },
            {
                "id": 2,
                "toNodeId": 10,
                "type": "parent"
            },
            {
                "id": 2,
                "toNodeId": 20,
                "type": "parent"
            },
            {
                "id": 2,
                "toNodeId": 6,
                "type": "parent"
            }
        ],
        "entity": {
            "attributes": {
                "averageRequestRTT": 0,
                "averageResponseRTT": 0,
                "capabilities": [
                    "primaryController",
                    "beaming",
                    "listening",
                    "staticUpdateController"
                ],
                "friendly_name": "AEON Labs ZW090 Z-Stick Gen5 US",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": false,
                "lastRequestRTT": 0,
                "lastResponseRTT": 0,
                "manufacturer_name": "AEON Labs",
                "max_baud_rate": 40000,
                "neighbors": [
                    9,
                    10,
                    20,
                    6
                ],
                "node_id": 2,
                "node_name": "AEON Labs ZW090 Z-Stick Gen5 US",
                "product_name": "ZW090 Z-Stick Gen5 US",
                "query_stage": "Complete",
                "receivedCnt": 0,
                "receivedDups": 0,
                "receivedTS": "2020-07-26 19:51:12:716 ",
                "receivedUnsolicited": 0,
                "retries": 0,
                "sentCnt": 1,
                "sentFailed": 0,
                "sentTS": "2020-07-26 19:51:15:265 "
            },
            "context": {
                "id": "b1146a15a7ba4224813123a17c131404",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.aeon_labs_zw090_z_stick_gen5_us",
            "last_changed": "2020-07-27T02:51:25.864261+00:00",
            "last_updated": "2020-07-27T02:51:25.864261+00:00",
            "state": "ready"
        }
    },
    {
        "id": 1,
        "name": "ISY994i",
        "hop": 2,
        "neighbors": [
            10,
            19
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 1,
                "toNodeId": 10,
                "type": "child"
            },
            {
                "id": 1,
                "toNodeId": 19,
                "type": "sibling"
            }
        ],
        "entity": {
            "attributes": {
                "averageRequestRTT": 23,
                "averageResponseRTT": 0,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening"
                ],
                "friendly_name": "ISY994i",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": false,
                "lastRequestRTT": 23,
                "lastResponseRTT": 0,
                "manufacturer_name": "Universal Devices",
                "max_baud_rate": 40000,
                "neighbors": [
                    10,
                    19
                ],
                "node_id": 1,
                "node_name": "Universal Devices Unknown: type=0001, id=0001",
                "product_name": "Unknown: type=0001, id=0001",
                "query_stage": "Complete",
                "receivedCnt": 0,
                "receivedDups": 0,
                "receivedTS": "2020-07-26 19:51:12:715 ",
                "receivedUnsolicited": 0,
                "retries": 0,
                "sentCnt": 2,
                "sentFailed": 0,
                "sentTS": "2020-07-26 19:51:25:687 "
            },
            "context": {
                "id": "d43038e9689b4578af8f690a4a26bff3",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.universal_devices_isy994i",
            "last_changed": "2020-07-27T02:52:08.606240+00:00",
            "last_updated": "2020-07-27T02:52:08.606240+00:00",
            "state": "ready"
        }
    },
    {
        "id": 19,
        "name": "Piano Room Table Lamp",
        "hop": 2,
        "neighbors": [
            1,
            6,
            9,
            10,
            16,
            20
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 19,
                "toNodeId": 1,
                "type": "sibling"
            },
            {
                "id": 19,
                "toNodeId": 6,
                "type": "child"
            },
            {
                "id": 19,
                "toNodeId": 9,
                "type": "child"
            },
            {
                "id": 19,
                "toNodeId": 10,
                "type": "child"
            },
            {
                "id": 19,
                "toNodeId": 16,
                "type": "parent"
            },
            {
                "id": 19,
                "toNodeId": 20,
                "type": "child"
            }
        ],
        "entity": {
            "attributes": {
                "application_version": "2.28",
                "averageRequestRTT": 1359,
                "averageResponseRTT": 1297,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening",
                    "zwave_plus"
                ],
                "friendly_name": "Piano Room Table Lamp",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": true,
                "lastRequestRTT": 1726,
                "lastResponseRTT": 1890,
                "manufacturer_name": "Inovelli",
                "max_baud_rate": 40000,
                "neighbors": [
                    1,
                    6,
                    9,
                    10,
                    16,
                    20
                ],
                "node_id": 19,
                "node_name": "Inovelli LZW42 Multi-Color Bulb",
                "product_name": "LZW42 Multi-Color Bulb",
                "query_stage": "Complete",
                "receivedCnt": 10,
                "receivedDups": 0,
                "receivedTS": "2020-07-26 19:52:43:462 ",
                "receivedUnsolicited": 0,
                "retries": 0,
                "sentCnt": 13,
                "sentFailed": 3,
                "sentTS": "2020-07-26 19:52:41:573 "
            },
            "context": {
                "id": "b1cb97ec162c43bca4db7d9c7b233544",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.piano_room_table_lamp",
            "last_changed": "2020-07-27T02:52:54.933751+00:00",
            "last_updated": "2020-07-27T02:52:54.933751+00:00",
            "state": "ready"
        }
    },
    {
        "id": 16,
        "name": "Master Bathroom MultiSensor 6",
        "hop": 3,
        "neighbors": [
            9,
            10
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 16,
                "toNodeId": 9,
                "type": "child"
            },
            {
                "id": 16,
                "toNodeId": 10,
                "type": "child"
            }
        ],
        "entity": {
            "attributes": {
                "averageRequestRTT": 2443,
                "averageResponseRTT": 7309,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening"
                ],
                "friendly_name": "Master Bathroom MultiSensor 6",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": false,
                "lastRequestRTT": 68,
                "lastResponseRTT": 9492,
                "manufacturer_name": "",
                "max_baud_rate": 40000,
                "neighbors": [
                    9,
                    10
                ],
                "node_id": 16,
                "node_name": "Unknown Node 16",
                "product_name": "",
                "query_stage": "Complete",
                "receivedCnt": 3,
                "receivedDups": 0,
                "receivedTS": "2020-07-27 19:42:35:261 ",
                "receivedUnsolicited": 0,
                "retries": 0,
                "sentCnt": 12,
                "sentFailed": 0,
                "sentTS": "2020-07-27 19:47:14:790 "
            },
            "context": {
                "id": "d77e701aa48846d5a1a99673c9e812a8",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.master_bathroom_multisensor_6",
            "last_changed": "2020-07-28T02:42:35.873074+00:00",
            "last_updated": "2020-07-28T02:47:14.962313+00:00",
            "state": "ready"
        }
    },
    {
        "id": 6,
        "name": "Front Sidewalk MultiSensor 6",
        "hop": 1,
        "neighbors": [
            19,
            9,
            2,
            10
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 6,
                "toNodeId": 19,
                "type": "parent"
            },
            {
                "id": 6,
                "toNodeId": 9,
                "type": "sibling"
            },
            {
                "id": 6,
                "toNodeId": 2,
                "type": "child"
            },
            {
                "id": 6,
                "toNodeId": 10,
                "type": "sibling"
            }
        ],
        "entity": {
            "attributes": {
                "application_version": "1.13",
                "averageRequestRTT": 312,
                "averageResponseRTT": 353,
                "battery_level": 100,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening",
                    "zwave_plus"
                ],
                "friendly_name": "Front Sidewalk MultiSensor 6",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": true,
                "lastRequestRTT": 369,
                "lastResponseRTT": 388,
                "manufacturer_name": "AEON Labs",
                "max_baud_rate": 40000,
                "neighbors": [
                    19,
                    9,
                    2,
                    10
                ],
                "node_id": 6,
                "node_name": "AEON Labs ZW100 MultiSensor 6",
                "product_name": "ZW100 MultiSensor 6",
                "query_stage": "Complete",
                "receivedCnt": 249,
                "receivedDups": 7,
                "receivedTS": "2020-07-28 15:30:58:478 ",
                "receivedUnsolicited": 240,
                "retries": 0,
                "sentCnt": 28,
                "sentFailed": 1,
                "sentTS": "2020-07-28 11:31:22:351 ",
                "wake_up_interval": 3600
            },
            "context": {
                "id": "b9ba605cf6a1467b9bfc3a2fd0f73b68",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.front_sidewalk_multisensor_6",
            "last_changed": "2020-07-27T02:52:54.166918+00:00",
            "last_updated": "2020-07-28T22:30:58.598910+00:00",
            "state": "ready"
        }
    },
    {
        "id": 9,
        "name": "Fountain Light Smart Energy Switch",
        "hop": 1,
        "neighbors": [
            2,
            6,
            8,
            10,
            19
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 9,
                "toNodeId": 2,
                "type": "child"
            },
            {
                "id": 9,
                "toNodeId": 6,
                "type": "sibling"
            },
            {
                "id": 9,
                "toNodeId": 8,
                "type": "parent"
            },
            {
                "id": 9,
                "toNodeId": 10,
                "type": "sibling"
            },
            {
                "id": 9,
                "toNodeId": 19,
                "type": "parent"
            }
        ],
        "entity": {
            "attributes": {
                "application_version": "1.43",
                "averageRequestRTT": 29,
                "averageResponseRTT": 108,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening"
                ],
                "friendly_name": "Fountain Light Smart Energy Switch",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": false,
                "lastRequestRTT": 25,
                "lastResponseRTT": 71,
                "manufacturer_name": "AEON Labs",
                "max_baud_rate": 40000,
                "neighbors": [
                    2,
                    6,
                    8,
                    10,
                    19
                ],
                "node_id": 9,
                "node_name": "AEON Labs DSC06106 Smart Energy Switch",
                "product_name": "DSC06106 Smart Energy Switch",
                "query_stage": "Complete",
                "receivedCnt": 21,
                "receivedDups": 2,
                "receivedTS": "2020-07-28 03:01:54:371 ",
                "receivedUnsolicited": 8,
                "retries": 0,
                "sentCnt": 22,
                "sentFailed": 0,
                "sentTS": "2020-07-28 00:00:55:953 "
            },
            "context": {
                "id": "9f3892a02df04ac19535dd74b0600b33",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.fountain_light_smart_energy_switch",
            "last_changed": "2020-07-27T02:52:54.932807+00:00",
            "last_updated": "2020-07-28T10:01:54.485077+00:00",
            "state": "ready"
        }
    },
    {
        "id": 21,
        "name": "Master Bathroom Light",
        "hop": -1,
        "neighbors": [
            1,
            2,
            6,
            8,
            16,
            19,
            20
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 21,
                "toNodeId": 1,
                "type": "parent"
            },
            {
                "id": 21,
                "toNodeId": 2,
                "type": "parent"
            },
            {
                "id": 21,
                "toNodeId": 6,
                "type": "parent"
            },
            {
                "id": 21,
                "toNodeId": 8,
                "type": "parent"
            },
            {
                "id": 21,
                "toNodeId": 16,
                "type": "parent"
            },
            {
                "id": 21,
                "toNodeId": 19,
                "type": "parent"
            },
            {
                "id": 21,
                "toNodeId": 20,
                "type": "parent"
            }
        ],
        "entity": {
            "attributes": {
                "application_version": "1.47",
                "averageRequestRTT": 425,
                "averageResponseRTT": 1077,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening",
                    "zwave_plus"
                ],
                "friendly_name": "Master Bathroom Light",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": true,
                "lastRequestRTT": 541,
                "lastResponseRTT": 626,
                "manufacturer_name": "Inovelli",
                "max_baud_rate": 40000,
                "neighbors": [
                    1,
                    2,
                    6,
                    8,
                    16,
                    19,
                    20
                ],
                "node_id": 21,
                "node_name": "Inovelli LZW31-SN Dimmer Red Series",
                "product_name": "LZW31-SN Dimmer Red Series",
                "query_stage": "Complete",
                "receivedCnt": 1542,
                "receivedDups": 178,
                "receivedTS": "2020-07-28 16:06:25:497 ",
                "receivedUnsolicited": 326,
                "retries": 5,
                "sentCnt": 2018,
                "sentFailed": 747,
                "sentTS": "2020-07-28 16:06:24:871 "
            },
            "context": {
                "id": "80c07c85cbfa4b629c4dbe623a2297be",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.master_bathroom_light_working",
            "last_changed": "2020-07-28T15:05:42.511450+00:00",
            "last_updated": "2020-07-28T23:06:25.621188+00:00",
            "state": "ready"
        }
    },
    {
        "id": 10,
        "name": "Dan Desk Smart Energy Switch",
        "hop": 1,
        "neighbors": [
            1,
            2,
            6,
            8,
            9,
            19,
            20
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 10,
                "toNodeId": 1,
                "type": "parent"
            },
            {
                "id": 10,
                "toNodeId": 2,
                "type": "child"
            },
            {
                "id": 10,
                "toNodeId": 6,
                "type": "sibling"
            },
            {
                "id": 10,
                "toNodeId": 8,
                "type": "parent"
            },
            {
                "id": 10,
                "toNodeId": 9,
                "type": "sibling"
            },
            {
                "id": 10,
                "toNodeId": 19,
                "type": "parent"
            },
            {
                "id": 10,
                "toNodeId": 20,
                "type": "sibling"
            }
        ],
        "entity": {
            "attributes": {
                "application_version": "1.43",
                "averageRequestRTT": 161,
                "averageResponseRTT": 187,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening"
                ],
                "friendly_name": "Dan Desk Smart Energy Switch",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": false,
                "lastRequestRTT": 206,
                "lastResponseRTT": 262,
                "manufacturer_name": "AEON Labs",
                "max_baud_rate": 40000,
                "neighbors": [
                    1,
                    2,
                    6,
                    8,
                    9,
                    19,
                    20
                ],
                "node_id": 10,
                "node_name": "AEON Labs DSC06106 Smart Energy Switch",
                "product_name": "DSC06106 Smart Energy Switch",
                "query_stage": "Complete",
                "receivedCnt": 38,
                "receivedDups": 2,
                "receivedTS": "2020-07-28 09:21:29:419 ",
                "receivedUnsolicited": 31,
                "retries": 0,
                "sentCnt": 14,
                "sentFailed": 0,
                "sentTS": "2020-07-28 00:00:22:621 "
            },
            "context": {
                "id": "700c36e1821742de85f6b3b460a69807",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.dan_desk_smart_energy_switch",
            "last_changed": "2020-07-27T02:52:54.933272+00:00",
            "last_updated": "2020-07-28T16:21:29.527009+00:00",
            "state": "ready"
        }
    },
    {
        "id": 8,
        "name": "Master Bedroom Smart Switch 6",
        "hop": 2,
        "neighbors": [
            20
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 8,
                "toNodeId": 20,
                "type": "child"
            }
        ],
        "entity": {
            "attributes": {
                "application_version": "1.03",
                "averageRequestRTT": 381,
                "averageResponseRTT": 612,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening",
                    "zwave_plus"
                ],
                "friendly_name": "Master Bedroom Smart Switch 6",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": true,
                "lastRequestRTT": 525,
                "lastResponseRTT": 614,
                "manufacturer_name": "AEON Labs",
                "max_baud_rate": 40000,
                "neighbors": [
                    20
                ],
                "node_id": 8,
                "node_name": "AEON Labs ZW096 Smart Switch 6",
                "product_name": "ZW096 Smart Switch 6",
                "query_stage": "Complete",
                "receivedCnt": 37,
                "receivedDups": 0,
                "receivedTS": "2020-07-27 21:27:57:619 ",
                "receivedUnsolicited": 1,
                "retries": 0,
                "sentCnt": 70,
                "sentFailed": 6,
                "sentTS": "2020-07-27 21:27:57:005 "
            },
            "context": {
                "id": "cc3a9b21733f4a3ca5cdd262e85e72a2",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.master_bedroom_smart_switch_6",
            "last_changed": "2020-07-27T02:52:54.932277+00:00",
            "last_updated": "2020-07-28T04:27:57.728398+00:00",
            "state": "ready"
        }
    },
    {
        "id": 20,
        "name": "Hall Dual Smart Switch",
        "hop": 1,
        "neighbors": [
            8,
            19,
            2,
            10
        ],
        "isPrimary": false,
        "edges": [
            {
                "id": 20,
                "toNodeId": 8,
                "type": "parent"
            },
            {
                "id": 20,
                "toNodeId": 19,
                "type": "parent"
            },
            {
                "id": 20,
                "toNodeId": 2,
                "type": "child"
            },
            {
                "id": 20,
                "toNodeId": 10,
                "type": "sibling"
            }
        ],
        "entity": {
            "attributes": {
                "application_version": "1.01",
                "averageRequestRTT": 34,
                "averageResponseRTT": 60,
                "capabilities": [
                    "routing",
                    "beaming",
                    "listening",
                    "zwave_plus"
                ],
                "friendly_name": "Hall Dual Smart Switch",
                "is_awake": true,
                "is_failed": false,
                "is_info_received": true,
                "is_ready": true,
                "is_zwave_plus": true,
                "lastRequestRTT": 26,
                "lastResponseRTT": 43,
                "manufacturer_name": "Inovelli",
                "max_baud_rate": 40000,
                "neighbors": [
                    8,
                    19,
                    2,
                    10
                ],
                "node_id": 20,
                "node_name": "Inovelli Unknown: type=ff00, id=ff05",
                "product_name": "Unknown: type=ff00, id=ff05",
                "query_stage": "Complete",
                "receivedCnt": 14,
                "receivedDups": 1,
                "receivedTS": "2020-07-28 06:10:52:050 ",
                "receivedUnsolicited": 0,
                "retries": 0,
                "sentCnt": 28,
                "sentFailed": 0,
                "sentTS": "2020-07-28 06:10:52:007 "
            },
            "context": {
                "id": "b2500106985e4078824e536753f71c8b",
                "parent_id": null,
                "user_id": null
            },
            "entity_id": "zwave.hall_dual_smart_switch",
            "last_changed": "2020-07-27T02:52:54.934222+00:00",
            "last_updated": "2020-07-28T13:10:52.159916+00:00",
            "state": "ready"
        }
    }
]

Here’s an example of some node data you can get from the ozwd in the new version.
This is directly from the MQTT server:

{
    "NodeID": 10,
    "NodeQueryStage": "Complete",
    "isListening": true,
    "isFlirs": false,
    "isBeaming": true,
    "isRouting": true,
    "isSecurityv1": false,
    "isZWavePlus": true,
    "isNIFRecieved": true,
    "isAwake": true,
    "isFailed": false,
    "MetaData": {
        "OZWInfoURL": "",
        "ZWAProductURL": "",
        "ProductPic": "",
        "Description": "",
        "ProductManualURL": "",
        "ProductPageURL": "",
        "InclusionHelp": "",
        "ExclusionHelp": "",
        "ResetHelp": "",
        "WakeupHelp": "",
        "ProductSupportURL": "",
        "Frequency": "",
        "Name": "",
        "ProductPicBase64": ""
    },
    "Event": "nodeQueriesComplete",
    "TimeStamp": 1595709552,
    "NodeManufacturerName": "Linear (Nortek Security Control LLC)",
    "NodeProductName": "GC-TBZ48 Battery Powered Z-Wave Thermostat",
    "NodeBasicString": "Routing Slave",
    "NodeBasic": 4,
    "NodeGenericString": "Thermostat",
    "NodeGeneric": 8,
    "NodeSpecificString": "General Thermostat V2",
    "NodeSpecific": 6,
    "NodeManufacturerID": "0x014f",
    "NodeProductType": "0x5442",
    "NodeProductID": "0x5436",
    "NodeBaudRate": 100000,
    "NodeVersion": 4,
    "NodeGroups": 3,
    "NodeName": "",
    "NodeLocation": "",
    "NodeDeviceTypeString": "Thermostat HVAC",
    "NodeDeviceType": 4608,
    "NodeRole": 5,
    "NodeRoleString": "Always On Slave",
    "NodePlusType": 0,
    "NodePlusTypeString": "Z-Wave+ node",
    "Neighbors": [
        1,
        2,
        6,
        8,
        9,
        11,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        26,
        27,
        28,
        29,
        30,
        32,
        33,
        37,
        38,
        39,
        41
    ],
}
{
    "NodeID": 1,
    "NodeQueryStage": "Complete",
    "isListening": true,
    "isFlirs": false,
    "isBeaming": true,
    "isRouting": false,
    "isSecurityv1": false,
    "isZWavePlus": false,
    "isNIFRecieved": true,
    "isAwake": true,
    "isFailed": false,
    "MetaData": {
        "OZWInfoURL": "http://www.openzwave.com/device-database/0086:005A:0101",
        "ZWAProductURL": "",
        "ProductPic": "images/aeotec/zw090.png",
        "Description": "Aeotec Z-Stick Gen5 is a USB controller. When connected to a host controller via USB, it enables the host controller to take part in the Z-Wave network. Products that are Z-Wave certified can be used and communicate with other Z-Wave certified devices.",
        "ProductManualURL": "https://Products.Z-WaveAlliance.org/ProductManual/File?folder=&filename=Manuals/1355/Z Stick Gen5 manual 1.pdf",
        "ProductPageURL": "",
        "InclusionHelp": "Plug the Z-Stick into USB port of your host Controller and then click the “Inclusion” button on your PC/host Controller application.",
        "ExclusionHelp": "Plug the Z-Stick into USB port of your host Controller and then click the “Exclusion” button on your PC/host Controller application.",
        "ResetHelp": "Use this procedure only in the event that the primary controller is missing or otherwise inoperable. Press and hold the Action Button on Z-Stick for 20 seconds and then release.",
        "WakeupHelp": "N/A",
        "ProductSupportURL": "",
        "Frequency": "",
        "Name": "Z-Stick Gen5",
        "ProductPicBase64": "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"
    },
    "Event": "nodeQueriesComplete",
    "TimeStamp": 1595709344,
    "NodeManufacturerName": "AEON Labs",
    "NodeProductName": "ZW090 Z-Stick Gen5 US",
    "NodeBasicString": "Static Controller",
    "NodeBasic": 2,
    "NodeGenericString": "Static Controller",
    "NodeGeneric": 2,
    "NodeSpecificString": "Static PC Controller",
    "NodeSpecific": 1,
    "NodeManufacturerID": "0x0086",
    "NodeProductType": "0x0101",
    "NodeProductID": "0x005a",
    "NodeBaudRate": 100000,
    "NodeVersion": 4,
    "NodeGroups": 0,
    "NodeName": "",
    "NodeLocation": "",
    "NodeDeviceTypeString": "Unknown Type (0x0000)",
    "NodeDeviceType": 0,
    "NodeRole": 0,
    "NodeRoleString": "Central Controller",
    "NodePlusType": 0,
    "NodePlusTypeString": "Z-Wave+ node",
    "Neighbors": [
        2,
        6,
        8,
        9,
        10,
        11,
        14,
        15,
        16,
        17,
        19,
        20,
        21,
        22,
        23,
        26,
        27,
        28,
        29,
        30,
        32,
        33,
        36,
        38,
        39,
        41,
        42
    ]
}