LZW31-SN Firmware Stuck at 1.35 on Home Assistant

Are OTA updates supposed to work on Home Assistant? It looks like it has the ability, but it always shows no firmware updated available, even though my LZW31-SN switches are at firmware version 1.35, which looks to be super old.

Is it possible to get Home Assistant to update the firmware on these?

Screenshot from 2022-12-02 16-25-33

zwave-js-ui does OTA updates, it’s worked there for about 2 years now maybe.

I’ve never tried from HA, but there were posts about it failing to work correctly after it was added. I’m not sure if the issues have been worked out or not. I did get an update notification for an older firmware but never did it. I updated it manually instead because I know that way works.

I tried switching from Zwave JS to Zwave JS UI. It had a prettier UI, but it gave me the same message about no firmware updates being available. I left it running for a day to see if it might take some time to catch up, but it never did, despite the devices showing up as fully loaded/interviewed.

By the manual update process, you mean using an out of band zwave stick, not via the Home Assistant hub?

1 Like

Ah, nevermind. I found the manual update button and was able to update to 1.57 manually. Thanks!

The auto update feature was temporarily removed for the dimmers because they have a unique quality that broke some assumptions in the updater. Once the code is updated to accommodate, it will return.

1 Like

I thought it was still broken but don’t follow it that closely.

1 Like

You found it, I’ve updated all the 30 or so devices that way and it’s been good, well I have one black switch that will not update.

Should I be updating target 1 too? I don’t see the target 1 firmware version listed anywhere?

Hi, thank you for the link, but that page doesn’t say what the difference is between target 0 and target 1, whether I should be updating just one or both, and which order to do them in (if it matters). And the question I was asking was about whether there’s any way to see the firmware version in Home Assistant. I can’t find it anywhere in device info.

