Skip to content

Innr bulbs have OTA but z2m reports 'No image currently available' #982

@julianvallis

Description

@julianvallis

What happened?

I get an error message 'No image currently available' when trying to update some Innr GU10 spot, dimmable, RGBW (Model RS 232 C) bulbs.

What did you expect to happen?

I expected z2m to download the image and update the device.

How to reproduce it (minimal and precise)

  • With Innr RS 232 C devices on a Zigbee2MQTT-managed network
  • Go to OTA tab in Zigbee2MQTT and check for update
  • When the button becomes available to upgrade, click it
  • Moments later you get the error message Update of '<device_friendly_name>' failed (No image currently available)

Zigbee2MQTT version

2.7.1

Adapter firmware version

  • Adapter Radio version: 20240602
  • Adapter OS version: v3.1.3

Adapter

  • Adapter: SLZB-06Mg26
  • z2m is connected via TCP to adapter

Setup

  • Zigbee2MQTT running in an LXC container on a Proxmox host
  • MQTT-centric setup with Loxone and Z2M with some Node-RED to push/pull/translate MQTT messages
  • uname -a && cat /etc/issue.net:
Linux zigbee2mqtt 6.17.2-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.2-2 (2025-11-26T12:33Z) x86_64 GNU/Linux
Debian GNU/Linux 13

Zigbee network stats:

Total 62
By device type:
    Router 62
By power source:
    Mains (single phase): 62
By model
    ZBMINIR2: 2
    RGBWW: 3
    TRADFRI bulb E14 WS globe 470lm: 1
    TS0505B: 51
    C203: 1
    RS 232 C: 4
By vendor
    SONOFF: 2
    Paulmann Licht GmbH: 3
    IKEA of Sweden: 1
    _TZB210_lnnkh3f9
    Candeo: 1
    _TZB210_wy1pyu1q
    innr: 4

Device database.db entry

All 4 Innr bulbs:

{"id":82,"type":"Router","ieeeAddr":"0x18fc260000bc6c91","nwkAddr":12313,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"RS 232 C","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":269,"inClusterList":[0,3,4,5,6,8,768,4096,64599,64642],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"RS 232 C","manufacturerName":"innr","powerSource":1,"zclVersion":8,"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15"}},"lightingColorCtrl":{"attributes":{"colorCapabilities":31,"colorTempPhysicalMin":153,"colorTempPhysicalMax":555,"colorMode":2,"currentX":30087,"currentY":26909,"currentHue":24,"currentSaturation":145,"colorTemperature":370}},"genOnOff":{"attributes":{"onOff":0}},"genLevelCtrl":{"attributes":{"currentLevel":254}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15","zclVersion":8,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":332242049},"lastSeen":1766797914767}
{"id":83,"type":"Router","ieeeAddr":"0x18fc260000bc64f9","nwkAddr":54094,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"RS 232 C","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":269,"inClusterList":[0,3,4,5,6,8,768,4096,64599,64642],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"RS 232 C","manufacturerName":"innr","powerSource":1,"zclVersion":8,"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15"}},"lightingColorCtrl":{"attributes":{"colorCapabilities":31,"colorTempPhysicalMin":153,"colorTempPhysicalMax":555,"colorMode":2,"currentX":30087,"currentY":26909,"currentHue":24,"currentSaturation":145,"colorTemperature":370}},"genOnOff":{"attributes":{"onOff":0}},"genLevelCtrl":{"attributes":{"currentLevel":254}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15","zclVersion":8,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":332242049},"lastSeen":1766797843791}
{"id":84,"type":"Router","ieeeAddr":"0x18fc260000bc6431","nwkAddr":48708,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"RS 232 C","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":269,"inClusterList":[0,3,4,5,6,8,768,4096,64599,64642],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"RS 232 C","manufacturerName":"innr","powerSource":1,"zclVersion":8,"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15"}},"lightingColorCtrl":{"attributes":{"colorCapabilities":31,"colorTempPhysicalMin":153,"colorTempPhysicalMax":555,"colorMode":2,"currentX":30087,"currentY":26909,"currentHue":24,"currentSaturation":145,"colorTemperature":370}},"genOnOff":{"attributes":{"onOff":0}},"genLevelCtrl":{"attributes":{"currentLevel":254}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15","zclVersion":8,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":332242049},"lastSeen":1766797861697}
{"id":85,"type":"Router","ieeeAddr":"0x18fc260000bc68c9","nwkAddr":34903,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"RS 232 C","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":269,"inClusterList":[0,3,4,5,6,8,768,4096,64599,64642],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"RS 232 C","manufacturerName":"innr","powerSource":1,"zclVersion":8,"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15"}},"lightingColorCtrl":{"attributes":{"colorCapabilities":31,"colorTempPhysicalMin":153,"colorTempPhysicalMax":555,"colorMode":1,"currentX":34140,"currentY":25024,"currentHue":16,"currentSaturation":166,"colorTemperature":548}},"genOnOff":{"attributes":{"onOff":1}},"genLevelCtrl":{"attributes":{"currentLevel":254}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":34,"stackVersion":21,"hwVersion":1,"dateCode":"20230714","swBuildId":"2.02.15","zclVersion":8,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":332242049},"lastSeen":1766797850753}

Debug log

