ZOOZ 800 Series USB Controller Firmware Update via Z-Wave JS UI

I performed an OTW firmware update via Z-Wave JS UI on a ZST39 800 Series USB stick. The update seemed to work: the file downloaded from ZOOZ is “ZST39_SDK_7.18.3_US.gbl” and the stick now reports that it is at v7.18.3; it is working fine.

However, the update ended with a Z-Wave JS UI error message about a timeout and the zwavejs2mqtt log shows:

OTW update was aborted by the bootloader. file error 0x18
Controller 1 firmware update OTW finished with error.
Status: Error_Aborted. Result: [object Object].
Leaving bootloader...
Waiting for the controller to reconnect...
reconnected and restarted

Any ideas? Thanks in advance!

I’ve seen similar strange debug messages after a firmware update in Simplicity Studio (700 stick). Everything has always worked so I just ignore them now.

1 Like

How do you find your firmware version? My 800 says it is firmware 1.2 in HA which I know is not right.

Do you have the USB stick or GPIO?

I have a USB Stick.

Zooz has started using their own firmware files. If I look in the support portal, it looks like the USB latest version is 1.4 (1.04). There’s no 1.2 version in the changelog, which is strange. You might try and see if you can upgrade to 1.4.

https://www.support.getzooz.com/kb/article/1352-zst39-800-long-range-z-wave-stick-change-log/

Having the same issue trying to update mine (which shows v1.2). Did you ever get this resolved?

Nope. Sorry. I just resigned myself to waiting for an update to show up in HA. I do not believe the 800 is officially supported yet.

1 Like

Me too, shows version 1.2

I reported this on github: Zooz 800 Reports Incorrect Firmware · Issue #95149 · home-assistant/core · GitHub

1 Like

Post the driver debug logs showing the version number reported by the stick. I’m fairly certain this has nothing to do with Home Assistant.

@freshcoast I’m new to this and ended up here with the same question.

You asked for the debug log and I’m not sure what you are asking for but is this it?



{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.6.3",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.4",
    "docker": true,
    "arch": "x86_64",
    "timezone": "America/Denver",
    "os_name": "Linux",
    "os_version": "6.1.34",
    "supervisor": "2023.06.2",
    "host_os": "Home Assistant OS 10.3",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.28.4",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zwave_js",
    "name": "Z-Wave",
    "codeowners": [
      "@home-assistant/z-wave"
    ],
    "config_flow": true,
    "dependencies": [
      "usb",
      "http",
      "websocket_api"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zwave_js",
    "integration_type": "hub",
    "iot_class": "local_push",
    "loggers": [
      "zwave_js_server"
    ],
    "quality_scale": "platinum",
    "requirements": [
      "pyserial==3.5",
      "zwave-js-server-python==0.49.0"
    ],
    "usb": [
      {
        "vid": "0658",
        "pid": "0200",
        "known_devices": [
          "Aeotec Z-Stick Gen5+",
          "Z-WaveMe UZB"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*z-wave*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      }
    ],
    "zeroconf": [
      "_zwave-js-server._tcp.local."
    ],
    "is_built_in": true
  },
  "data": {
    "versionInfo": {
      "driverVersion": "10.23.2",
      "serverVersion": "1.28.0",
      "minSchemaVersion": 0,
      "maxSchemaVersion": 28
    },
    "entities": [],
    "state": {
      "nodeId": 1,
      "index": 0,
      "status": 4,
      "ready": true,
      "isListening": true,
      "isRouting": true,
      "isSecure": "unknown",
      "manufacturerId": 634,
      "productId": 1552,
      "productType": 4,
      "firmwareVersion": "1.1",
      "deviceConfig": {
        "filename": "/data/db/devices/0x027a/zst39lr.json",
        "isEmbedded": true,
        "manufacturer": "Zooz",
        "manufacturerId": 634,
        "label": "ZST39 LR",
        "description": "800 Series Long Range USB Controller",
        "devices": [
          {
            "productType": 4,
            "productId": 1552
          }
        ],
        "firmwareVersion": {
          "min": "0.0",
          "max": "255.255"
        },
        "preferred": false
      },
      "label": "ZST39 LR",
      "interviewAttempts": 0,
      "endpoints": [
        {
          "nodeId": 1,
          "index": 0,
          "deviceClass": {
            "basic": {
              "key": 2,
              "label": "Static Controller"
            },
            "generic": {
              "key": 2,
              "label": "Static Controller"
            },
            "specific": {
              "key": 1,
              "label": "PC Controller"
            },
            "mandatorySupportedCCs": [],
            "mandatoryControlledCCs": [
              32
            ]
          },
          "commandClasses": []
        }
      ],
      "values": [],
      "isFrequentListening": false,
      "maxDataRate": 100000,
      "supportedDataRates": [
        40000,
        100000
      ],
      "protocolVersion": 3,
      "supportsBeaming": true,
      "supportsSecurity": false,
      "deviceClass": {
        "basic": {
          "key": 2,
          "label": "Static Controller"
        },
        "generic": {
          "key": 2,
          "label": "Static Controller"
        },
        "specific": {
          "key": 1,
          "label": "PC Controller"
        },
        "mandatorySupportedCCs": [],
        "mandatoryControlledCCs": [
          32
        ]
      },
      "interviewStage": "Complete",
      "deviceDatabaseUrl": "https://devices.zwave-js.io/?jumpTo=0x027a:0x0004:0x0610:1.1",
      "statistics": {
        "commandsTX": 0,
        "commandsRX": 0,
        "commandsDroppedRX": 0,
        "commandsDroppedTX": 0,
        "timeoutResponse": 0
      },
      "isControllerNode": true,
      "keepAwake": false
    }
  }
}

I just downloaded firmware 1.20 from the Zooz site and ran the update and it accurately shows it as 1.20

1 Like

@reotto,
Did you have any issues updating the firmware to 1.20? I just got 45 devices moved off a Vera Secure onto a Zooz 800LR and Im a bit nervous about failed FW upgrades. Vera had more than its share of bad updates, and I’d really like to feel safe before proceeding. Yes, I back up every day, but restoring from a backup is also a procedure I have yet to put to the test. Any positive comments or suggestions would be appreciated.

I’ve never had an issue updating, BUT when it finishes updates it says something the firmware update failed.

If you back into the controller under the Z wave integration it shows the updated version.

1 Like

1.2 is the last firmware?

anyone here with this info?

That message will appear for anyone that has a controller using SDK v7.19.3 or later, due to the described issue.

I also have Firmware 1.20… and that message. I’ve not experienced any issues, though.

Great! thanks… recently upgrade to the 800…