Attaching the raw device JSON file:

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.11.5",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "aarch64",
    "timezone": "America/New_York",
    "os_name": "Linux",
    "os_version": "5.15.61-v8",
    "supervisor": "2022.11.2",
    "host_os": "Home Assistant OS 9.3",
    "docker_version": "20.10.18",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {},
  "integration_manifest": {
    "domain": "zwave_js",
    "name": "Z-Wave",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/zwave_js",
    "requirements": [
      "pyserial==3.5",
      "zwave-js-server-python==0.43.0"
    ],
    "codeowners": [
      "@home-assistant/z-wave"
    ],
    "dependencies": [
      "usb",
      "http",
      "websocket_api"
    ],
    "iot_class": "local_push",
    "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."
    ],
    "loggers": [
      "zwave_js_server"
    ],
    "integration_type": "hub",
    "is_built_in": true
  },
  "data": {
    "versionInfo": {
      "driverVersion": "10.3.0",
      "serverVersion": "1.24.0",
      "minSchemaVersion": 0,
      "maxSchemaVersion": 24
    },
    "entities": [
      {
        "domain": "select",
        "entity_id": "select.red_series_dimmer_local_protection_state",
        "original_name": "Local protection state",
        "original_device_class": null,
        "disabled": false,
        "disabled_by": null,
        "hidden_by": null,
        "original_icon": null,
        "entity_category": "config",
        "supported_features": 0,
        "unit_of_measurement": null,
        "value_id": "2-117-0-local",
        "primary_value": {
          "command_class": 117,
          "command_class_name": "Protection",
          "endpoint": 0,
          "property": "local",
          "property_name": "local",
          "property_key": null,
          "property_key_name": null
        }
      },
      {
        "domain": "select",
        "entity_id": "select.red_series_dimmer_rf_protection_state",
        "original_name": "RF protection state",
        "original_device_class": null,
        "disabled": false,
        "disabled_by": null,
        "hidden_by": null,
        "original_icon": null,
        "entity_category": "config",
        "supported_features": 0,
        "unit_of_measurement": null,
        "value_id": "2-117-0-rf",
        "primary_value": {
          "command_class": 117,
          "command_class_name": "Protection",
          "endpoint": 0,
          "property": "rf",
          "property_name": "rf",
          "property_key": null,
          "property_key_name": null
        }
      },
      {
        "domain": "sensor",
        "entity_id": "sensor.family_room_lights_electric_consumption_w",
        "original_name": "Electric Consumption [W]",
        "original_device_class": "power",
        "disabled": false,
        "disabled_by": null,
        "hidden_by": null,
        "original_icon": null,
        "entity_category": null,
        "supported_features": 0,
        "unit_of_measurement": "W",
        "value_id": "2-50-0-value-66049",
        "primary_value": {
          "command_class": 50,
          "command_class_name": "Meter",
          "endpoint": 0,
          "property": "value",
          "property_name": "value",
          "property_key": 66049,
          "property_key_name": "Electric_W_Consumed"
        }
      },
      {
        "domain": "sensor",
        "entity_id": "sensor.family_room_lights_electric_consumption_kwh",
        "original_name": "Electric Consumption [kWh]",
        "original_device_class": "energy",
        "disabled": false,
        "disabled_by": null,
        "hidden_by": null,
        "original_icon": null,
        "entity_category": null,
        "supported_features": 0,
        "unit_of_measurement": "kWh",
        "value_id": "2-50-0-value-65537",
        "primary_value": {
          "command_class": 50,
          "command_class_name": "Meter",
          "endpoint": 0,
          "property": "value",
          "property_name": "value",
          "property_key": 65537,
          "property_key_name": "Electric_kWh_Consumed"
        }
      },
      {
        "domain": "light",
        "entity_id": "light.family_room_lights",
        "original_name": "",
        "original_device_class": null,
        "disabled": false,
        "disabled_by": null,
        "hidden_by": null,
        "original_icon": null,
        "entity_category": null,
        "supported_features": 32,
        "unit_of_measurement": null,
        "value_id": "2-38-0-currentValue",
        "primary_value": {
          "command_class": 38,
          "command_class_name": "Multilevel Switch",
          "endpoint": 0,
          "property": "currentValue",
          "property_name": "currentValue",
          "property_key": null,
          "property_key_name": null
        }
      }
    ],
    "state": {
      "nodeId": 2,
      "index": 0,
      "installerIcon": 1536,
      "userIcon": 1536,
      "status": 4,
      "ready": true,
      "isListening": true,
      "isRouting": true,
      "isSecure": false,
      "manufacturerId": 798,
      "productId": 1,
      "productType": 1,
      "firmwareVersion": "1.57",
      "zwavePlusVersion": 1,
      "deviceConfig": {
        "filename": "/data/db/devices/0x031e/lzw31-sn.json",
        "isEmbedded": true,
        "manufacturer": "Inovelli",
        "manufacturerId": 798,
        "label": "LZW31-SN",
        "description": "Red Series Dimmer",
        "devices": [
          {
            "productType": 1,
            "productId": 1
          }
        ],
        "firmwareVersion": {
          "min": "0.0",
          "max": "255.255"
        },
        "paramInformation": {
          "_map": {}
        },
        "metadata": {
          "inclusion": "Start the inclusion process again on your HUB and tap the Configuration Button three (3) times.\n\nPlease Note: If this doesn't work, you can check to see if your switch is within Z-Wave Range by holding down the Configuration Button for 5-10 seconds (if it's not within range, the LED Bar will indicate Red and if it is within Range, the LED Bar will indicate Green). If your switch indicates Red, please move the switch closer to the HUB. If your switch indicates Green, please try running an Exclusion to reset your switch",
          "exclusion": "To Exclude your dimmer, put your HUB in exclusion mode and press the Configuration Button three (3) times",
          "reset": "You may factory reset the switch by holding down the Config Button for twenty (20) or more seconds. The LED Bar will turn Red and blink three (3) times to confirm. \n\nHowever, we recommend using a certified Z-Wave controller to remove the device from your network for factory resetting the switch. \n\nOnly use either of these procedures in the event that the network primary controller is missing or otherwise inoperable",
          "manual": "https://products.z-wavealliance.org/ProductManual/File?folder=&filename=product_documents/4206/LZW31-SN%20Manual%20-%20Inovelli%20Dimmer%20Switch%20(Red%20Series)%20-%2006.28.21.pdf"
        }
      },
      "label": "LZW31-SN",
      "interviewAttempts": 1,
      "endpoints": [
        {
          "nodeId": 2,
          "index": 0,
          "installerIcon": 1536,
          "userIcon": 1536,
          "deviceClass": {
            "basic": {
              "key": 4,
              "label": "Routing Slave"
            },
            "generic": {
              "key": 17,
              "label": "Multilevel Switch"
            },
            "specific": {
              "key": 1,
              "label": "Multilevel Power Switch"
            },
            "mandatorySupportedCCs": [
              32,
              38,
              39
            ],
            "mandatoryControlledCCs": []
          },
          "commandClasses": [
            {
              "id": 38,
              "name": "Multilevel Switch",
              "version": 2,
              "isSecure": false
            },
            {
              "id": 94,
              "name": "Z-Wave Plus Info",
              "version": 2,
              "isSecure": false
            },
            {
              "id": 112,
              "name": "Configuration",
              "version": 1,
              "isSecure": false
            },
            {
              "id": 133,
              "name": "Association",
              "version": 2,
              "isSecure": false
            },
            {
              "id": 89,
              "name": "Association Group Information",
              "version": 1,
              "isSecure": false
            },
            {
              "id": 85,
              "name": "Transport Service",
              "version": 2,
              "isSecure": false
            },
            {
              "id": 134,
              "name": "Version",
              "version": 2,
              "isSecure": false
            },
            {
              "id": 114,
              "name": "Manufacturer Specific",
              "version": 2,
              "isSecure": false
            },
            {
              "id": 90,
              "name": "Device Reset Locally",
              "version": 1,
              "isSecure": false
            },
            {
              "id": 115,
              "name": "Powerlevel",
              "version": 1,
              "isSecure": false
            },
            {
              "id": 152,
              "name": "Security",
              "version": 1,
              "isSecure": true
            },
            {
              "id": 50,
              "name": "Meter",
              "version": 3,
              "isSecure": false
            },
            {
              "id": 159,
              "name": "Security 2",
              "version": 1,
              "isSecure": true
            },
            {
              "id": 91,
              "name": "Central Scene",
              "version": 3,
              "isSecure": false
            },
            {
              "id": 108,
              "name": "Supervision",
              "version": 1,
              "isSecure": false
            },
            {
              "id": 117,
              "name": "Protection",
              "version": 2,
              "isSecure": false
            },
            {
              "id": 122,
              "name": "Firmware Update Meta Data",
              "version": 4,
              "isSecure": false
            }
          ]
        }
      ],
      "values": [
        {
          "endpoint": 0,
          "commandClass": 38,
          "commandClassName": "Multilevel Switch",
          "property": "currentValue",
          "propertyName": "currentValue",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Current value",
            "min": 0,
            "max": 99
          },
          "value": 99
        },
        {
          "endpoint": 0,
          "commandClass": 38,
          "commandClassName": "Multilevel Switch",
          "property": "Up",
          "propertyName": "Up",
          "ccVersion": 2,
          "metadata": {
            "type": "boolean",
            "readable": false,
            "writeable": true,
            "label": "Perform a level change (Up)",
            "ccSpecific": {
              "switchType": 2
            },
            "valueChangeOptions": [
              "transitionDuration"
            ]
          }
        },
        {
          "endpoint": 0,
          "commandClass": 38,
          "commandClassName": "Multilevel Switch",
          "property": "Down",
          "propertyName": "Down",
          "ccVersion": 2,
          "metadata": {
            "type": "boolean",
            "readable": false,
            "writeable": true,
            "label": "Perform a level change (Down)",
            "ccSpecific": {
              "switchType": 2
            },
            "valueChangeOptions": [
              "transitionDuration"
            ]
          }
        },
        {
          "endpoint": 0,
          "commandClass": 38,
          "commandClassName": "Multilevel Switch",
          "property": "targetValue",
          "propertyName": "targetValue",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Target value",
            "valueChangeOptions": [
              "transitionDuration"
            ],
            "min": 0,
            "max": 99
          }
        },
        {
          "endpoint": 0,
          "commandClass": 38,
          "commandClassName": "Multilevel Switch",
          "property": "duration",
          "propertyName": "duration",
          "ccVersion": 2,
          "metadata": {
            "type": "duration",
            "readable": true,
            "writeable": false,
            "label": "Remaining duration"
          }
        },
        {
          "endpoint": 0,
          "commandClass": 38,
          "commandClassName": "Multilevel Switch",
          "property": "restorePrevious",
          "propertyName": "restorePrevious",
          "ccVersion": 2,
          "metadata": {
            "type": "boolean",
            "readable": false,
            "writeable": true,
            "label": "Restore previous value"
          }
        },
        {
          "endpoint": 0,
          "commandClass": 50,
          "commandClassName": "Meter",
          "property": "value",
          "propertyKey": 65537,
          "propertyName": "value",
          "propertyKeyName": "Electric_kWh_Consumed",
          "ccVersion": 3,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Electric Consumption [kWh]",
            "ccSpecific": {
              "meterType": 1,
              "rateType": 1,
              "scale": 0
            },
            "unit": "kWh"
          },
          "value": 250.317
        },
        {
          "endpoint": 0,
          "commandClass": 50,
          "commandClassName": "Meter",
          "property": "value",
          "propertyKey": 66049,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed",
          "ccVersion": 3,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Electric Consumption [W]",
            "ccSpecific": {
              "meterType": 1,
              "rateType": 1,
              "scale": 2
            },
            "unit": "W"
          },
          "value": 68.7
        },
        {
          "endpoint": 0,
          "commandClass": 50,
          "commandClassName": "Meter",
          "property": "reset",
          "propertyName": "reset",
          "ccVersion": 3,
          "metadata": {
            "type": "boolean",
            "readable": false,
            "writeable": true,
            "label": "Reset accumulated values"
          }
        },
        {
          "endpoint": 0,
          "commandClass": 91,
          "commandClassName": "Central Scene",
          "property": "scene",
          "propertyKey": "001",
          "propertyName": "scene",
          "propertyKeyName": "001",
          "ccVersion": 3,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Scene 001",
            "min": 0,
            "max": 255,
            "states": {
              "0": "KeyPressed",
              "1": "KeyReleased",
              "2": "KeyHeldDown",
              "3": "KeyPressed2x",
              "4": "KeyPressed3x",
              "5": "KeyPressed4x",
              "6": "KeyPressed5x"
            }
          }
        },
        {
          "endpoint": 0,
          "commandClass": 91,
          "commandClassName": "Central Scene",
          "property": "scene",
          "propertyKey": "002",
          "propertyName": "scene",
          "propertyKeyName": "002",
          "ccVersion": 3,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Scene 002",
            "min": 0,
            "max": 255,
            "states": {
              "0": "KeyPressed",
              "1": "KeyReleased",
              "2": "KeyHeldDown",
              "3": "KeyPressed2x",
              "4": "KeyPressed3x",
              "5": "KeyPressed4x",
              "6": "KeyPressed5x"
            }
          }
        },
        {
          "endpoint": 0,
          "commandClass": 91,
          "commandClassName": "Central Scene",
          "property": "scene",
          "propertyKey": "003",
          "propertyName": "scene",
          "propertyKeyName": "003",
          "ccVersion": 3,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Scene 003",
            "min": 0,
            "max": 255,
            "states": {
              "0": "KeyPressed"
            }
          }
        },
        {
          "endpoint": 0,
          "commandClass": 91,
          "commandClassName": "Central Scene",
          "property": "slowRefresh",
          "propertyName": "slowRefresh",
          "ccVersion": 3,
          "metadata": {
            "type": "boolean",
            "readable": true,
            "writeable": true,
            "description": "When this is true, KeyHeldDown notifications are sent every 55s. When this is false, the notifications are sent every 200ms.",
            "label": "Send held down notifications at a slow rate"
          }
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 1,
          "propertyName": "Dimming Speed (Z-Wave)",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Dimming Speed (Z-Wave)",
            "default": 3,
            "min": 0,
            "max": 100,
            "states": {
              "0": "Immediate"
            },
            "unit": "seconds",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 3
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 2,
          "propertyName": "Dimming Speed (Manual)",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Dimming Speed (Manual)",
            "default": 101,
            "min": 0,
            "max": 101,
            "states": {
              "0": "Immediate",
              "101": "Synced with Parameter 1"
            },
            "unit": "seconds",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 101
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 3,
          "propertyName": "Ramp Rate (Z-Wave)",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Ramp Rate (Z-Wave)",
            "default": 101,
            "min": 0,
            "max": 101,
            "states": {
              "0": "Immediate",
              "101": "Synced with Parameter 1"
            },
            "unit": "seconds",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 4,
          "propertyName": "Ramp Rate (Manual)",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Ramp Rate (Manual)",
            "default": 101,
            "min": 0,
            "max": 101,
            "states": {
              "0": "Immediate",
              "101": "Synced with Parameter 1"
            },
            "unit": "seconds",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 5,
          "propertyName": "Minimum Dim Level",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Minimum Dim Level",
            "default": 1,
            "min": 1,
            "max": 45,
            "unit": "%",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 12
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 6,
          "propertyName": "Maximum Dim Level",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Maximum Dim Level",
            "default": 99,
            "min": 55,
            "max": 99,
            "unit": "%",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 99
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 7,
          "propertyName": "Invert Switch",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Invert Switch",
            "default": 0,
            "min": 0,
            "max": 1,
            "states": {
              "0": "Disable",
              "1": "Enable"
            },
            "valueSize": 1,
            "format": 1,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 8,
          "propertyName": "Auto-off Timer",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Auto-off Timer",
            "default": 0,
            "min": 0,
            "max": 32767,
            "states": {
              "0": "Disable"
            },
            "unit": "seconds",
            "valueSize": 2,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 9,
          "propertyName": "Default Level (Manual)",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Default Level (Manual)",
            "default": 0,
            "min": 0,
            "max": 99,
            "states": {
              "0": "Previous State"
            },
            "valueSize": 1,
            "format": 1,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 99
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 10,
          "propertyName": "Default Level (Z-Wave)",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Default Level (Z-Wave)",
            "default": 0,
            "min": 0,
            "max": 99,
            "states": {
              "0": "Previous State"
            },
            "valueSize": 1,
            "format": 1,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 99
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 11,
          "propertyName": "Brightness After Power Failure",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Brightness After Power Failure",
            "default": 100,
            "min": 0,
            "max": 100,
            "states": {
              "0": "Off",
              "100": "Previous state"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 12,
          "propertyKey": 1,
          "propertyName": "Association Behavior: Local",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Association Behavior: Local",
            "default": 1,
            "min": 0,
            "max": 1,
            "states": {
              "0": "Disabled",
              "1": "Enabled"
            },
            "valueSize": 1,
            "format": 1,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 12,
          "propertyKey": 2,
          "propertyName": "Association Behavior: 3-Way",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Association Behavior: 3-Way",
            "default": 1,
            "min": 0,
            "max": 1,
            "states": {
              "0": "Disabled",
              "1": "Enabled"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 12,
          "propertyKey": 4,
          "propertyName": "Association Behavior: Z-Wave Hub",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Association Behavior: Z-Wave Hub",
            "default": 1,
            "min": 0,
            "max": 1,
            "states": {
              "0": "Disabled",
              "1": "Enabled"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 12,
          "propertyKey": 8,
          "propertyName": "Association Behavior: Timer",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Association Behavior: Timer",
            "default": 1,
            "min": 0,
            "max": 1,
            "states": {
              "0": "Disabled",
              "1": "Enabled"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 13,
          "propertyName": "LED Indicator: Color",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "description": "Uses a scaled hue value (realHue / 360 * 255).",
            "label": "LED Indicator: Color",
            "default": 170,
            "min": 0,
            "max": 255,
            "states": {
              "0": "Red",
              "21": "Orange",
              "42": "Yellow",
              "85": "Green",
              "127": "Cyan",
              "170": "Blue",
              "212": "Violet",
              "234": "Pink",
              "255": "White"
            },
            "valueSize": 2,
            "format": 1,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 50
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 14,
          "propertyName": "LED Indicator: Brightness When On",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "LED Indicator: Brightness When On",
            "default": 5,
            "min": 0,
            "max": 10,
            "states": {
              "0": "Off",
              "1": "10%",
              "2": "20%",
              "3": "30%",
              "4": "40%",
              "5": "50%",
              "6": "60%",
              "7": "70%",
              "8": "80%",
              "9": "90%",
              "10": "100%"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 10
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 15,
          "propertyName": "LED Indicator: Brightness When Off",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "LED Indicator: Brightness When Off",
            "default": 1,
            "min": 0,
            "max": 10,
            "states": {
              "0": "Off",
              "1": "10%",
              "2": "20%",
              "3": "30%",
              "4": "40%",
              "5": "50%",
              "6": "60%",
              "7": "70%",
              "8": "80%",
              "9": "90%",
              "10": "100%"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 16,
          "propertyKey": 255,
          "propertyName": "LED Indicator: Effect Color",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "description": "Uses a scaled hue value (realHue / 360 * 255).",
            "label": "LED Indicator: Effect Color",
            "default": 0,
            "min": 0,
            "max": 255,
            "states": {
              "0": "Red",
              "21": "Orange",
              "42": "Yellow",
              "85": "Green",
              "127": "Cyan",
              "170": "Blue",
              "212": "Violet",
              "234": "Pink",
              "255": "White"
            },
            "valueSize": 4,
            "format": 1,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 16,
          "propertyKey": 65280,
          "propertyName": "LED Indicator: Effect Brightness",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "LED Indicator: Effect Brightness",
            "default": 0,
            "min": 0,
            "max": 10,
            "states": {
              "0": "Off",
              "1": "10%",
              "2": "20%",
              "3": "30%",
              "4": "40%",
              "5": "50%",
              "6": "60%",
              "7": "70%",
              "8": "80%",
              "9": "90%",
              "10": "100%"
            },
            "valueSize": 4,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 16,
          "propertyKey": 16711680,
          "propertyName": "LED Indicator: Effect Duration",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "description": "0 = disabled, 1 to 60 = seconds, 61 to 120 = minutes (minus 60), 121 - 254 = hours (minus 120), 255 = indefinitely.",
            "label": "LED Indicator: Effect Duration",
            "default": 0,
            "min": 0,
            "max": 255,
            "valueSize": 4,
            "format": 1,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 16,
          "propertyKey": 2130706432,
          "propertyName": "LED Indicator: Effect Type",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "LED Indicator: Effect Type",
            "default": 0,
            "min": 0,
            "max": 5,
            "states": {
              "0": "Off",
              "1": "Solid",
              "2": "Chase",
              "3": "Fast Blink",
              "4": "Slow Blink",
              "5": "Pulse"
            },
            "valueSize": 4,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 17,
          "propertyName": "LED Indicator: Timeout",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "LED Indicator: Timeout",
            "default": 3,
            "min": 0,
            "max": 10,
            "unit": "seconds",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 3
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 18,
          "propertyName": "Power Report Threshold",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Power Report Threshold",
            "default": 10,
            "min": 0,
            "max": 100,
            "unit": "%",
            "valueSize": 1,
            "format": 1,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 10
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 19,
          "propertyName": "Power & Energy Report Interval",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Power & Energy Report Interval",
            "default": 3600,
            "min": 0,
            "max": 32767,
            "unit": "seconds",
            "valueSize": 2,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 3600
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 20,
          "propertyName": "Energy Report Threshold",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Energy Report Threshold",
            "default": 10,
            "min": 0,
            "max": 127,
            "unit": "0.01 kWh",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 10
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 21,
          "propertyName": "AC Power Type",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "AC Power Type",
            "default": 1,
            "min": 0,
            "max": 1,
            "states": {
              "0": "No Neutral",
              "1": "Neutral"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 22,
          "propertyName": "Switch Type",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Switch Type",
            "default": 0,
            "min": 0,
            "max": 2,
            "states": {
              "0": "Single-Pole (One Switch)",
              "1": "Multi-Switch (Dumb Switch)",
              "2": "Multi-Switch (Auxiliary Switch)"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 50,
          "propertyName": "Button Delay Period",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Button Delay Period",
            "default": 7,
            "min": 1,
            "max": 9,
            "unit": "0.1 seconds",
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": true,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 51,
          "propertyName": "Button Delay",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "description": "Note: Disabling the delay also disables scene control for Buttons 2-6.",
            "label": "Button Delay",
            "default": 0,
            "min": 0,
            "max": 1,
            "states": {
              "0": "Disable",
              "1": "Enable"
            },
            "valueSize": 1,
            "format": 1,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 112,
          "commandClassName": "Configuration",
          "property": 52,
          "propertyName": "Operation Mode",
          "ccVersion": 1,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Operation Mode",
            "default": 0,
            "min": 0,
            "max": 2,
            "states": {
              "0": "Normal",
              "1": "On/Off Only",
              "2": "Smart Bulb"
            },
            "valueSize": 1,
            "format": 0,
            "allowManualEntry": false,
            "isFromConfig": true
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 114,
          "commandClassName": "Manufacturer Specific",
          "property": "manufacturerId",
          "propertyName": "manufacturerId",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Manufacturer ID",
            "min": 0,
            "max": 65535
          },
          "value": 798
        },
        {
          "endpoint": 0,
          "commandClass": 114,
          "commandClassName": "Manufacturer Specific",
          "property": "productType",
          "propertyName": "productType",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Product type",
            "min": 0,
            "max": 65535
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 114,
          "commandClassName": "Manufacturer Specific",
          "property": "productId",
          "propertyName": "productId",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Product ID",
            "min": 0,
            "max": 65535
          },
          "value": 1
        },
        {
          "endpoint": 0,
          "commandClass": 117,
          "commandClassName": "Protection",
          "property": "local",
          "propertyName": "local",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Local protection state",
            "states": {
              "0": "Unprotected",
              "1": "ProtectedBySequence",
              "2": "NoOperationPossible"
            }
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 117,
          "commandClassName": "Protection",
          "property": "rf",
          "propertyName": "rf",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "RF protection state",
            "states": {
              "0": "Unprotected",
              "1": "NoControl",
              "2": "NoResponse"
            }
          },
          "value": 0
        },
        {
          "endpoint": 0,
          "commandClass": 117,
          "commandClassName": "Protection",
          "property": "exclusiveControlNodeId",
          "propertyName": "exclusiveControlNodeId",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "Node ID with exclusive control",
            "min": 1,
            "max": 232
          }
        },
        {
          "endpoint": 0,
          "commandClass": 117,
          "commandClassName": "Protection",
          "property": "timeout",
          "propertyName": "timeout",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": true,
            "label": "RF protection timeout",
            "min": 0,
            "max": 255
          }
        },
        {
          "endpoint": 0,
          "commandClass": 134,
          "commandClassName": "Version",
          "property": "libraryType",
          "propertyName": "libraryType",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Library type",
            "states": {
              "0": "Unknown",
              "1": "Static Controller",
              "2": "Controller",
              "3": "Enhanced Slave",
              "4": "Slave",
              "5": "Installer",
              "6": "Routing Slave",
              "7": "Bridge Controller",
              "8": "Device under Test",
              "9": "N/A",
              "10": "AV Remote",
              "11": "AV Device"
            }
          },
          "value": 3
        },
        {
          "endpoint": 0,
          "commandClass": 134,
          "commandClassName": "Version",
          "property": "protocolVersion",
          "propertyName": "protocolVersion",
          "ccVersion": 2,
          "metadata": {
            "type": "string",
            "readable": true,
            "writeable": false,
            "label": "Z-Wave protocol version"
          },
          "value": "6.4"
        },
        {
          "endpoint": 0,
          "commandClass": 134,
          "commandClassName": "Version",
          "property": "firmwareVersions",
          "propertyName": "firmwareVersions",
          "ccVersion": 2,
          "metadata": {
            "type": "string[]",
            "readable": true,
            "writeable": false,
            "label": "Z-Wave chip firmware versions"
          },
          "value": [
            "1.57",
            "1.45"
          ]
        },
        {
          "endpoint": 0,
          "commandClass": 134,
          "commandClassName": "Version",
          "property": "hardwareVersion",
          "propertyName": "hardwareVersion",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Z-Wave chip hardware version"
          },
          "value": 1
        }
      ],
      "isFrequentListening": false,
      "maxDataRate": 100000,
      "supportedDataRates": [
        40000,
        100000
      ],
      "protocolVersion": 3,
      "supportsBeaming": true,
      "supportsSecurity": false,
      "nodeType": 1,
      "zwavePlusNodeType": 0,
      "zwavePlusRoleType": 5,
      "deviceClass": {
        "basic": {
          "key": 4,
          "label": "Routing Slave"
        },
        "generic": {
          "key": 17,
          "label": "Multilevel Switch"
        },
        "specific": {
          "key": 1,
          "label": "Multilevel Power Switch"
        },
        "mandatorySupportedCCs": [
          32,
          38,
          39
        ],
        "mandatoryControlledCCs": []
      },
      "interviewStage": "Complete",
      "deviceDatabaseUrl": "https://devices.zwave-js.io/?jumpTo=0x031e:0x0001:0x0001:1.57",
      "statistics": {
        "commandsTX": 5144,
        "commandsRX": 5262,
        "commandsDroppedRX": 0,
        "commandsDroppedTX": 0,
        "timeoutResponse": 0,
        "rtt": 165.4,
        "rssi": -60,
        "lwr": {
          "protocolDataRate": 3,
          "repeaters": [
            4
          ],
          "rssi": -57,
          "repeaterRSSI": [
            127
          ]
        },
        "nlwr": {
          "protocolDataRate": 3,
          "repeaters": [],
          "rssi": -75,
          "repeaterRSSI": []
        }
      },
      "highestSecurityClass": -1,
      "isControllerNode": false,
      "keepAwake": false
    }
  }
}

