ControllerX. Bring full functionality to light and media player controllers

Hi @xaviml and thanks for getting back to me so quickly!

I knew it was something to do with that as you explicitly said it should be in automations and it was showing under frontend… Still dont know what thats about!

There is no folder in that directory called controllerx. What should I do to rectify this?

Cheers

Phill

I would recommend you either of this:

  • Reinstall HACS
  • Install ControllerX manually as described in the Installation page: Installation | ControllerX. You might need to do this with either Samba integration or the terminal one.

Ill give that a go and let you know.

Thanks for your help so far! Its much appreciated!

Cheers

Phill

I can verify that my E1766 does indeed send commands via mqtt. I use MQTT Explorer to monitor activity, and can clearly see the “action” command being send.

However i have since found out that not all entites are “shown” for my covers. Not sure how to fix that. As you can see below the “cover” entity is now present, and i can not control my blinds any more. When i add the covers to a lovelace widget i am unable to control them. But when i chen in zigbee2mqtt controlpanle i can control them just fine there.

Entity view:

Zigbee2mqtt view:

LL view:
image

Hi @wessller,

Could you please send the z2m and appdaemon logs when the button is pressed? Which is the configuration is giving you problems? gardinh this one?

Regards,

I found out i needed to update my Zigbee2mqtt. I missed the fact that a new Repo had been announced:
Will try this first.

Found the solution here:

1 Like

You beauty @xaviml thats worked a treat! Its exactly what I was after… now to configure all the other switches!!

One thing and I dont know if this is my issue but I hear my controller isnt that great. Sometimes it misses the input from the remote and I have to click it a few times. Is this normal if its pressed too many times?

Either way its great, thank you for the help. I knew it had to be something simple!

Cheers

Phill

Hi Phil,

Glad that it worked!

I have the same controllers as you and I do not have any problems with them. Do you see the inputs also missing in the zigbee2mqtt logs?

Regards,

Thanks @xaviml

I have walked about a bit and it seems the controller signal is very weak. I think I may have to invest in one with a stronger signal!

All the best and thanks again! Im so happy this has worked!!

Cheers

Phill

1 Like

Hello, this plugin looks like a nice solution to keep my IKEA controllers in a simple to understand environment. As I have limited controllers on my walls, I would love to use the buttons as extensively as possible. I might be missing something, but I don’t understand how I can configure one of the buttons on the controller to turn on/off a lights with a press, and dim/brighten the same light, if the same button is held down. Is this possible to do? This way I could control at least four lights with one E1524/E1810 controller.

Hi @jacobtc,

Yes, this is possible. ControllerX offers a default mapping for the controllers, but they can be override with mapping or merge_mapping atrributes. You can have a look to custom mapping: Custom mapping | ControllerX

What you need is:

  • pressing: toggle action
  • hold: hold_brightness_toggle
  • release: release

You might need to define different configs for each light.

If you are still confused by this, I can show yu a dummy example similar for what you want.

Regards,
Xavi M.

Okay, so something like this would work, as it uses the same button:

light1_controller:
  module: controllerx
  class: LightController
  controller: e1810_controller
  integration: deconz
  light: light.light1example
  mapping:
    2002: toggle
    2001: hold_brightness_toggle
    2003: release

I’m not currently home at the moment, so I can’t test. I just want to wrap my head around it, before I go and change out my current way of doing it.

Hi @jacobtc,

Correct, that would be for the brightness up button. You can use the same structure for other buttons and lights.

Note that the hold_brightness_toggle will swap directions everytime you hold the button, so you can dim up and down.

Regards,
Xavi M.

Thanks,

So the “mapping” function disables all other buttons, keeping only the defined ones, while “merge_mapping” also keeps the undefined buttons as their default action?

It would be awesome to have something like this:

lights_office:
module: controllerx
class: LightController
controller: e1810_controller_office
integration: deconz
light:
light.light1example
light.light2example
mapping:
light.light1example:
2002: toggle
2001: hold_brightness_toggle
2003: release
light.light2example:
3002: toggle
3001: hold_brightness_toggle
3003: release

Formatting doesn’t seem to work properly, but having the ability to define a series of lights for the same controller, and mapping each light to a button on it.

Right now I have to do the whole:

lights_office:
module: controllerx
class: LightController
controller: e1810_controller_office
integration: deconz

For each light, right?

Hi @xaviml

Another quick question. Should I be able to control one light with two separate ikea remotes? I have configured them separately using the same entity. One works (the original) but the second doesnt. Not sure I have done anything wrong so just checking this should work first.

Cheers
Phill

Another question from me as well! How does this integrate into Home Assistant, if I need to expand the automation… Lets say I want my lights to function at normal brightness levels in the day, but only output 25% brightness in the evening when turned on?

Sorry I’m new to this, so I’m still figuring this stuff out :smiley:

EDIT: I’m guessing that I can set all lamps to 25% after 10PM, and turn them off a second after, this would allow for the lamps to maintain that brightness when I toggle them on again, however this would also turn off all lights. I could create a condition which checks if the light is on, and not turn it off, so I actually have two automations, one for already off lights, and one for lights that are on. Is this the best way of doing this?

Hello,
First of all, what a great job @xaviml did with this automation. Bravo!
I have a problem with setting up E1743 controller with merge_mapping. First I tried to add multiclicking( I don’t know if that’s possible with this controller) so when I failed to do that I tried to assigned merge_mapping to E1743 controller but when I do that, not just merge_mapping commands are not working, but also default commands are not working also.
Here is my work:

bedroom_light:
  module: controllerx
  class: E1743Controller
  controller: 84:fd:27:ff:fe:35:ee:34
  integration: zha
  light: light.bedroom_lights
  merge_mapping:
    move_with_on_off_0_83:
      -service: script.bedroom_led
    move_1_83:
      -service: script.bedroom_led_off

Also I tried multiclicking with this code:

bedroom_light:
  module: controllerx
  class: E1743Controller
  controller: 84:fd:27:ff:fe:35:ee:34
  integration: zha
  light: light.bedroom_lights
  multiple_click_delay: 500
  merge_mapping:
    "on$2":
      -service: light.turn_off
      data:
        entity_id: light.bedroom_led
    "off$2":
      -service: light.turn_off
      data:
        entity_id: light.bedroom_led

Please help!

@Spaka

I’m not sure, but dont you need a space between “-” and “service” so

-service: light.turn_off

becomes

- service: light.turn_off

Tried putting space between but still not working

The “-” shouldn’t be there!

It should look like this:

      4002: 
        service: script.rollladen_on
      3004:
        service: switch.turn_off
        entity_id: switch.dachbodenlicht