Skip to content

Shelly Wave Plug S (qnpl-0A112EU): Error_InvalidFirmwareTarget after successful fragment transfer (10.4.0 → 12.2) #334

Description

@kayloehmann

Device

Field Value
Brand Shelly
Model Wave Plug S (EU)
Catalog file firmwares/shelly/qnpl-0A112EU.json
manufacturerId 0x0460
productType 0x0002
productId 0x0087
Current firmware 10.4.0
Target firmware 12.2

Symptom

Firmware update is offered by the OTA registry and starts successfully. All fragments are transmitted (100% progress), but the device then rejects the update:

[Node 009] Sending firmware fragment 9856 / 9856
[Node 009] Firmware update (part 1 / 1) failed with status Error_InvalidFirmwareTarget

HA entity update.steckerleiste_firmware reports in_progress: false, installed version remains 10.4.0.

Context

  • Z-Wave JS Add-on: 1.4.0 (Home Assistant Core 2026.6.2)
  • The update attempt was triggered via Home Assistant's update entity
  • The catalog entry for qnpl-0A112EU.json does not specify an explicit target field in the upgrade files (defaults to target 0 per _example.json)

Possibly related

This failure pattern is identical to #107 (Aeotec ZW187), where all fragments transfer successfully but the device returns Error_InvalidFirmwareTarget. The root cause in that issue remains unresolved.

I'm not sure whether the issue lies in the catalog entry (e.g. incorrect/missing target field) or in the firmware binary itself. Happy to provide additional Z-Wave JS debug logs if that helps diagnose — what information would be most useful?

Additional notes

This issue was discovered after fixing a separate KeyError: 'continuesToFunction' crash in zwave-js-server-python that was preventing the update attempt from even starting (fixed in zwave-js-server-python#1435, available in 0.72.0). With that bug fixed, the Error_InvalidFirmwareTarget now surfaces as the actual failure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions