# Mercator Ikuu Zigbee App

**URL:** <https://community.homey.app/t/mercator-ikuu-zigbee-app/96728>\
**Category:** Developers\
**Created:** [December 4, 2023, 4:04am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728 "2023-12-04T04:04:20Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 28, 2024, 4:39am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/21 "2024-05-28T04:39:08Z")

</div>

> [@gslender](#):
>
> If you’re aware of these devices being used successfully in HA, then share the link and details as it will only serve to help make them work with Homey.

- [zigbee2mqtt search results](https://www.zigbee2mqtt.io/supported-devices/#v=Mercator%20Iku%C3%BC)
- [Blakadder’s Zigbee database (search for “mercator”)](https://zigbee.blakadder.com/search.html)

TL;DR: both z2m and ZHA support a lot of Mercator devices.

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 28, 2024, 6:03am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/22 "2024-05-28T06:03:48Z")

</div>

> [@robertklep](#):
>
> support a lot of Mercator devices.

Yes, they seem to have a database saying they support it, but what I’m lacking (or what I’m finding) is that the standard ZB commands don’t work and require specific device attributes written that are Tuya specific. That’s the detail that I’m lacking and also not really certain on how you’re supposed to write those attributes in Homey. There is a truck-load of details missing in the Homey developer docs that don’t cover all the ways you can update/write to a ZB device. Even looking at other example apps don’t help as they approach taken differs from the Homey stated ways of doing things… The HA crew seem to make it look so easy, and I’m at a loss as to where they are making it easy in the ZB space whereas Homey seems to be making it hard (or harder).

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 28, 2024, 6:05am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/23 "2024-05-28T06:05:57Z")

</div>

As an example to illustrate the point, how would you suggest you turn on and off and set the level for the Mercator Ikuu Light Dimmer 1 Gang ? Provide some simple JS that you think would work based on what you can easily find on HA’s databases of supported devices??

> **[Mercator Ikuü Light Dimmer 1 Gang SSWD01 Zigbee compatibility](https://zigbee.blakadder.com/Mercator_SSWD01.html)**
>
> Zigbee ID: TS0601 | \_TZE200\_swaamsoy - Mercator Ikuü SSWD01 compatibility with third party gateways

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 28, 2024, 6:25am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/24 "2024-05-28T06:25:43Z")

</div>

So far, I seem to be having a little success borrowing a bit of the Tuya code from [GitHub - JohanBendz/com.tuya.zigbee](https://github.com/JohanBendz/com.tuya.zigbee)

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 28, 2024, 6:26am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/25 "2024-05-28T06:26:39Z")

</div>

> [@RickB](#):
>
> [Zigbee Double Power point](https://www.ikuu.com.au/product/double-power-point-ip54/):

I’ll be working on this device next… within the next week.

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 28, 2024, 6:27am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/26 "2024-05-28T06:27:04Z")

</div>

> [@Nathan\_Makovec](#):
>
> Currently about to fit out our place with Mercator ikuu light switches

Which specific switches are you going to be using?

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 28, 2024, 6:36am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/27 "2024-05-28T06:36:26Z")

</div>

> [@gslender](#):
>
> There is a truck-load of details missing in the Homey developer docs that don’t cover all the ways you can update/write to a ZB device.

And yet, there are plenty of Zigbee devices supported by apps that are made by community members 🤷🏼‍♂️

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 28, 2024, 12:17pm UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/28 "2024-05-28T12:17:30Z")

</div>

How?

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 28, 2024, 1:56pm UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/29 "2024-05-28T13:56:51Z")

</div>

I guess by being pragmatic. If something works for a particular developer, and they are sharing their code, it’s a good source to learn from. The documentation may not always be fully correct or complete, or scattered, but others _have_ figured out how to handle things like custom clusters/attributes, like the ones TuYa uses, so Homey _is_ capable of it.

---

<div class="post-metadata">

**Author:** ![Nathan\_Makovec](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nathan_makovec/32/79457_2.png) [@Nathan\_Makovec](https://community.homey.app/u/Nathan_Makovec)\
**Post date:** [May 28, 2024, 10:20pm UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/30 "2024-05-28T22:20:09Z")

</div>

SSW04 and SSW01 will be the main ones.

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 29, 2024, 2:02am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/31 "2024-05-29T02:02:24Z")

</div>

> [@robertklep](#):
>
> I guess by being pragmatic. If something works for a particular developer, and they are sharing their code, it’s a good source to learn from.

Here is a good and super frustrating example of the lack of docs and overall confusion a new developer like me runs into when working with Homey.

The current Tuya App that is published has the following packages for homey and zigbee clusters

```auto
    "homey-zigbeedriver": "^1.6.12",
    "zigbee-clusters": "^1.5.2"

```

But the latest of these are

```auto
    "homey-zigbeedriver": "^2.1.4",
    "zigbee-clusters": "^2.4.1"

```

Using the latest packages this code (from the Tuya App) doesn’t work … its deprecated and syntax for attributes needs to be put in an array.

```auto
await zclNode.endpoints[1].clusters.basic.readAttributes('manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 'attributeReportingStatus')
    .catch(err => {
        this.error('Error when reading device attributes ', err);
    });

```

If you use the latest packages (as I did) you get the following error…

```auto
rror when reading device attributes Error: Expected attribute names array, as of zigbee-clusters@2.0.0 call readAttributes(['myAttr'])
    at BasicCluster.readAttributes (/app/node_modules/zigbee-clusters/lib/Cluster.js:408:13)
    at LightDimmerDevice.onNodeInit (/app/drivers/light_dimmer_sswd01/device.js:24:47)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /app/node_modules/homey-zigbeedriver/lib/ZigBeeDevice.js:949:11

```

I appreciate your suggestion to follow the work of other developers, but I feel that it oversimplifies the challenges I’ve been facing. It’s been quite difficult, and I wish there was a bit more support and guidance available. Navigating this process hasn’t been easy for me.

---

<div class="post-metadata">

**Author:** ![Nathan\_Makovec](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nathan_makovec/32/79457_2.png) [@Nathan\_Makovec](https://community.homey.app/u/Nathan_Makovec)\
**Post date:** [May 29, 2024, 3:20am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/32 "2024-05-29T03:20:53Z")

</div>

I doubt I can be much help with the development here. But I was looking at just running it through ZIGBEE2MQTT which seems to be compatible with hokey. I’ve been reading up on that. [TuYa TS0011 control via MQTT | Zigbee2MQTT](https://www.zigbee2mqtt.io/devices/TS0011.html)

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 29, 2024, 4:10am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/33 "2024-05-29T04:10:24Z")

</div>

> [@Nathan\_Makovec](#):
>
> SSW04 and SSW01 will be the main ones.

Do you mind refrencing the very specific device from this page - as I just wish to be sure.

[https://www.ikuu.com.au/products/trade/switches/](https://www.ikuu.com.au/products/trade/switches/)

---

<div class="post-metadata">

**Author:** ![Nathan\_Makovec](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nathan_makovec/32/79457_2.png) [@Nathan\_Makovec](https://community.homey.app/u/Nathan_Makovec)\
**Post date:** [May 29, 2024, 4:58am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/34 "2024-05-29T04:58:35Z")

</div>

> **[Quad Switch | Ikuü](https://www.ikuu.com.au/product/quad-switch/)**
>
> The Mercator Ikuü switch range provides the ultimate experience with flexibility in how you use your products either via the touch switch, app or voice control

> **[Single Switch | Ikuü](https://www.ikuu.com.au/product/single-switch/)**
>
> The Mercator Ikuü switch range provides the ultimate experience with flexibility in how you use your products either via the touch switch, app or voice control

These are the 2 that I require. Everything else I’m going to buy I plan to be homey compatible.  
But as you would know in Australia there isn’t a whole range of zigbee light switches that are compliant.

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 29, 2024, 5:50am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/35 "2024-05-29T05:50:15Z")

</div>

> [@gslender](#):
>
> Using the latest packages this code (from the Tuya App) doesn’t work … its deprecated and syntax for attributes needs to be put in an array.

Like I said: be pragmatic, put your attributes in an array like the error message says 🤷🏼‍♂️

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 29, 2024, 5:58am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/36 "2024-05-29T05:58:22Z")

</div>

Okay, so yep thats obvious when it has been pointed out to you, but the example of using some community members code to learn doesn’t always just simply work.

So I’ll move onto the next issue I’m facing… **subdevices**.

Cannot seem to figure out how you’re supposed to make Homey support a device that has two outlets/plugs/sockets (whatever).

I’ve looked at a lot of the code which seems to mirror the information found here

> **[Zigbee | Homey Apps SDK](https://apps.developer.homey.app/wireless/zigbee#sub-devices)**
>
> Zigbee is a wireless communication standard that extends the IEEE 802.15.4 standard, it uses 2 different frequencies (2.4GHz, 869-915MHz), and is very similar to Z-Wave.

But for the life of me, I cannot seem to see how my device has two on/off buttons and how you would enable the second (or 3rd, 4th etc) switch in a Zigbee device that has them.

In addition, when logging the output of

```auto
    const { subDeviceId } = this.getData();
    this.log('Device data: ', subDeviceId);

```

I get this…

2024-05-29T05:46:40.205Z [log] [ManagerDrivers] [Driver:double\_power\_point\_spp02g] [Device:7554c90a-605f-46ed-9983-b0dfc9fa340f] **Device data: undefined**

So its not working nor is it clear where I might be going wrong? Everything looks correct. Is this another case of new package does it differently and maybe the docs on Athom are incorrect vs the latest package release for Zigbee etc?

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 29, 2024, 6:17am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/37 "2024-05-29T06:17:21Z")

</div>

> [@gslender](#):
>
> So its not working nor is it clear where I might be going wrong?

So the result of `this.getData()` has no key named `subDeviceId`, which suggests there’s something wrong with the way you’re creating them.

Here are some repositories that use more recent versions of the Zigbee packages and use sub devices (only a simple Github search for “homey subDeviceId” away…):

- [Namron](https://github.com/NamronAS/Namron_Homey/blob/ed3d979d845318cbdc2de48c6ec7ce55048e477c/drivers/4512735/device.js#L10)
- [A fork of the TuYa app made by @Sharkys](https://github.com/shaarkys/com.tuya.zigbee/blob/fddd83b83472e25d13d8f3060058980584a3cef8/drivers/outdoor_2_socket/device.secondSocket.js#L20)
- [Sonoff](https://github.com/JohanBendz/tech.sonoff/blob/07ad5fcd7f071336c3d1bbbe8205a3e630ca1408/drivers/ZBSW03/device.js#L15)

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 29, 2024, 6:20am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/38 "2024-05-29T06:20:54Z")

</div>

> [@robertklep](#):
>
> So the result of `this.getData()` has no key named `subDeviceId`, which suggests there’s something wrong with the way you’re creating them.

Yep, finally stumbled onto the issue - it was a incorrectly placed `"devices": {` within the driver.compose.json

My bad ☹

---

<div class="post-metadata">

**Author:** ![gslender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gslender/32/114309_2.png) [@gslender](https://community.homey.app/u/gslender)\
**Post date:** [May 29, 2024, 8:28am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/39 "2024-05-29T08:28:21Z")

</div>

> [@Nathan\_Makovec](#):
>
> These are the 2 that I require.

If possible, can you grab the Interview log from your Homey for your devices? (just add the device and run the Interview on this page [Homey Developer Tools](https://tools.developer.homey.app/tools/zigbee))

---

<div class="post-metadata">

**Author:** ![Nathan\_Makovec](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nathan_makovec/32/79457_2.png) [@Nathan\_Makovec](https://community.homey.app/u/Nathan_Makovec)\
**Post date:** [May 29, 2024, 8:59am UTC](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728/40 "2024-05-29T08:59:31Z")

</div>

Sorry, I haven’t got one yet as I was still deciding whether i was going Homey or HA. But seeing this slowly come together I think I’ll go the Homey route.

Out of curiosity can the dimmer switch be used with standard downlighting and just used as an on/off?

[Previous page](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728.md?page=1)

[Next page](https://community.homey.app/t/mercator-ikuu-zigbee-app/96728.md?page=3)
