Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

E2201 RODRET Status Error #18347

Open
derDeno opened this issue Jul 17, 2023 · 35 comments
Open

E2201 RODRET Status Error #18347

derDeno opened this issue Jul 17, 2023 · 35 comments
Labels
problem Something isn't working

Comments

@derDeno
Copy link

derDeno commented Jul 17, 2023

What happened?

The status page returns null for actions and battery.

What did you expect to happen?

Expected to see available actions and battery status

How to reproduce it (minimal and precise)

No response

Zigbee2MQTT version

1.32.1-dev commit: 313865b

Adapter firmware version

20210708

Adapter

SONOFF Zigbee 3.0 USB Dongle Plus, TI CC2652P + CP2102(N)

Debug log

No response

@derDeno derDeno added the problem Something isn't working label Jul 17, 2023
@davidohne
Copy link

davidohne commented Jul 19, 2023

Someone posted an extension in the homeassistant forums: https://community.home-assistant.io/t/ikea-rodret-dimmer-remote-e2201-zha-control-anything/590081/2

Problem: It seems like he copied the extension out of a terminal window and some parts are missing, so the syntax broke. This is the code he added to https://pastebin.com/DuCNMwyA:

The code looks like heavily inspired by this posting, so we can fix it I thin: #15725 (comment)

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 extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;

