ControllerX. Bring full functionality to light and media player controllers

Hi @ZJAVA,

ControllerX is designed since the beginning to add support to new devices fairly easily. However, I do not have this controller, so I will need to know which integration you are using (z2, deconz or zha) and then I would also need what are the events that the controller triggers when pressing, holding and releasing the buttons. This way, I will be able to give it full functionality.

I would appreciate if you can create an issue on GitHub Issues. This is the template to add support to new devices.

Thanks :slight_smile:

Hi Xavi,

Thank you for your reply.

Yes this happens when I press the middle button but also when I press the ‘on’ button on the E1743 remote (both working via deconz)

the bulb I am using is the Tradfri 400lm E14 WS 1745 (it may be old as I cant find it on the website anymore).

the other weird thing is I can turn it on and off, adjust the brightness, but I cant control the colour temp using the left and right buttons. Could it just be due to it being an old bulb?

here is what I have in my app.yaml

guestroom_controller:
  module: controllerx
  class: E1810Controller
  controller: multi_switch
  integration: deconz
  light: light.bedside_1

elsbeths_controller:
  module: controllerx
  class: E1743Controller
  controller: elsbeths_dimmer
  integration: deconz
  light: light.bedside_2

if I use the light.toggle service through the dev tools the light will initially turn on at its lowest setting but within 0.5 sec it adjusts to the last brightness (something I had never noticed before)

hope this helps and thank you for your work and help.

Robin

Forgive me if this is a silly question, though, with deconz is it possible to say use the on/off functions of a remote to trigger a switch?

say I wanted the E1743controller to have

  • 1002 🠖 Click “I” - turn on a switch
  • 2002 🠖 Click “O” - turn off a switch
  • 1001 🠖 Hold “I” - increase the brightness of a light
  • 2001 🠖 Hold “O” - decrease the brightness of a light

as I understand I would need to create two items in the apps.yaml file one for the switch only and one for the light only. I’ve tried this and the switch wont work. is it just not suposed to do this? or am I doing it wrong? (i suspect the latter :wink: ) .

Request added to GitHub. :slight_smile:

@Rdoull - yes, you are correct, you can use as many different devices as you have buttons controller actions! :smile:

You do need two separate configs, each with either include or exclude the actions or custom controllers.

Can you post your configs to review?

v2.5.0 is now released :partying_face:

This minor change does not contain breaking changes.

