Tried this with a generic tuya zigbee hub, there was no firwmare update for the mercator switches (there was for the hub). Switches/plug Still show version v1.0.10 in the smart life app
I can confirm that this Tuya firmware update definitely fixed all issues for me. No more switching off - they have been running for a few days. Earlier they switched off immediately or within a few hours.
Unfortunately our Mercator products do not seem to receive the same update.
Are you able to scan the device using zha toolkit and provide the json that is output please?
Same problem,
Two TS011F TZ3000 with ZHA (different design)
I see the 0v
@ingoratsdorf can you please scan the device and provide the output of all the configuration variables.
This will perhaps allow us to compare app version 74 (which we are stuck on with mercator products) with app version 77
Okay, here we go, this is one plug that I updated several weeks ago and had not a single issue ever since:
{
"ieee": "a4:c1:38:3f:2d:b2:ee:65",
"nwk": "0xffbf",
"model": "TS011F",
"manufacturer": "_TZ3000_typdpbpg",
"manufacturer_id": "0x4417",
"endpoints": [
{
"id": 1,
"device_type": "0x010a",
"profile": "0x0104",
"in_clusters": {
"0x0000": {
"cluster_id": "0x0000",
"title": "Basic",
"name": "basic",
"attributes": {
"0x0000": {
"attribute_id": "0x0000",
"attribute_name": "zcl_version",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 3
},
"0x0001": {
"attribute_id": "0x0001",
"attribute_name": "app_version",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 77
},
"0x0002": {
"attribute_id": "0x0002",
"attribute_name": "stack_version",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0003": {
"attribute_id": "0x0003",
"attribute_name": "hw_version",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 1
},
"0x0004": {
"attribute_id": "0x0004",
"attribute_name": "manufacturer",
"value_type": [
"0x42",
"CharacterString",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": "_TZ3000_typdpbpg"
},
"0x0005": {
"attribute_id": "0x0005",
"attribute_name": "model",
"value_type": [
"0x42",
"CharacterString",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": "TS011F"
},
"0x0006": {
"attribute_id": "0x0006",
"attribute_name": "date_code",
"value_type": [
"0x42",
"CharacterString",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": ""
},
"0x0007": {
"attribute_id": "0x0007",
"attribute_name": "power_source",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 1
},
"0xffde": {
"attribute_id": "0xffde",
"attribute_name": "65502",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 13
},
"0xffe2": {
"attribute_id": "0xffe2",
"attribute_name": "65506",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 54
},
"0xffe3": {
"attribute_id": "0xffe3",
"attribute_name": "65507",
"value_type": [
"0x48",
"Array",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5
},
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "cluster_revision",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 2
},
"0xfffe": {
"attribute_id": "0xfffe",
"attribute_name": "attr_reporting_status",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
}
},
"commands_received": {},
"commands_generated": {}
},
"0x0003": {
"cluster_id": "0x0003",
"title": "Identify",
"name": "identify",
"attributes": {},
"commands_received": {},
"commands_generated": {}
},
"0x0004": {
"cluster_id": "0x0004",
"title": "Groups",
"name": "groups",
"attributes": {
"0x0000": {
"attribute_id": "0x0000",
"attribute_name": "name_support",
"value_type": [
"0x18",
"bitmap8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "cluster_revision",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 2
}
},
"commands_received": {},
"commands_generated": {}
},
"0x0005": {
"cluster_id": "0x0005",
"title": "Scenes",
"name": "scenes",
"attributes": {
"0x0000": {
"attribute_id": "0x0000",
"attribute_name": "count",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0001": {
"attribute_id": "0x0001",
"attribute_name": "current_scene",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0002": {
"attribute_id": "0x0002",
"attribute_name": "current_group",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0003": {
"attribute_id": "0x0003",
"attribute_name": "scene_valid",
"value_type": [
"0x10",
"Bool",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0004": {
"attribute_id": "0x0004",
"attribute_name": "name_support",
"value_type": [
"0x18",
"bitmap8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "cluster_revision",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 2
}
},
"commands_received": {},
"commands_generated": {}
},
"0x0006": {
"cluster_id": "0x0006",
"title": "On/Off",
"name": "on_off",
"attributes": {
"0x0000": {
"attribute_id": "0x0000",
"attribute_name": "on_off",
"value_type": [
"0x10",
"Bool",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 1
},
"0x4001": {
"attribute_id": "0x4001",
"attribute_name": "on_time",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 0
},
"0x4002": {
"attribute_id": "0x4002",
"attribute_name": "off_wait_time",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 0
},
"0x5000": {
"attribute_id": "0x5000",
"attribute_name": "20480",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 1
},
"0x8000": {
"attribute_id": "0x8000",
"attribute_name": "child_lock",
"value_type": [
"0x10",
"Bool",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 1
},
"0x8001": {
"attribute_id": "0x8001",
"attribute_name": "backlight_mode",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 0
},
"0x8002": {
"attribute_id": "0x8002",
"attribute_name": "power_on_state",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 1
},
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "cluster_revision",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 2
}
},
"commands_received": {},
"commands_generated": {}
},
"0x0702": {
"cluster_id": "0x0702",
"title": "TuyaZBMeteringCluster",
"name": "smartenergy_metering",
"attributes": {
"0x0000": {
"attribute_id": "0x0000",
"attribute_name": "current_summ_delivered",
"value_type": [
"0x25",
"uint48_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 654
},
"0x0200": {
"attribute_id": "0x0200",
"attribute_name": "status",
"value_type": [
"0x18",
"bitmap8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0300": {
"attribute_id": "0x0300",
"attribute_name": "unit_of_measure",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0303": {
"attribute_id": "0x0303",
"attribute_name": "summation_formatting",
"value_type": [
"0x18",
"bitmap8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x0306": {
"attribute_id": "0x0306",
"attribute_name": "metering_device_type",
"value_type": [
"0x18",
"bitmap8",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "65533",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 1
}
},
"commands_received": {},
"commands_generated": {}
},
"0x0b04": {
"cluster_id": "0x0b04",
"title": "Electrical Measurement",
"name": "electrical_measurement",
"attributes": {
"0x0505": {
"attribute_id": "0x0505",
"attribute_name": "rms_voltage",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 238
},
"0x0508": {
"attribute_id": "0x0508",
"attribute_name": "rms_current",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0x050b": {
"attribute_id": "0x050b",
"attribute_name": "active_power",
"value_type": [
"0x29",
"int16s",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "cluster_revision",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 1
}
},
"commands_received": {},
"commands_generated": {}
},
"0xe000": {
"cluster_id": "0xe000",
"title": "Tuya Manufacturer Specific",
"name": "tuya_is_pita_0",
"attributes": {
"0xd001": {
"attribute_id": "0xd001",
"attribute_name": "53249",
"value_type": [
"0x48",
"Array",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7
},
"0xd002": {
"attribute_id": "0xd002",
"attribute_name": "53250",
"value_type": [
"0x48",
"Array",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7
},
"0xd003": {
"attribute_id": "0xd003",
"attribute_name": "53251",
"value_type": [
"0x42",
"CharacterString",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": ""
},
"0xd004": {
"attribute_id": "0xd004",
"attribute_name": "53252",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 0
},
"0xd005": {
"attribute_id": "0xd005",
"attribute_name": "53253",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 0
}
},
"commands_received": {},
"commands_generated": {}
},
"0xe001": {
"cluster_id": "0xe001",
"title": "Tuya External Switch Type Cluster",
"name": "tuya_external_switch_type",
"attributes": {
"0xd000": {
"attribute_id": "0xd000",
"attribute_name": "53248",
"value_type": [
"0x20",
"uint8_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 1
},
"0xd001": {
"attribute_id": "0xd001",
"attribute_name": "53249",
"value_type": [
"0x1b",
"bitmap32",
"Discrete"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 0
},
"0xd002": {
"attribute_id": "0xd002",
"attribute_name": "53250",
"value_type": [
"0x23",
"uint32_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 2690704
},
"0xd003": {
"attribute_id": "0xd003",
"attribute_name": "53251",
"value_type": [
"0x23",
"uint32_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 128
},
"0xd004": {
"attribute_id": "0xd004",
"attribute_name": "53252",
"value_type": [
"0x23",
"uint32_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 11118
},
"0xd005": {
"attribute_id": "0xd005",
"attribute_name": "53253",
"value_type": [
"0x23",
"uint32_t",
"Analog"
],
"access": "REPORT|READ",
"access_acl": 5,
"attribute_value": 1337
},
"0xd010": {
"attribute_id": "0xd010",
"attribute_name": "53264",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 1
},
"0xd020": {
"attribute_id": "0xd020",
"attribute_name": "53280",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 0
},
"0xd030": {
"attribute_id": "0xd030",
"attribute_name": "external_switch_type",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "REPORT|WRITE|READ",
"access_acl": 7,
"attribute_value": 0
}
},
"commands_received": {},
"commands_generated": {}
}
},
"out_clusters": {
"0x000a": {
"cluster_id": "0x000a",
"title": "Time",
"name": "time",
"attributes": {
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "cluster_revision",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 1
}
},
"commands_received": {},
"commands_generated": {}
},
"0x0019": {
"cluster_id": "0x0019",
"title": "Ota",
"name": "ota",
"attributes": {
"0x0000": {
"attribute_id": "0x0000",
"attribute_name": "upgrade_server_id",
"value_type": [
"0xf0",
"EUI64",
"Discrete"
],
"access": "READ",
"access_acl": 1,
"attribute_value": [
255,
255,
255,
255,
255,
255,
255,
255
]
},
"0x0001": {
"attribute_id": "0x0001",
"attribute_name": "file_offset",
"value_type": [
"0x23",
"uint32_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 4294967295
},
"0x0002": {
"attribute_id": "0x0002",
"attribute_name": "current_file_version",
"value_type": [
"0x23",
"uint32_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 77
},
"0x0003": {
"attribute_id": "0x0003",
"attribute_name": "current_zigbee_stack_version",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 2
},
"0x0004": {
"attribute_id": "0x0004",
"attribute_name": "downloaded_file_version",
"value_type": [
"0x23",
"uint32_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 4294967295
},
"0x0005": {
"attribute_id": "0x0005",
"attribute_name": "downloaded_zigbee_stack_version",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 65535
},
"0x0006": {
"attribute_id": "0x0006",
"attribute_name": "image_upgrade_status",
"value_type": [
"0x30",
"enum8",
"Discrete"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 0
},
"0x0007": {
"attribute_id": "0x0007",
"attribute_name": "manufacturer_id",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 4417
},
"0x0008": {
"attribute_id": "0x0008",
"attribute_name": "image_type_id",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 65535
},
"0x0009": {
"attribute_id": "0x0009",
"attribute_name": "minimum_block_req_delay",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 0
},
"0xfffd": {
"attribute_id": "0xfffd",
"attribute_name": "cluster_revision",
"value_type": [
"0x21",
"uint16_t",
"Analog"
],
"access": "READ",
"access_acl": 1,
"attribute_value": 3
}
},
"commands_received": {},
"commands_generated": {}
}
}
}
]
}
Appreciate it. Seems yours does not have a bunch of items we have under electrical measurement including AC voltage overprotection. I wonder if version 77 removed them or your device always had differences.
Seems the turning off feature is fixed with that
I upgrade today… hope that fix my problem
I ordered another batch of 8 of the TS011F plugs and they all came already with app version 77 and worked out of the box. So the issue seems resolved upstream but may still be an issue for people with version lower than 77.
I just wanted to chime in here. I have 12 of these Tuya plugs installed. Three of them randomly turn themselves off, sometimes after a few hours, sometimes after a few days of constant use.
These three show app_version 77
and manufacturer _TZ3000_w0qqde0g
. The nine that work just fine show app_version 76
and manufacturer _TZ3000_gjnozsaz
.
So I feel inclined to agree with the firmware theory, but not that app_version 77
solves all issues. Here at least, 76
seems to be the most reliable version.
Just to let you know: today I had same problem with Tuya WIFI powerplugs: voltage went over 250V and plug turned itself off….
I don’t think this has anything to do with firmware, it just works as (badly) designed…
Seems I have been chasing the same issue with the double gpo mercator ikuu that I have been testing. Couldn’t work out why it was just turning off, even with an automation rule to turn it back on.
Did you have an success in fixing this? Or is it just another pile…
The theory of high line voltage due to solar would be a neat answer, but quite a lot of my events have happened between midnight and 6am.
It’s not the voltage as I long believed. It is poor handling of ZigBee network interference.
After adding new routers I have had almost zero dropouts.
Restarting my coordinator can still sometimes cause some of them to drop out. It’s extremely poor on Mercator a end to have this behaviour, but I’ve mostly eliminated unplanned shutdowns though a better network setup.
It could be high voltage problem. I have some tuya smart plugs. Once in the kitchen it turned it’s self off while cocking Sunday meal. Checking everything out I found out that owen and dishwasher was using the same outlet. When turned on together voltage was over 250.
I used this for years and never had a clue that there was a problem.
So, check if there was a high current or high load just before plug or outlet switched off. Also check what is max amp that plug can handle. My aquara smart plug burned down as it was 10 amp. Had to replace it with tuya 16 amp.
The high voltage issue was not about what was being used on the socket. It was line voltage from the main supply. There was a huge tuya thread about it and I believed Mercator to also be affected. However it is not the case
These Mercator sockets turn off, even without anything plugged in. One of mine would consistently turn off when I booted my computer at the other end of the house.
It is poor handling a ZigBee network degredation, I’m certain.
Do you have a bluetooth devices connected to that comp ?
It’s seems to me that bluetooth is killing zigbee network. When comp with bluetooth speakers is on zigbee devices in that room just lost connectivity or it can’t be turn on or off. Even if they are routers. I don’t say that the problem isn’t in a poor device quality, just there are some other things to check out.
No but my ZigBee coordinator was not far from it. Do the EM interference from it booting was likely disrupting the network and causing the distant device to turn off.
hi ddaniel’s suggestion way back worked for me. im renovating so my zigbee network is all over the place right now so i started getting disconnects (then shut offs) for my mercator double gpos.
i modified ddaniels external convertor for the mercator double socket (z2m) and it hasn’t shut off for me anymore. i think its something to do with reporting compatibility as mentioned in their code. switching from reporting to polling fixed it for me at least
this is my convertor. im new to this hope its helpful to someone
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const legacy = require('zigbee-herdsman-converters/lib/legacy');
const extend = require('zigbee-herdsman-converters/lib/extend');
const ota = require('zigbee-herdsman-converters/lib/ota');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;
const definition =
{
fingerprint: [{modelID: 'TS011F', manufacturerName: '_TZ3210_raqjcxo5'}],
model: 'SPP02G',
vendor: 'Mercator Ikuü',
description: 'Double power point',
extend: tuya.extend.switch({powerOutageMemory: true, electricalMeasurements: true, endpoints: ['left', 'right']}),
endpoint: (device) => {
return {left: 1, right: 2};
},
exposes: [e.switch().withEndpoint('left'), e.switch().withEndpoint('right'),
e.power().withEndpoint('left'), e.current().withEndpoint('left'),
e.voltage().withEndpoint('left'), e.energy(), tuya.exposes.powerOutageMemory()],
meta: {multiEndpoint: true},
configure: async (device, coordinatorEndpoint, logger) => {
await tuya.configureMagicPacket(device, coordinatorEndpoint, logger);
const endpoint1 = device.getEndpoint(1);
const endpoint2 = device.getEndpoint(2);
endpoint1.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});
endpoint1.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});
device.save();
},
options: [exposes.options.measurement_poll_interval()],
onEvent: (type, data, device, settings) => tuya.onEventMeasurementPoll(type, data, device, settings)
// This device doesn't support reporting correctly.
// Koenkk/zigbee-herdsman-converters#1270
};
module.exports = definition;
Hi all,
I manage to fix this for myself for the Mercator Ikuu doule GPOs by following the two guguides bellow:
-
setup zha ota folder via this guide:
ZHA OTA Firmware Update / Upgrade - Configuration / Zigbee - Home Assistant Community (home-assistant.io) -
then use zha_toolkit to ask the gpo to update
mdeweerd/zha-toolkit: Zigbee Home Assistant Toolkit - service for “rare” Zigbee operations using ZHA on Home Assistant (github.com)
Hope this will help others.
can you please explain how did you update the firmware of Ikuu GPOs after this
as I’ve downloaded via HACS and not how to update my GPOs