const definition = {
zigbeeModel: ['RODRET Dimmer'],
        model: 'RODRET',
        description: 'RODRET remote control',
        vendor: 'IKEA',
        fromZigbee: [fz.command_on, fz.command_off],
        exposes: [e.battery().withAccess(ea.STATE_GET), e.action(['brightness_down_click', 'brightn>
            'brightness_down_release', 'brightness_up_click', 'brightness_up_hold', 'brightness_up_>
        toZigbee: [tz.battery_percentage_remaining],
        configure: async (device, coordinatorEndpoint, logger) => {
    const endpoint = device.getEndpoint(1);
    const version = device.softwareBuildID.split('.').map((n) => Number(n));
    const bindTarget = version[0] > 2 || (version[0] == 2 && version[1] > 3) || (version[0] == 2 &&>
        coordinatorEndpoint : 901;
    await endpoint.bind('genOnOff', bindTarget);
    await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
    await reporting.batteryPercentageRemaining(endpoint);
}
};

module.exports = definition;

@Koenkk
Copy link
Owner

Koenkk commented Jul 19, 2023

That the action is always null is expected, see https://www.zigbee2mqtt.io/guide/faq/#why-is-the-action-property-always-empty

Regarding the battery:

Could you check if the issue is fixed with the following external converter: https://gist.github.com/Koenkk/688987a60de3f7bc13fc20b2413b76a1

  • save this as file next to configuration.yaml as ext_converter.js
  • add it to configuration.yaml:
external_converters:
  - ext_converter.js
  • start z2m, check if issue is fixed (make sure that configure succeeds, you can manually trigger it via the z2m frontend -> click on device -> refresh button, if it fails make sure to wakeup the device right before triggering it)

@kcdc80
Copy link

kcdc80 commented Jul 21, 2023

I tried your suggestion. Seems that z2m accepts the remote, but no events seems to be fired in HA when I try to push the buttons.

@Koenkk
Copy link
Owner

Koenkk commented Jul 23, 2023

And the battery part?

@stefanschoemaker
Copy link

By adding the following converter I was able to get the actions. I don't think this is fully right, but it does work:

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 = {
    zigbeeModel: ['RODRET Dimmer'],
    model: 'E2201',
    vendor: 'IKEA',
    description: 'RODRET wireless dimmer/power switch',
    fromZigbee: [fz.battery, fz.command_on, fz.command_off, fz.command_move, fz.command_stop],
    toZigbee: [tz.battery_percentage_remaining],
    exposes: [
        e.battery().withAccess(ea.STATE_GET),
        e.action(['brightness_down_click', 'brightness_down_hold', 'brightness_down_release', 'brightness_up_click', 'brightness_up_hold', 'brightness_up_release']),
    ],
    ota: ota.tradfri,
    configure: async (device, coordinatorEndpoint, logger) => {
        const endpoint = device.getEndpoint(1);
        const binds = ['genOnOff', 'genLevelCtrl', 'genPollCtrl', 'genPowerCfg'];
        await reporting.bind(endpoint, coordinatorEndpoint, binds);
        await reporting.batteryPercentageRemaining(endpoint);
    },
};

module.exports = definition;

@coolspot18
Copy link

coolspot18 commented Aug 2, 2023

I updated to the latest version of Z2M [1.32.2] and the E2201 is now recognized but not responding to any button presses.

I also ran the little JSON snippet from the Wiki to unbind the device - still no luck.

Also I noticed no button events are exposed?

Any ideas?

UPDATE: Remote seems to work now with the latest HA update.

@bogd
Copy link

bogd commented Aug 7, 2023

This is very strange... I just downloaded the most recent version of koenkk/zigbee2mqtt:latest (f7a8b612ea8c). And while the device does show up under the correct name (RODRET Dimmer), it also shows up as "unsupported".

I am not using any custom converters. Based on #18381 , the device should have been supported in the latest version. And it is confusing to me to see people here reporting that it works for them.

Is there anything else I need to do in order to get the device to work?

[Edit - it did eventually show up after a HAss update, another restart of Z2M, and a repairing. Not sure if all the steps were actually required, but it does work now :) ]

@Shellfishgene
Copy link

Shellfishgene commented Aug 8, 2023

My Rodret paired fine, all values look normal, except the "action" does not change when I press the buttons. This is with version 1.32.2. Home Assistant also does not get any button presses.

@bogd
Copy link

bogd commented Aug 10, 2023

My Rodret paired fine, all values look normal, except the "action" does not change when I press the buttons. This is with version 1.32.2. Home Assistant also does not get any button presses.

Maybe a silly question, but could it be this?

Do any actions show up in the Zigbee2MQTT logs when you press buttons? (go to Z2M/Logs, and filter by your device name in the "filter by text" box - then try pressing some buttons)

With my unit, I see the actions in the logs (on/off, brightness_move_up/down).

Also, I have to ask - how do I figure out my Z2M version? (Edit: never mind, I found it hiding under Settings/About :) )

@Shellfishgene
Copy link

My Rodret paired fine, all values look normal, except the "action" does not change when I press the buttons. This is with version 1.32.2. Home Assistant also does not get any button presses.

Maybe a silly question, but could it be this?

Do any actions show up in the Zigbee2MQTT logs when you press buttons? (go to Z2M/Logs, and filter by your device name in the "filter by text" box - then try pressing some buttons)

No, nothing in the logs. With all my other IKEA remotes I see the action in the z2m interface change, even if it goes back immidiately.

@github-actions
Copy link
Contributor

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

@github-actions github-actions bot added the stale Stale issues label Sep 11, 2023
@basvdl
Copy link

basvdl commented Sep 12, 2023

I had the same issue. In most of the cases the binds were not set correctly after pairing the device. After restarting a couple of times, repairing multiple times, and some manual bind / unbind operations, it finally worked out for me.

image image

@github-actions github-actions bot removed the stale Stale issues label Sep 13, 2023
@github-actions
Copy link
Contributor

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

@github-actions github-actions bot added the stale Stale issues label Oct 13, 2023
@SpeedBlack
Copy link

Hello all,
I have the same problem (I tried the external converter without success).
Do you have any idea ? This problem is not solve ?

Thanks & regards,

@Shellfishgene
Copy link

I deleted and rejoined the Rodret with the current version of z2m, and now it works as expected.

@github-actions github-actions bot removed the stale Stale issues label Oct 18, 2023
@bogd
Copy link

bogd commented Oct 26, 2023

Strangely enough, I am now seeing the same issue @Shellfishgene mentioned.

I now have 3 Rodret remotes, all successfully paired to Z2M. For one of them, I see no action in the logs when pressing buttons. I see the device_announce message when resetting it, but that is it. Even after reconfiguring, or deleting and re-pairing the remote, I see the same behavior

Even more strangely:

  • the other two remotes work just fine, only one of them has the issue
  • If I pair the remote to another system (HA with SkyConnect), the actions are seen just fine. So the problem seems to be limited to Z2M, and intermittent

@LoQue90
Copy link

LoQue90 commented Oct 31, 2023

Same for me, 3 Rodret, 2 of the work perfectly fine. The third pairs, but no actions or battery satus.

@onimoschta
Copy link

I'm going to tell you how i did it:

pairing the device to zigbee2mqtt my Coordinator as "target" just had "genPollCtrl" ticked. (No Action reported while pressing a button, no linkquality shown)
I wanted to bind it directly to a ikea tradfri psu.

so while staying in the bind menu i pressed the pairing button 4 times to get it to pair.
while it started blinking i immediately added the "LevelCtrl" checkbox to the Coordinator and pressed on the blue heart box to "bind" it. i also pressed the pair box for my 2nd pairing TARGET (tradfri psu) with the checkbox "OnOff" ticked.
i prepared both target settings before i pressed the blue heart "bind" box.
you need to press them both fast when you get the rodret remote into pairing mode.

It worked this way, cause the pairing window is like 10 seconds after the rodret led starts lighting up.

@tristaoeast
Copy link

I´m having the same issue, only managed to get the actions to work once, and it seemed pretty random, never managed to get it working again

@tristaoeast
Copy link

I'm going to tell you how i did it:

pairing the device to zigbee2mqtt my Coordinator as "target" just had "genPollCtrl" ticked. (No Action reported while pressing a button, no linkquality shown) I wanted to bind it directly to a ikea tradfri psu.

so while staying in the bind menu i pressed the pairing button 4 times to get it to pair. while it started blinking i immediately added the "LevelCtrl" checkbox to the Coordinator and pressed on the blue heart box to "bind" it. i also pressed the pair box for my 2nd pairing TARGET (tradfri psu) with the checkbox "OnOff" ticked. i prepared both target settings before i pressed the blue heart "bind" box. you need to press them both fast when you get the rodret remote into pairing mode.

It worked this way, cause the pairing window is like 10 seconds after the rodret led starts lighting up.

I´m not sure I understand the procedure you described there: how can you be in the bind menu if you are pairing it to a different router (the tardfri psu)?

@tristaoeast
Copy link

Strangely enough, I am now seeing the same issue @Shellfishgene mentioned.

I now have 3 Rodret remotes, all successfully paired to Z2M. For one of them, I see no action in the logs when pressing buttons. I see the device_announce message when resetting it, but that is it. Even after reconfiguring, or deleting and re-pairing the remote, I see the same behavior

Even more strangely:

  • the other two remotes work just fine, only one of them has the issue
  • If I pair the remote to another system (HA with SkyConnect), the actions are seen just fine. So the problem seems to be limited to Z2M, and intermittent

I´m feeling tempted to get a SkyConnect

@jschlyter
Copy link

I just tried adding two Rodret (E2201) devices with Z2M v1.34.0 coordinator zStack3x0 revision 20220219. They do pair and interview succeeds, but they do not respond once paired (no events emitted on button presses and bind operations fail).

@jschlyter
Copy link

I just tried adding two Rodret (E2201) devices with Z2M v1.34.0 coordinator zStack3x0 revision 20220219. They do pair and interview succeeds, but they do not respond once paired (no events emitted on button presses and bind operations fail).

… and with the latest release (1.35.0), it now pairs as well as works (but required a re-interview after first pair)

@wiiNinja
Copy link

wiiNinja commented Feb 21, 2024

The device just seems flaky. The first two times after pairing, I could not get the action to work, but after the third time, the action seems to work reliably now (well at least for the last few hours). Will see if that is now a permanent condition.

Edit: The original one just works flawlessly after that. Then I got another one; the second one paired correctly the first time and also works without a hitch.

@Tortur3
Copy link

Tortur3 commented Mar 14, 2024

No button-events might be the reason of an incomplete pairing of the device, which is a bit tricky when you dont know the process:

Pairing the device with the zigbee controller (after pressing the button on the ikea device 4 times quickly) is only half the work that has to be done.

In the 2nd step you have to trigger the configuration in the zigbee-device and then hold the ikea-button for 10 seconds.

After that everything should be fine.

@bogd
Copy link

bogd commented Mar 21, 2024

@Tortur3 - where is this documented?

Editing to clarify - I am asking because this would be the first IKEA (or zigbee) device that requires such additional steps. Out of 100+ that I have seen so far. And neither the device manual nor the Z2M page for the device mention it.

Also, when you say "trigger the configuration in the zigbee-device" are you actually referring to the "reconfigure" button under the device page in Z2M?

@splizz1st
Copy link

@Tortur3 it would be very helpful to get answers for the questions from @bogd !

@bogd or did you get the rodret working?

@bogd
Copy link

bogd commented Apr 25, 2024

@splizz1st - I was never able to get the RODRET to work reliably with Z2M, so I just gave up (I still have a large collection of the "old" Ikea on/off switches, which work just fine, so I kept using those). Even when the RODRET was connected and I could see the actions, it would just stop working after a while.

I assume the problems will eventually be fixed, so I just wait until that happens :)

Please keep in mind that I haven't tested the device in a couple of months by now, so the problems might have already been fixed.

@splizz1st
Copy link

@bogd oh thanks for the feedback, I've only just seen it. I've had the same experience and have had enough of the old Ikea switches ;-). But of course RODRET would be nice.