:pencil2: Features

  • Add SwitchController as a new type of Controller (#66) @Crocmagnon
  • Add CustomSwitchController

:wrench: Refactor

  • Improve Docs: add specific default mapping to all device pages
  • Improve tests and development environment
  • Add typing and style checkers
  • Add logging about the call services that ControllerX does to HA

:hammer: Fixes

  • Reverting deCONZ events for Symfonisk controller for media player (left: 300X; right: 200X)
  • Fix for #69

:video_game: New devices

  • Support for Aqara Opple 3 band (z2m) (#68)
  • Support for E1743 for switches (z2m, deconz, zha) (#66) @Crocmagnon
1 Like

v2.6.0 is now released :partying_face:

This minor change does not contain breaking changes.

:pencil2: Features

  • Add CoverController as a new type of Controller (#71)

:video_game: New devices

  • Support for E1743 for Cover (z2m, deconz, zha)
  • Support for E1766 for Light, Switch and Cover (deconz) (#71)
1 Like

@xaviml Would it be possible to support the lutron aurora in the next update? i’m using deconz and captured the event id’s

1 click =1002
Right turn = 2002
Left turn = 3002

1 Like

Hi @cooldude204,

I see that this controller supports right and left turn. I have, however, a couple of questions to fully integrate this controller with its entire functionality.

  • Does it also send an event id when the button is hold and released?
  • Does it also send an event id when it stops the rotation?

Thanks :slight_smile:

it does not send a stop rotation event and hold and realease event just the the events i sent before and thanks for the quick reply :slight_smile: also the device model name is Z3-1BRL if you needed for the class

1 Like

Hi

I am missing something here? I am super keen to test your add on but I cannot find it to install it.

I am running HA latest 109.3
I installed Appdaemon 4 via the add-ons store in HA Supervisor

Logs from App Daemon

2020-05-03 08:42:46.300336 INFO hello_world: Hello from AppDaemon
2020-05-03 08:42:46.301022 INFO hello_world: You are now ready to run Apps!
2020-05-03 08:48:59.527430 INFO AppDaemon: New client Admin Browser connected
2020-05-03 08:49:04.785864 INFO AppDaemon: Unexpected client disconnection from Admin Browser

I am running HACS v 24.3

I have searched for ControllerX via the HACS Integrations, Plugins and Themes and cannot find it., I have looked in the HA add-ons too.,

I have read over your instructions here https://xaviml.github.io/controllerx/start/installation and no dice.

Hoping you can help. Thanks in advance :slight_smile:

For hacs to find it, you need to add the appdaemon categorie :

hacs:
  token: xxxxx
  appdaemon: true

Thanks so much Francis :slight_smile: Do I add this to my cofuguration.yaml file in HA?

Also I assume the token is a webhook one?

I am new to this, sorry!

If you have hacs already installed, you can leave the token (it is your github token, but if you used the integration installing hacs, hacs knows it already)

Yes, in configuration.yaml

2 Likes

Thanks @francisp for the explanation. And sorry @bdb1, I will be adding this into the docs, so people don’t get lost in this step.

1 Like

Thanks to you both for the super quick responses… I am currently struggling to remove and re-add HACS but when I delete it and restart HA it come back! Now I cannot open HACS as I don’t have a link.

1 Like

Update. Just managed to reinstall HACS and installed Controller X! Will advise my luck.
Thanks again guys.

1 Like

OK so super excited I got it! I have another more technical question now, hopefully this is possible.

I have a few 6 button WXCJKG13LM (Aqara) https://xaviml.github.io/controllerx/controllers/WXCJKG13LM

While I might want to add dimming later I sim ply want to control 6 different lights. 1 with each button. a simple toggle will be fine. I will be using Z2M

button 1 toggle light.light1
button 2 toggle lightt.light2
and so on.

I imagine I will use the custom controllers. Can you give me a pointer so I can get started?

Thanks again guys.

Hi @bdb1,

I am glad you got it working. In order to configure what you want, you need to understand that each controllerX does not allow to add more than one light. This is because ControllerX is designed to give a default behaviour to one controller acting to one light. Maybe one day I will change this and I will give support to do what you want in just one configuration. For the moment, you will need to add one configuration per light, so here is a template you can use:

example_app_light_1:
	module: controllerx
	class: CustomLightController
	controller: sensor.your_controller_sensor
	integration: z2m
	light: light.light1
	mapping:
		button_1_single: toggle

example_app_light_2:
	module: controllerx
	class: CustomLightController
	controller: sensor.your_controller_sensor
	integration: z2m
	light: light.light2
	mapping:
		button_2_single: toggle

example_app_light_3:
	module: controllerx
	class: CustomLightController
	controller: sensor.your_controller_sensor
	integration: z2m
	light: light.light3
	mapping:
		button_3_single: toggle

example_app_light_4:
	module: controllerx
	class: CustomLightController
	controller: sensor.your_controller_sensor
	integration: z2m
	light: light.light4
	mapping:
		button_4_single: toggle

example_app_light_5:
	module: controllerx
	class: CustomLightController
	controller: sensor.your_controller_sensor
	integration: z2m
	light: light.light5
	mapping:
		button_5_single: toggle

example_app_light_6:
	module: controllerx
	class: CustomLightController
	controller: sensor.your_controller_sensor
	integration: z2m
	light: light.light6
	mapping:
		button_6_single: toggle

This would only toggle each light. If each light supports brightness, you could do add the following to the mapping attribute:

...
mapping:
    button_X_single: toggle
    button_X_hold: hold_brightness_toggle
    button_X_release: release

The hold_brightness_toggle dims and brighten the light and change the direction each turn. You can read more about custom controllers in here.

I hope this helps :slight_smile:

1 Like

Also @bdb1, could you confirm to me that the WXCJKG13LM controller also fires a triple action with z2m? Thank you.

1 Like