This looks interesting maybe?

        {
          "endpoint": 0,
          "commandClass": 134,
          "commandClassName": "Version",
          "property": "firmwareVersions",
          "propertyName": "firmwareVersions",
          "ccVersion": 2,
          "metadata": {
            "type": "string[]",
            "readable": true,
            "writeable": false,
            "label": "Z-Wave chip firmware versions"
          },
          "value": [
            "1.57",
            "1.45"
          ]
        },

But the latest target 1 Holtek MCU looks to be 1.44, so not sure how 1.45 could be correct.

If you’re going to 1.61 on the LZW31-SN, then you want 1.45.

https://files.inovelli.com/firmware/LZW31-SN/Beta/1.61/

Now I’m even more confused! :slight_smile:

This page:

says:

Latest Production Version = 1.57.otz and 1.44.bin
Latest Beta Version = 1.56.otz and 1.44.bin

I upgraded my switch to the latest 1.57 firmware, using target 0. 1.61/1.45 beta are not listed on that page, maybe it hasn’t been updated yet?

In any case, I only updated to production 1.57, not beta 1.61, and I haven’t updated target 1. How did I wind up on 1.45 (assuming that 1.45 value is correct)?

The LZW-31 and LZW31-SN are different products, and have different firmwares. From your title, I believe you’re working with a LZW31-SN dimmer (Red Series). I’m a little confused because @harjms posted the changelog for the LZW31 (Black Series).