@paolapersico1
Copy link

My experience: one of my RODRET worked well while I had problems with another one, which didn't report the button presses.
I have tried several times repairing and cluster binding (I noticed that the working device had the "LevelCtrl", "OnOff", "genPollCtrl", and "PowerCfg" boxes checked, while the one which didn't work only the "genPollCtrl"), and so on. Nothing worked.

Since the RODRET I bought came from a kit with an IKEA bulb, I decided to pair it directly to the bulb, and when I paired it by following the instructions - by pressing the internal button for ten seconds at a close distance from the bulb - to my surprise it also started working in Z2M: I can see the actions and the battery level.

Not sure why the same 10-seconds button press didn't work when RODRET was close to the coordinator instead of the bulb, but I thought this could help somebody.

@fuomag9
Copy link

fuomag9 commented Aug 31, 2024

Turning "LevelCtrl", "OnOff", "genPollCtrl", and "PowerCfg" seems to have made it pair as well, "LevelCtrl" does error out tho

@Xiobe
Copy link

Xiobe commented Nov 22, 2024

I had an issue pairing them too. When going through the IKEA manual I read that the reset sequence was to quickly press the pairing button 4 times within 5 seconds was. When I tried that, I was able to pair them without any issue.

@yarafie
Copy link

yarafie commented Dec 3, 2024

Just to share with all

My setup
Z2M 1.42.0 latest as of today
SLZB-06 Zigbee Coordinator
CPU Model: CC2652P-ESP32-D0WD-V3
Firmware version: 20240710 v2.5.8
IKEA RODRET Dimmer E2202-W2402 (Came in package with a Tradfri Bulb)

I was able to pair succesfully in z2m using the 4 quick presses and binded with z2m with below binds that showed up
LevelCtrl, OnOff, genPollCtrl, PowerCfg
Everything seemed to be exposed and worked (identify, battery, linkquality)
However no actions were logged when pressing the buttons.

I repeated the pairing above a few times. Sometimes removing the RODRET Completly from Z2M other times just re-pairing, sometimes removing the battery and waiting 10 minutes and retrying, always with the exact same results.

After reading some of the comments above, and with the RODRET already paired with Z2m I then did the 10 second push, I happened to be close to an IKEA Tradfri bulb already installed and and the bulb flashed. All Actions were now working and showing in Z2M and the bulb was being controlled by the RODRET.

I'm using Home Assistant and spun off an Automation to control another light. Automation did work to control that light but it was also controlling the IKEA Tradfri Bulb.

So although this may be considered a success however its still controlling the Ikea Tradfri bulb along with whatever is put in the HA Automation.

@wapolinar
Copy link

Just to add my experience here:
Z2M 1.42.0
SLZB-06 Coordinator
IKEA RODRET E2201 that came in a package with the E2204 TRETAKT power plug

My goal was to pair it only to the coordinator, not to the power plug since I do not want to use them together at all.

At first I had the issue that the E2201 did pair (4x quick presses on connect button near the battery), but left the network immediately. I fixed that by using a new battery instead of a rechargeable one.

Then, the device was paired, but no action was logged. Just by accident, I was able to start an (very slow, > 200 minutes long) OTA update which surprisingly succeeded directly after I successfully (re-)paired the device.

I was not able to bind the device to the coordinator by holding the button of the paired E2201 for 10 seconds and clicking the bind button for LevelCtrl, OnOff and genPollCtrl. But after my experience with the OTA update, I tried the following:
I removed the device from z2m and then paired it again. As soon as it was paired, I switch to the bind tab, selected the following checkboxes and clicked "bind" (bind was to the coordinator, of course):

image

Then, the bind was successful and finally the actions showed up in the mqtt log (and can be used to control something).

@TB31388
Copy link

TB31388 commented Feb 2, 2025

Any news on this. I have had the same problem and not been able to get any of the suggestions to work. I bought my E2201 as a stand alone product.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
problem Something isn't working
Projects
None yet
Development

No branches or pull requests