ControllerX. Bring full functionality to light and media player controllers

Hi @daniel1979,

I am afraid that is yet not possible, but it something in my list to do. Right now ControllerX is able to read from MQTT directly, but the device communication is all done through HA call services.

Related GitHub tickets:

Regards,
Xavi M.

1 Like

Hey @herrfelix,

I see then. You want that next day when you turn on the light, you want scene A to be activated back again, rather than the scene C, correct?

If so, my recommendation would be to solve this with a HA automation that changes the input_select to C after X seconds/minutes of having changed.

I said to Scene C (the last one you put in the list) because when pressing the on button the first thing that the ControllerX config does is to change the input_select to the next option.

I could help you with the HA automation if needed :slight_smile:

Regards,
Xavi M.

1 Like

Hi @xaviml thanks for the quick reply as always.

I havenā€™t changed the firmware as I donā€™t have a Hue hub and for the same reason updating is likely to be an issue. ( as it could potentially be for many others as the beauty of zigbee and HA is not having to own multiple hubs :slight_smile: ).

I did see that post on Github but didnā€™t think it relevant as I hadnā€™t noticed anything in the changelog. What confuses me about your suggested workaround is where you sayā€¦

With the old firmware, it is not possible to hold the on and off buttons as you can see in the mapping.

ā€¦which my config shows was working and is rather fundamental to my setup?

Further to my last post, according to Philips there have been plenty of more recent updates to other devices but nothing to the dimmer since 2019ā€¦

Hue Dimmer Switch

October 7, 2019

Software version: 6.1.1.28573

  • Improved communication with Hue Bridge
  • Performance and behavioral improvements

Source: Philips Hue Support - Release Notes Accessories | Philips Hue UK

Hi @Bobby_Nobble,

What confuses me about your suggested workaround is where you sayā€¦

With the old firmware, it is not possible to hold the on and off buttons as you can see in the mapping.

ā€¦which my config shows was working and is rather fundamental to my setup?

I see from the configuration you sent that you were using the up-to-date mapping on_short_release rather than on. So I am expecting that you could hold the on button. The mapping for this controller was updated in ControllerX v3.4.0 (Aug 17th 2020) because of this issue (with an original comment in here).

I am guessing then, that there has been an update from ZHA (zigpy or zha-device-handlers), since the ON button should send on_short_release and not on command.

Could you check the rest of the commands? Maybe they just change the on and off. I checked both repositories, but I could not find any relevant changes to this.

Regards,
Xavi M.

Youā€™re right, looks like someone changed the zha quirk for some unknown reason :crazy_face: :gun: sorry for assuming it was your end.

Iā€™ll do you a full list of responses in a bit but there are still long releases thankfully.

Editā€¦ spoke too soon, itā€™s been changed it to the same as those you posted here https://github.com/xaviml/controllerx/issues/180

Issue raisedā€¦ https://github.com/zigpy/zha-device-handlers/issues/782

1 Like

It works perfectly, thank you for your work and help!

1 Like

Hi there!

First of all, @xaviml, thank you for all your hard work. ControllerX is pretty impressive and powerful piece of tech. Love it.

I have started to use ControllerX together with my Niko91004LightController and Deconz. I have almost got it working like I want to but Iā€™m running into the limitation of my knowledge and Iā€™m hoping to get some pointers here.

What Iā€™m trying to achieve: Iā€™m trying to use button 2 as followed:

  • When pressed - switch off light
  • When hold - bring brightness down

As you probably already can guess, Iā€™m running into the issue that the light already gets switched off because the ā€œpressā€ action gets triggered before the ā€œholdā€ action gets triggered. Does anybody know how to tackle this small issue? Would really appreciate any tips you could share!

Hereā€™s my (proof of concept) config:

bed_dimmer:
    module: controllerx
    class: Niko91004LightController
    controller: friends_of_hue_switch
    integration: deconz
    light: light.dimmer_2_current_value_3
    mode: restart
    automatic_steps: 20
    delay: 50
    mapping:
      1000: on_min_brightness
      1001: hold_brightness_up
      1003: release
      2000: "off"
      2001: hold_brightness_down
      2003: release