[27/12/2025, 01:21:00] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/health', payload '{"response_time":1766798460704,"os":{"load_average":[2.13,1.43,1.25],"memory_used_mb":180.81,"memory_percent":17.657},"process":{"uptime_sec":3003,"memory_used_mb":137.11,"memory_percent":13.3892},"mqtt":{"connected":true,"queued":0,"published":336,"received":492},"devices":{"0xa4c13800aa445e84":{"messages":25,"messages_per_sec":0.0083,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe435c3d":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe7a00ed":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79ee47":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe43312d":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42c914":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42dcbf":{"messages":7,"messages_per_sec":0.0023,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe43590b":{"messages":7,"messages_per_sec":0.0024,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe434ef3":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0xa4c13831aa904f96":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0xa4c138edab89e273":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe78bc17":{"messages":6,"messages_per_sec":0.002,"leave_count":0,"network_address_changes":0},"0xa4c13800aa455ea9":{"messages":24,"messages_per_sec":0.0081,"leave_count":0,"network_address_changes":0},"0xa4c13800aa455eb7":{"messages":25,"messages_per_sec":0.0086,"leave_count":0,"network_address_changes":0},"0x781c9dfffe535d49":{"messages":11,"messages_per_sec":0.0038,"leave_count":0,"network_address_changes":0},"0xfc4d6afffe4fc933":{"messages":5,"messages_per_sec":0.0018,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42c117":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42fd9c":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe433a41":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe434f04":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe78cb31":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79b263":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe78c667":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79b3b2":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe7a016f":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe433484":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0xa4c138bc999dfd6d":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x18fc260000bc6c91":{"messages":16,"messages_per_sec":0.0067,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe434b33":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe435a53":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42cd93":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x18fc260000bc68c9":{"messages":14,"messages_per_sec":0.0059,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42db55":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x18fc260000bc64f9":{"messages":15,"messages_per_sec":0.0064,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79bf8d":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe78aa8b":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79c5c5":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79562a":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0xfc4d6afffe639d5f":{"messages":5,"messages_per_sec":0.0021,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe4362f7":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe78ccc6":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe78b3c6":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79d0db":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42d349":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe43719e":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42f969":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42d857":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79efe5":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe42cc02":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79b136":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0xa4c1383c97eda1a4":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79bb31":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe434c72":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79eb6c":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79c55b":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79b245":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe430205":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe79aa5e":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe434871":{"messages":4,"messages_per_sec":0.0017,"leave_count":0,"network_address_changes":0},"0x7cc6b6fffe78afda":{"messages":4,"messages_per_sec":0.0018,"leave_count":0,"network_address_changes":0},"0x18fc260000bc6431":{"messages":14,"messages_per_sec":0.0061,"leave_count":0,"network_address_changes":0}}}'
[27/12/2025, 01:22:03] frontend:api:bridge: Sending {"topic":"bridge/request/device/ota_update/check","payload":{"id":"0x18fc260000bc68c9","transaction":"jaimw-16"}}
[27/12/2025, 01:22:03] z2m: Checking if update available for 'garden-right-up'
[27/12/2025, 01:22:03] z2m: No update available for 'garden-right-up'
[27/12/2025, 01:22:03] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/garden-right-up', payload '{"brightness":254,"color":{"h":18,"hue":18,"s":89,"saturation":89,"x":0.5209373528971827,"y":0.3818376921225853},"color_mode":"xy","color_temp":538,"effect":null,"linkquality":180,"power_on_behavior":null,"state":"OFF","update":{"installed_version":571806993,"latest_version":571806993,"state":"idle"}}'
[27/12/2025, 01:22:03] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/check', payload '{"data":{"id":"0x18fc260000bc68c9","update_available":false},"status":"ok","transaction":"jaimw-16"}'
[27/12/2025, 01:23:26] frontend:api:bridge: Sending {"topic":"bridge/request/device/ota_update/update","payload":{"id":"0x18fc260000bc68c9","transaction":"jaimw-17"}}
[27/12/2025, 01:23:26] z2m: Updating 'garden-right-up' to latest firmware
[27/12/2025, 01:23:27] zhc:ota: [0x18fc260000bc68c9 | RS 232 C] Getting latest image, meta: {"fileName":"1166-0130-22151511-upgradeMe  RS 232 C 20230714.ota","fileVersion":571806993,"fileSize":319518,"url":"https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Innr/1166-0130-22151511-upgradeMe%20%20RS%20232%20C%2020230714.ota","imageType":304,"manufacturerCode":4454,"sha512":"cfe7aab8c926345f38aa817a6ac652519cd891eeba8162e680b98dc91e6025ff150a04e618c8abc5528110965d1bf036f324619269d33bb97a535ce766b71a5f","otaHeaderString":"Light"}
[27/12/2025, 01:23:27] zhc:ota: [0x18fc260000bc68c9 | RS 232 C] No image currently available (No new image available)
[27/12/2025, 01:23:27] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/garden-right-up', payload '{"brightness":254,"color":{"h":18,"hue":18,"s":89,"saturation":89,"x":0.5209373528971827,"y":0.3818376921225853},"color_mode":"xy","color_temp":538,"effect":null,"linkquality":72,"power_on_behavior":null,"state":"OFF","update":{"installed_version":571806993,"latest_version":571806993,"state":"available"}}'
[27/12/2025, 01:23:27] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/update', payload '{"data":{},"error":"Update of 'garden-right-up' failed (No image currently available)","status":"error","transaction":"jaimw-17"}'
[27/12/2025, 01:23:27] z2m: Update of 'garden-right-up' failed (No image currently available)

Notes

I have 4 of these bulbs, and none of them will update. OTA's for other devices successfully updated (2x Sonoff ZBMINIR2's and an IKEA LED2101G4).

A small suggestion - my initial thought is this issue may be as simple as because the Innr OTA firmware files have spaces? If so, please just update the index.json and rename files and add a new test for future submissions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions