# Register-device-node Category and Capabilities - what payload?

**URL:** <https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121>\
**Category:** iHost Open Source Project\
**Created:** [April 6, 2026, 1:51pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121 "2026-04-06T13:51:40Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![vaetusromeo](https://avatars.discourse-cdn.com/v4/letter/v/d6d6ee/32.png) [@vaetusromeo](https://forum.ewelink.cc/u/vaetusromeo)\
**Post date:** [April 6, 2026, 1:51pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/1 "2026-04-06T13:51:40Z")

</div>

Hi!

I’ve been playing with virtual devices, trying to bring some values via MQTT from another Node Red installation.

I have setup several virtual devices using register-device function, however it is very unclear what header and payload types are required based on the existing Category and Capabilities - for instance if I select a light strip as category and brightness as capabilities it will work and display this in ewe cube, for other, i have not had much success. Where can I find how these are matched?

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/a/a3bc1d3dc8b477b76067f2865ba81823e9c57e5c.png)

---

<div class="post-metadata">

**Author:** ![john.e.dixon](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/john.e.dixon/32/1626_2.png) [@john.e.dixon](https://forum.ewelink.cc/u/john.e.dixon)\
**Post date:** [April 6, 2026, 8:47pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/2 "2026-04-06T20:47:05Z")

</div>

> [@vaetusromeo](#):
>
> however it is very unclear what header and payload types are required based on the existing Category and Capabilities

I presume you use the API documentation [here](https://ewelink.cc/ewelink-cube/introduce-open-api/document/#elementor-toc__heading-anchor-29), but I agree these are not clearly specified.  
You may find interesting some earlier threads on this theme

> [@Virtual device on 2.8.1](https://forum.ewelink.cc/t/virtual-device-on-2-8-1/206844):
>
> Now that iHost 2.8.1. is stable its good to see the new Matter bridged devices like Light Sensor, Smoke Alarm and Air Quality. I’ve created an Air Quality virtual sensor to show pm2.5 with no problem but as there’s no API documentation on this I’m struggling to configure how to indicate Air Quality level on a device tile (here Smartthings) i.e. here shown as Unknown, but should be “Good”, “Fair” etc I’ve tried the permission and Settings as variations on { “capability”: “a…

> [@Wind-Speed Capability](https://forum.ewelink.cc/t/wind-speed-capability/81196):
>
> I was just going through the eWeLink open API 2 and there is a “wind-speed” capability but there isn’t in the Register Device node. I am wondering if wind-speed is missing from the list as wind-direction is the next capability in both the eWeLink Cube API 2 and the Register Device Node.

> [@Control Device Node has no Actions in 2.3](https://forum.ewelink.cc/t/control-device-node-has-no-actions-in-2-3/77338):
>
> I just updated to 2.3, which forced me to also update the eWeLink Cube Palette in Node Red and it doesn’t matter what device I select it has no actions. There’s a new section in the register device node about permissions and there is a JavaScript settings bit. I thought I was messing up the code but have realised if I attempt to control any real device using the Control Device section I also see no Actions. The Help section of the register device section hasn’t been updated to say anything abo…

but I haven’t tried with energy devices and at this moment I don’t have time but will get back if I can.

---

<div class="post-metadata">

**Author:** ![vaetusromeo](https://avatars.discourse-cdn.com/v4/letter/v/d6d6ee/32.png) [@vaetusromeo](https://forum.ewelink.cc/u/vaetusromeo)\
**Post date:** [April 7, 2026, 5:13am UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/3 "2026-04-07T05:13:12Z")

</div>

Thanks John!

I did read all I could find on the forum and documentation-but it seems obsolete 🤷‍♂️

I did finally managed to get around it and have it reported as battery, but it’s useless as I can’t create scenes (which was one of my intentions), I can however create node red flows.

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/a/a9eea017571e9a3070ee531b6f84830f0544775c.png)

If you do want to go my route, you would need to bring up such values (which is quite easy via mqtt) and use them in scenes, I could only make them work if they are reported as temperature or humidity - I also tried as brightness (since sonoff devices have dimmer, but this doesn’t work, perhaps there are others)

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/3/3c745d62fadbd70810744223cfbd47b4acd01a80.png)

One strange thing (why I said documentation might be obsolete), when I tried to use “temperature”, no matter what I selected as registered-device, it would always give me “invalid parameters” when I was trying to put-device-state. Worked with “humidity”

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/6/6c33acc0a36f7576afa4b536b38ed29718874aeb.png)

---

<div class="post-metadata">

**Author:** ![SuiKa](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/suika/32/8656_2.png) [@SuiKa](https://forum.ewelink.cc/u/SuiKa)\
**Post date:** [April 7, 2026, 12:42pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/4 "2026-04-07T12:42:49Z")

</div>

To help us resolve the issue, we would need the following information from you:

1. What kind of **virtual device** are you trying to sync, and what kind of scenario or functionality are you trying to achieve?
2. When you mentioned **“invalid parameters”** , which specific parameter were you referring to?

If convenient, you may also export your **Flow** and share it with us. We will try to reproduce the issue on our side and work on a solution for you.

---

<div class="post-metadata">

**Author:** ![vaetusromeo](https://avatars.discourse-cdn.com/v4/letter/v/d6d6ee/32.png) [@vaetusromeo](https://forum.ewelink.cc/u/vaetusromeo)\
**Post date:** [April 7, 2026, 7:54pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/5 "2026-04-07T19:54:44Z")

</div>

Hi SuiKa,

I have Node-red setup on my Victron equipment, which transmits battery SoC via mqtt broker (mqtt broker is setup on iHost in case this matters).

This gets into iHost node red instance as below number (there is also limit messages/minute function after, I will not include this as it should not matter)

![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/8/833a5efdd376b998176bb38f93613081f60e54b5.png)

I then use a function to convert this number to string

![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/1/17d480697046a5e7efca571c00587f164ac4e068.png)

Next I use another function to round the string to integer and convert to json object so it’s being read by put-device-state

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/e/e747dfa0d939ee89e71f23e336ac7ca8dbfbcc97.png)

Finally, put-device-state registers this value (don’t know why payload appears “empty” in debug) to the device registered in iHost

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/1/114c6c94d89ed096082a9a402cd7135fce69b99f.png)

This is what is configured in register-device

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/1/12267b9f7328461ce5dde0d5de3ee92703af4e1b.png)

Finally, all of this works and I see the device in iHost and shows correct value.

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/0/0dae6c495193958d70d93ad4d595e13de5b4a0b7.png)

End-to-end flow

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/b/b0427dec9ce1cf3c64d146dbd71c6b916e094bfa.png)

I have tried to reproduce the error from yesterday, but it’s not there anymore. Now it works with both “temperature” and “humidity”… very strange, but happy it works.

When creating a new device with register-device, does Category influence Capabilities, or the other way around?  
After playing around tonight trying to recreate the issue, seems it does not matter, only matters that data send via put-device-state matches the Capabilities

---

<div class="post-metadata">

**Author:** ![vaetusromeo](https://avatars.discourse-cdn.com/v4/letter/v/d6d6ee/32.png) [@vaetusromeo](https://forum.ewelink.cc/u/vaetusromeo)\
**Post date:** [April 7, 2026, 9:41pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/6 "2026-04-07T21:41:15Z")

</div>

Update: I am unable to find a way to capture power…

Based on above flow, I was trying to create a virtual device to display power (w).

I have setup an Switch with Electric Power as Capabilities

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/c/c7406832ceca039338bf46f77f9d2d794578a7e1.png)

When trying to use put-device-state, i get the parameter error

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/4/40709aa71f3cbdb002b02ad4d864d9e318f5ed84.png)

What device Category and what Capabilities should be used for electricPower, or any of the others?? I have tried them all.

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/3/34481c515575417228ede4443c6a63a4861279a8.png)

---

<div class="post-metadata">

**Author:** ![SuiKa](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/suika/32/8656_2.png) [@SuiKa](https://forum.ewelink.cc/u/SuiKa)\
**Post date:** [April 8, 2026, 7:55am UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/7 "2026-04-08T07:55:10Z")

</div>

> [@vaetusromeo](#):
>
> When creating a new device with register-device, does Category influence Capabilities, or the other way around?

There is no fixed mapping or combination relationship between **Category** and **Capabilities**. You may use any **Category** together with any **Capabilities** to create a virtual device.

> [@vaetusromeo](#):
>
> What device Category and what Capabilities should be used for electricPower, or any of the others?? I have tried them all.

The **electricPower** capability should be written as **electric-power** , like this:

```js
msg.payload = {
    'electric-power': {
        'electric-power': value
    }
}

```

---

<div class="post-metadata">

**Author:** ![vaetusromeo](https://avatars.discourse-cdn.com/v4/letter/v/d6d6ee/32.png) [@vaetusromeo](https://forum.ewelink.cc/u/vaetusromeo)\
**Post date:** [April 9, 2026, 5:39am UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/8 "2026-04-09T05:39:33Z")

</div>

Thank you!

Unbelievable how now it works…. i tried electric-power before as well as the without hyphen or the others from API documentation.

I now believe there may be something unstable with my setup. It’s the second time something works or works differently than previous day.

Quick side note - the put function only accepts integer numbers and there is no way, that I found to send with decimal places although documentation shows decimal places…

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/2/226c5981834434fa319a564ddd8b99f2da41c5c4.png)

So a value of 50 like in the example, it will show are 0.5W, not 50W. To solve this I am multiplying the arsed value by 100 before being sent.

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/9/9b97c803133939b56f17cc65ca5ef7e72214e4c4.png)

So it’s showing 193000 instead of 1930

But it is displayed correctly in iHost

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/6/6159f2443e8256488783a40812e21a5f8ff92dab.png)

Now if there would only be a way to bring these iHost devices to eWelink app, that would be great 😃

I tried this, but didn’t work ☹[https://www.youtube.com/watch?v=CwgnMTcWVaE](https://www.youtube.com/watch?v=CwgnMTcWVaE)

---

<div class="post-metadata">

**Author:** ![SuiKa](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/suika/32/8656_2.png) [@SuiKa](https://forum.ewelink.cc/u/SuiKa)\
**Post date:** [April 9, 2026, 8:25am UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/9 "2026-04-09T08:25:36Z")

</div>

Congratulations on finally getting the device added successfully!

We do not and will not provide a way to sync **iHost** devices directly to the **eWeLink app**. We sincerely apologize for that.

However, it is possible to sync the devices to the **eWeLink app** through **Matter**. To make this work, you will need a **hub** (such as **NSPanel Pro** or **ZBBridge-U** ) to act as a matter hub, and then use the **Matter Bridge** feature on **iHost** to sync the devices out.

---

<div class="post-metadata">

**Author:** ![Jojkoba](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/jojkoba/32/8490_2.png) [@Jojkoba](https://forum.ewelink.cc/u/Jojkoba)\
**Post date:** [April 9, 2026, 10:14am UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/10 "2026-04-09T10:14:47Z")

</div>

Hi, I am doing a detailed thing but for Huawei inverter Sun-2000.

---

<div class="post-metadata">

**Author:** ![vaetusromeo](https://avatars.discourse-cdn.com/v4/letter/v/d6d6ee/32.png) [@vaetusromeo](https://forum.ewelink.cc/u/vaetusromeo)\
**Post date:** [April 9, 2026, 12:26pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/11 "2026-04-09T12:26:36Z")

</div>

Great, I will give it a shot, as I have a NSPanel.

Should I sync the “virtual” devices from iHost to NSPanel and from NSPanel share them via Matter bridge? Is there a tutorial I can look into?

Thanks!

---

<div class="post-metadata">

**Author:** ![vaetusromeo](https://avatars.discourse-cdn.com/v4/letter/v/d6d6ee/32.png) [@vaetusromeo](https://forum.ewelink.cc/u/vaetusromeo)\
**Post date:** [April 9, 2026, 12:34pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/12 "2026-04-09T12:34:02Z")

</div>

Let’s sync on that if you want. I also use huawei, but only as a “dumb” device and use Victron’s smart meter to capture production (since they can’t integrate like it works with Fornius), alternatively can use Shelly as it also works with node-red if i’m not mistaken.

I will post a guide of what I have done so it’s clear and “easy” if other people are interested in repeating my general setup.

It’s super nice to finally bring PV generation in eWelink and do consumption automations with Sonoff 😃

---

<div class="post-metadata">

**Author:** ![Jojkoba](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/jojkoba/32/8490_2.png) [@Jojkoba](https://forum.ewelink.cc/u/Jojkoba)\
**Post date:** [April 9, 2026, 1:50pm UTC](https://forum.ewelink.cc/t/register-device-node-category-and-capabilities-what-payload/208121/13 "2026-04-09T13:50:25Z")

</div>

I found a way to connect the inverter to the iHost.