Living this with my IKEA remotes,

Looking at getting some of these, how do I ā€˜buildā€™ a controller class for them for z2m :+1:t3: Is there base template I can tweak and play with, or is it way more involved?

Hi @Coldrush,

deCONZ has the following events:

  • X000: fired when the button is first pressed (no matter if clicked or held)
  • X001: fired when the button is held
  • X002: fired when released from being short press
  • X003: fired when released from being held

So, you just need to change 1000 and 2000 to 1002 and 2002 respectively.

Regards,
Xavi M.

Hi @Danzal,

The easiest way to play around is by using a generic controller (e.g. LightController) with the mapping attribute. There is no need for the controller to be supported in order to use it with ControlllerX. However, I would appreciate you share this, so we can create a default mapping for the controller.

If what you want is to collaborate to the project, then you could add the support to this device in the corresponding Python file of this device (if it does not exists, you will need ti create one).

Happy to help further with whichever path you choose. However, as I said, the easiest is to play around with the YAML config, since you do not need to play around with Python code and restar AppDaemon every time.

Regards,
Xavi M.

1 Like

Thanks man for the pointer. Iā€™ll play and let you know :ok_hand:t3:

1 Like

Wow, thanks for this fast reply - wasnā€™t expecting that.

Thanks for the tip. Your tip made it happen. This is so awesome thank you very much :slight_smile:

1 Like

v4.7.0 is now released :partying_face:

downloads
:warning: This minor change contains breaking changes for Lutron Caseta devices.
Note: Remember to restart the AppDaemon addon/server after updating to a new version.

:pencil2: Features

:video_game: New devices

  • E1812 - add new device E1812 with z2m support [ #248 ]
  • PJ2-2B - change class for this controller and add new lutron caset integration [ #246 ] * BREAKING CHANGE *
  • PJ2-2BRL - change class for this controller [ #246 ] * BREAKING CHANGE *
  • PJ2-3BRL - change class for this controller and add new lutron caset integration [ #246 ] * BREAKING CHANGE *
  • MLI-404002 - add new device MLI-404002 with z2m and zha support [ #247 ]
2 Likes

It seems that there will be another new remote from Ikea (German and English):
https://stadt-bremerhaven.de/ikea-fernbedienung-styrbar-vor-dem-marktstart/
Here someone from The Netherlands has some unboxing pictures:
https://www.reddit.com/r/tradfri/comments/lv8ok4/new_set_some_pictures/#9

It looks like it has the same features as the E1810.

1 Like

Hi @xaviml
Iā€™ve got HA in docker, zigbee2mqtt as well as mosquitto (no containers) are installed on the same host. HA got integration via MQTT to get the job done. The question isā€¦ is there any way to still use z2m in controllerx or only direct connection via appdaemon to mqtt broker will work?

v4.8.0 is now released :partying_face:

downloads
This minor change does not contain any breaking changes.
Note: Remember to restart the AppDaemon addon/server after updating to a new version.

:hammer: Fixes

  • mode: single works now for multiple clickable actions

:clock2: Performance

  • Reduce calls to Home Assistant when possible
  • Remove duplicated calls to Home Assistant

:video_game: New devices

1 Like

Hi @duudee,

To use ControllerX you must install AppDaemon since it runs on top of it. Once AppDaemon is installed, then it should be connected to HA (via HA plugin from AppDaemon). Additionally, you could also use the MQTT plugin to gain speed with the controller events.

Hope this answers your question, let me know if further explanation is needed :slight_smile:

Regards,
Xavi M.

Hello,

I visited Ikea today and got that round switch with five buttons. Connected it to my Zigbee2mqtt.

I wish to use it control my blinds (up, down, maybe even tilt). Where to start? This is already supported in ControllerX?

Thank you.

Hi @thehijacker,

Is this controler the E1810? ControllerX offers a default mapping for this remote, but you can customise the mapping to your liking. If you let me know what is your use case, I will help you out with the configuration.

Regards,
Xavi M.