Closed jws1992 closed 1 year ago
Thanks, now it boots, but seems like it doesn't accept the update file for Namrons thermostat, ROBBV22.ota
, or am I reading the logs right? Any way to force that?
Debug 2023-05-02 07:57:14Received MQTT message on 'zigbee2mqtt/bridge/request/device/ota_update/check' with data '0x1fff000300000068'
Info 2023-05-02 07:57:14Checking if update available for '0x1fff000300000068'
Debug 2023-05-02 07:57:14Check if update available for '0x1fff000300000068' (HK-LN-HEATER-A)
Debug 2023-05-02 07:57:14Using endpoint '2'
Debug 2023-05-02 07:57:14Received Zigbee message from '0x1fff000300000068', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":20,"imageType":6003,"manufacturerCode":4644}' from endpoint 2 with groupID 0
Debug 2023-05-02 07:57:14Got OTA request '{"fieldControl":0,"manufacturerCode":4644,"imageType":6003,"fileVersion":20}'
Debug 2023-05-02 07:57:14ZigbeeOTA: downloaded main index
Debug 2023-05-02 07:57:14ZigbeeOTA: Loading override index /config/zigbee2mqtt/my_index.json
Debug 2023-05-02 07:57:14ZigbeeOTA: getting local firmware file /config/zigbee2mqtt/ROBBV22.ota
Info 2023-05-02 07:57:14MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/check', payload '{"data":{"id":"0x1fff000300000068"},"error":"Failed to check if update available for '0x1fff000300000068' (No image available for imageType '6003')","status":"error"}'
Error 2023-05-02 07:57:14Failed to check if update available for '0x1fff000300000068' (No image available for imageType '6003')
Debug 2023-05-02 07:57:15Error: No image available for imageType '6003' at getImageMeta (/app/node_modules/zigbee-herdsman-converters/lib/ota/zigbeeOTA.js:113:15) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.isNewImageAvailable (/app/node_modules/zigbee-herdsman-converters/lib/ota/common.js:260:18) at Object.isUpdateAvailable (/app/node_modules/zigbee-herdsman-converters/lib/ota/common.js:251:29) at OTAUpdate.onMQTTMessage (/app/lib/extension/otaUpdate.ts:203:45)
Debug 2023-05-02 07:57:17Received Zigbee message from '0x1fff000300000068', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":20,"imageType":6003,"manufacturerCode":4644}' from endpoint 2 with groupID 0
Debug 2023-05-02 07:57:17Device '0x1fff000300000068' requested OTA
Debug 2023-05-02 07:57:17Responded to OTA request of '0x1fff000300000068' with 'NO_IMAGE_AVAILABLE'
Interestingly after disabling my custom converter, which was copy from Sunricher SR-ZG9092A it now uses Sunricher SR-ZG9092A by default and for last day the one thermostat thats on Z2M has been free of away_mode
. Cannot figure out why, but that would be great. Will test some more and report back. Only difference in converters I could find was const utils = require('zigbee-herdsman-converters/lib/utils');
, but it doesn't help if I add it to custom converter.
EDIT: Nevermind, it does jump back to away_mode
no matter the converter, default or custom.
Also Namrons converter has a few little things that Sunricher doesn't and that work with ZG9092A, have to take a look at those as well.
What is the imageType of ROBBV22.ota
? You can find it out by running add.js
on it.
What is the imageType of
ROBBV22.ota
? You can find it out by runningadd.js
on it.
Don't really know how to do that but it is from https://github.com/Koenkk/zigbee-OTA/blob/master/index.json, this very file just renamed so imageType is 6001
{
"modelId": "4512737",
"fileVersion": 22,
"fileSize": 245148,
"manufacturerCode": 4644,
"imageType": 6001,
"sha512": "ce40cfc670692384590fc58b84fd9b0d1a6f7b1fa28c6a34ea46fd404b536135151e0fa70bef5ff0c1eeca3fe0d27174806fd1b4863e5bc10afaeca49e0b14f0",
"url": "https://github.com/Koenkk/zigbee-OTA/raw/master/images/Namron/NAMRON_AS_4512737%286001%29%20V22.ota",
"path": "images/Namron/NAMRON_AS_4512737(6001) V22.ota"
},
Could you post the ota file here?
Could you post the ota file here?
Sure, here you go. Uploaded this one to HA and renamed it after uploading. NAMRON_AS_4512737(6001) V22.ota.zip
The device requests imageType 6003
:
Debug 2023-05-02 07:57:14Got OTA request '{"fieldControl":0,"manufacturerCode":4644,"imageType":6003,"fileVersion":20}'
while the ota has imageType 6001
, which according to the Zigbee spec would mean that your device is not compatible with this OTA file.
The device requests imageType
6003
:Debug 2023-05-02 07:57:14Got OTA request '{"fieldControl":0,"manufacturerCode":4644,"imageType":6003,"fileVersion":20}'
while the ota has imageType
6001
, which according to the Zigbee spec would mean that your device is not compatible with this OTA file.
Okay, thanks, understandable. Is there a way to force it, as the devices are pretty much identical? Not worried about bricking one, have an extra.
What if you put the imageType in your custom index.json (like this https://github.com/Koenkk/zigbee-OTA/blob/00b37df2d4f4a6fce8208ddfb7a8b04cd63a0d80/index.json#L15)
What if you put the imageType in your custom index.json (like this https://github.com/Koenkk/zigbee-OTA/blob/00b37df2d4f4a6fce8208ddfb7a8b04cd63a0d80/index.json#L15)
[
{
"imageType": 6003,
"url": "NAMRON_AS_4512737(6001) V22.ota"
}
]
That clears zigbee2mqtt/bridge/request/device/ota_update/check
without errors:
Debug 2023-05-04 21:00:16Received MQTT message on 'zigbee2mqtt/bridge/request/device/ota_update/check' with data '0x1fff000300000068'
Info 2023-05-04 21:00:16Checking if update available for '0x1fff000300000068'
Debug 2023-05-04 21:00:16Check if update available for '0x1fff000300000068' (HK-LN-HEATER-A)
Debug 2023-05-04 21:00:16Using endpoint '2'
Debug 2023-05-04 21:00:16Received Zigbee message from '0x1fff000300000068', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":20,"imageType":6003,"manufacturerCode":4644}' from endpoint 2 with groupID 0
Debug 2023-05-04 21:00:16Got OTA request '{"fieldControl":0,"manufacturerCode":4644,"imageType":6003,"fileVersion":20}'
Debug 2023-05-04 21:00:16ZigbeeOTA: downloaded main index
Debug 2023-05-04 21:00:16ZigbeeOTA: Loading override index /config/zigbee2mqtt/my_index.json
Debug 2023-05-04 21:00:16ZigbeeOTA: getting local firmware file /config/zigbee2mqtt/NAMRON_AS_4512737(6001) V22.ota
Debug 2023-05-04 21:00:16Is new image available for '0x1fff000300000068', current '{"fieldControl":0,"manufacturerCode":4644,"imageType":6003,"fileVersion":20}', latest meta '{"fileVersion":22,"url":"NAMRON_AS_4512737(6001) V22.ota"}'
Debug 2023-05-04 21:00:16Update available for '0x1fff000300000068': YES
Info 2023-05-04 21:00:16Update available for '0x1fff000300000068'
Info 2023-05-04 21:00:16MQTT publish: topic 'zigbee2mqtt/0x1fff000300000068', payload '{"alarm_airtemp_overvalue":27,"away_mode":"ON","button_vibration_level":"low","child_lock":"UNLOCK","current":0,"display_auto_off_enabled":"disabled","dry_time":5,"energy":0,"floor_sensor_calibration":0,"floor_sensor_type":"10k","hysterersis":0.5,"lcd_brightness":"mid","linkquality":91,"local_temperature":20.4,"local_temperature_calibration":0,"mode_after_dry":"auto","occupancy":false,"occupied_heating_setpoint":23.5,"outdoor_temperature":0,"power":0,"powerup_status":"last_status","running_state":"idle","sensor":"air","system_mode":"heat","temperature_display":"room","unoccupied_heating_setpoint":6,"update":{"installed_version":20,"latest_version":22,"state":"available"},"update_available":null,"voltage":0,"window_open_check":0}'
Info 2023-05-04 21:00:16MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/check', payload '{"data":{"id":"0x1fff000300000068","updateAvailable":true},"status":"ok"}'
But zigbee2mqtt/bridge/request/device/ota_update/update
gives Image Type Mismatch
. Logs give 6001 in image header, is this read from the update file itself? .ota file seems encrypted, is it possible to change image type in the file or for the device?
Debug 2023-05-04 21:02:12Received MQTT message on 'zigbee2mqtt/bridge/request/device/ota_update/update' with data '{"id":"0x1fff000300000068","transaction":"ef2cn-1"}'
Info 2023-05-04 21:02:12Updating '0x1fff000300000068' to latest firmware
Debug 2023-05-04 21:02:13Received Zigbee message from '0x1fff000300000068', type 'readResponse', cluster 'genBasic', data '{"dateCode":"NULL","swBuildId":"6.9.1.0_r4"}' from endpoint 1 with groupID 0
Debug 2023-05-04 21:02:13Updating to latest '0x1fff000300000068' (HK-LN-HEATER-A)
Debug 2023-05-04 21:02:13Using endpoint '2'
Debug 2023-05-04 21:02:13Received Zigbee message from '0x1fff000300000068', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":20,"imageType":6003,"manufacturerCode":4644}' from endpoint 2 with groupID 0
Debug 2023-05-04 21:02:13Got OTA request '{"fieldControl":0,"manufacturerCode":4644,"imageType":6003,"fileVersion":20}'
Debug 2023-05-04 21:02:13ZigbeeOTA: downloaded main index
Debug 2023-05-04 21:02:13ZigbeeOTA: Loading override index /config/zigbee2mqtt/my_index.json
Debug 2023-05-04 21:02:13ZigbeeOTA: getting local firmware file /config/zigbee2mqtt/NAMRON_AS_4512737(6001) V22.ota
Debug 2023-05-04 21:02:13getNewImage for '0x1fff000300000068', meta {"fileVersion":22,"url":"NAMRON_AS_4512737(6001) V22.ota"}
Debug 2023-05-04 21:02:13ZigbeeOTA: getting local firmware file /config/zigbee2mqtt/NAMRON_AS_4512737(6001) V22.ota
Debug 2023-05-04 21:02:13getNewImage for '0x1fff000300000068', image header {"otaUpgradeFileIdentifier":{"type":"Buffer","data":[30,241,238,11]},"otaHeaderVersion":256,"otaHeaderLength":56,"otaHeaderFieldControl":0,"manufacturerCode":4644,"imageType":6001,"fileVersion":22,"zigbeeStackVersion":2,"otaHeaderString":"Encrypted GBL Z3_HVAC_Router\u0000\u0000\u0000\u0000","totalImageSize":245148}
Debug 2023-05-04 21:02:13Update of '0x1fff000300000068' failed (AssertionError [ERR_ASSERTION]: Image type mismatch)
Info 2023-05-04 21:02:13MQTT publish: topic 'zigbee2mqtt/0x1fff000300000068', payload '{"alarm_airtemp_overvalue":27,"away_mode":"ON","button_vibration_level":"low","child_lock":"UNLOCK","current":0,"display_auto_off_enabled":"disabled","dry_time":5,"energy":0,"floor_sensor_calibration":0,"floor_sensor_type":"10k","hysterersis":0.5,"lcd_brightness":"mid","linkquality":94,"local_temperature":20.4,"local_temperature_calibration":0,"mode_after_dry":"auto","occupancy":false,"occupied_heating_setpoint":23.5,"outdoor_temperature":0,"power":0,"powerup_status":"last_status","running_state":"idle","sensor":"air","system_mode":"heat","temperature_display":"room","unoccupied_heating_setpoint":6,"update":{"installed_version":20,"latest_version":22,"state":"available"},"update_available":null,"voltage":0,"window_open_check":0}'
Info 2023-05-04 21:02:13MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/update', payload '{"data":{"id":"0x1fff000300000068"},"error":"Update of '0x1fff000300000068' failed (Image type mismatch)","status":"error","transaction":"ef2cn-1"}'
Error 2023-05-04 21:02:13Update of '0x1fff000300000068' failed (Image type mismatch)
Debug 2023-05-04 21:02:13AssertionError [ERR_ASSERTION]: Image type mismatch at getNewImage (/app/node_modules/zigbee-herdsman-converters/lib/ota/common.js:441:5) at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.updateToLatest (/app/node_modules/zigbee-herdsman-converters/lib/ota/common.js:282:19) at OTAUpdate.onMQTTMessage (/app/lib/extension/otaUpdate.ts:267:41)
Debug 2023-05-04 21:02:15Received Zigbee message from '0x1fff000300000068', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":20,"imageType":6003,"manufacturerCode":4644}' from endpoint 2 with groupID 0
Debug 2023-05-04 21:02:15Device '0x1fff000300000068' requested OTA
Debug 2023-05-04 21:02:15Responded to OTA request of '0x1fff000300000068' with 'NO_IMAGE_AVAILABLE'
@pitkaha yes it comes from the fw, how are you running z2m? If running bare metal you can uncomment the check. You can find zigbee-herdsmam-converters in the z2m node_modules directory
@pitkaha yes it comes from the fw, how are you running z2m? If running bare metal you can uncomment the check. You can find zigbee-herdsmam-converters in the z2m node_modules directory
I'm on HA OS, x86-64. I understood that addons are in their own dockers, so not easily accessible, or have I misunderstood? Didn't find the folder with a quick look around on file editors or command line, addons folder was empty
In that case you can follow https://github.com/zigbee2mqtt/hassio-zigbee2mqtt#testing-changes-locally
In that case you can follow https://github.com/zigbee2mqtt/hassio-zigbee2mqtt#testing-changes-locally
Didn't get this to work with CLI. Didn't try for that long really, because I got new firmware from the manufarturer, and that updated nicely. Now six thermostats back on Z2M, on V22.00, no problems with away_mode
any more.
@Koenkk thanks for all the help and for the great software!
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days
This issue can be closed since it's resolved by firmware updates from the manufacturers.
In that case you can follow https://github.com/zigbee2mqtt/hassio-zigbee2mqtt#testing-changes-locally
Didn't get this to work with CLI. Didn't try for that long really, because I got new firmware from the manufarturer, and that updated nicely. Now six thermostats back on Z2M, on V22.00, no problems with
away_mode
any more.@Koenkk thanks for all the help and for the great software!
@pitkaha If you got the firmware from Robb, could it be released publicly to update firmware for Robb version of this thermostat?
In that case you can follow https://github.com/zigbee2mqtt/hassio-zigbee2mqtt#testing-changes-locally
Didn't get this to work with CLI. Didn't try for that long really, because I got new firmware from the manufarturer, and that updated nicely. Now six thermostats back on Z2M, on V22.00, no problems with
away_mode
any more. @Koenkk thanks for all the help and for the great software!@pitkaha If you got the firmware from Robb, could it be released publicly to update firmware for Robb version of this thermostat?
I was asked not to share the firmware, don't know why really. But yes, I suppose Robb could release it, you better ask them, servicedesk@robbshop.nl.
What happened?
Upon including the ROB_200-040-0 floor heating thermostat into Z2M, it recognised the device as a Sunricher HK-LN-HEATER-A, which is not supported. Thus, Z2M disables it and it is not visible in Home Assistant.
Friendly name: 0x1fff000300000079 Description: Last seen: 3 minutes ago Availability: [Disabled] Device type: Router Zigbee Model: HK-LN-HEATER-A Zigbee Manufacturer: Sunricher Support status: Not supported IEEE Address: 0x1fff000300000079 Network address: 0x2655 Firmware build date: NULL Firmware version: 6.9.1.0_r4 Power: Interview completed: True
What did you expect to happen?
For Z2M to recognise the device as ROB_200-040-0, and enable it with the correct parameters.
How to reproduce it (minimal and precise)
Include the ROB_200-040-0 in the zigbee network
Zigbee2MQTT version
1.29.0
Adapter firmware version
20211217
Adapter
SONOFF Zigbee 3.0 dongle
Debug log
2023-01-05 21:36:04Received message from unsupported device with Zigbee model 'HK-LN-HEATER-A' and manufacturer name 'Sunricher' 2023-01-05 21:36:04Please see: https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html