So to simplify, if you want to find the current versions of a device’s firmware, go to Index of /firmware . While some of the older products list “beta” versions, they are pretty much the de-facto production versions even though the folders haven’t been renamed.

Regarding HA and how you “got there”, I can’t be of much help. Just wanted to let you know where to go to see what versions are available and determine the proper version(s) for what you’re seeking.

2 Likes

Ah, thank you. So this page is the correct page then:

And indeed 1.45 is the production version, so I guess I’m already updated for target 1. It probably just came that way

1 Like

Can confirm, was thinking Black series. My bad.

1 Like

One of my LZW31-SN switches was on an older firmware for both target 0 and target 1. I successfully updated target 0 to 1.57. But then I went to update target 1 to 1.45, which is currently on version 1.34:

        {
          "endpoint": 0,
          "commandClass": 134,
          "commandClassName": "Version",
          "property": "firmwareVersions",
          "propertyName": "firmwareVersions",
          "ccVersion": 2,
          "metadata": {
            "type": "string[]",
            "readable": true,
            "writeable": false,
            "label": "Z-Wave chip firmware versions"
          },
          "value": [
            "1.57",
            "1.34"
          ]
        },

but I’m getting an error “Unable to update firmware” due to “Insufficient Memory”:

Screenshot 2022-12-11 103102

I tried it twice and got the same error. Didn’t have much luck googling for the error. I can’t tell if this means the device itself doesn’t have enough memory or if my home assistant device doesn’t have enough memory? I also tried rebooting home assistant but I get the same error. Any idea what might be going on?

I tried a couple more things. I factory reset the switch and repaired it. I also tried updating to the beta 1.61 firmware for target 0, which updated successfully. But then trying to update target 1 to 1.45 still fails with insufficient memory. Any idea how I might kick it out of this so I can update target 1?

I am also having this issue after updating the firmware to 1.57. Target 0 updated successfully but I get Unable to update firmware on Inovelli LZW31-SN Dimmer Red Series Level: Insufficient Memory. when doing target 1.

EDIT: I now see in my diag file that both my red dimmers are already at 1.45 so I can only contribute that I am also receiving this error.

Same issue here on a LZW31-SN (Red). I was able to update target 0 to 1.61, but trying to update target 1 to 1.45 (current version is 1.34) I get the Insufficient Memory error.

The full log from Z-Wave JS UI:

…
2022-12-29T20:33:01.153Z CNTRLR » [Node 057] Sending firmware fragment 389 / 389
2022-12-29T20:33:07.542Z CNTRLR « [Node 057] Firmware update (part 1 / 1) failed with status Error_InsufficientM
emory
2022-12-29 15:33:07.547 INFO Z-WAVE: Node 57 firmware update finished with error.
Status: Error_InsufficientMemory.
Wait before interacting: No.

I don’t know what the two different chips handle, but as of now the physical buttons on the switch do allow turning the light on/off.


I have another of the same switch (LZW31-SN, firmware v1.35) that for some reason wouldn’t let me update the firmware at all. When I would initiate the update from Home Assistant, I would see (almost immediately) in the Z-Wave JS log:

2022-12-29T21:15:13.472Z CNTRLR [Node 062] Timed out while waiting for a response from the node (ZW0201)
2022-12-29 16:15:13.487 INFO Z-WAVE-SERVER: Client disconnected

This happened for both target 0 and target 1. I re-interviewed the node and it’s letting me update the firmware now. I started with the target 1 update (Holtek 1.45) this time to see if that helps, but I still get the same insufficient memory error.

One quick update to say that I was able to successfully update the LZW31-SN using Z-Wave JS UI instead of doing it directly in Home Assistant.

It’s possible something else caused it to work though and using Z-Wave JS UI directly was just a fluke.

Having said that, I’ll also note that updating directly from Z-Wave JS UI is much faster (probably because it avoids sending all the firmware data over MQTT).

Details:
After updating Target 0 to 1.61, the switch wasn’t working - it thought it was, but it wasn’t controlling the light. I tried a few other releases of the Target 1 firmware with no luck.

I then downgraded the Target 0 firmware to 1.35 (it’s original firmware).
Doing this seemed make the node go dead on the network, so I removed the switch and re-added it. Then I thought to myself, “that was fun, let’s try to break it again a different way”… That’s when I tried the update in Z-Wave JS UI.

Note that in Z-Wave JS UI, for some reason it gives two options for target: 0 and 4660. You can manually type in the field though and type “1”.

Update: Tried again in Z-Wave JS UI on a different switch which had been giving me trouble and it updated both.