I couldn’t figure out how to setup a toggle and a hold action on one single button at the same time.
I’m using a PTM215X device which has four different buttons and I want button 1 to turn on the light and also increase the brightness.
I haven’t found a way to do so in the documentation. Is that possible?
Sorry if this is not the right way to get support for ControllerX.
I’m experiencing an issue, and I wonder if it’s a configuration issue or a code issue.
My config is
nachtlampje:
module: controllerx
class: E1743Controller
controller: sensor.nachtlampje_schakelaar_action
integration: z2m
light: light.nachtlampje
But I get this error in the logs
Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/appdaemon/app_management.py", line 163, in initialize_app await init()
File "/config/appdaemon/apps/controllerx/cx_core/controller.py", line 104, in initialize await self.init()
File "/config/appdaemon/apps/controllerx/cx_core/type/light_controller.py", line 148, in init await super().init()
File "/config/appdaemon/apps/controllerx/cx_core/type_controller.py", line 66, in init await super().init()
File "/config/appdaemon/apps/controllerx/cx_core/release_hold_controller.py", line 27, in init await super().init()
File "/config/appdaemon/apps/controllerx/cx_core/controller.py", line 108, in init self.integration = self.get_integration(self.args["integration"])
File "/config/appdaemon/apps/controllerx/cx_core/controller.py", line 225, in get_integration integrations = integration_module.get_integrations(self, kwargs)
File "/config/appdaemon/apps/controllerx/cx_core/integration/__init__.py", line 36, in get_integrations return integrations
File "/config/appdaemon/apps/controllerx/cx_core/integration/__init__.py", line 36, in <listcomp> return integrations
TypeError: Can't instantiate abstract class EventIntegration with abstract method get_default_actions_mapping
The problem started happening a short time ago when I installed the latest version of ControllerX.
In the code, I don’t really see get_default_actions_mapping
marked as abstract, so not sure what happens controllerx/apps/controllerx/cx_core/integration at e03ebdffa517132fd2389794a152630d2fd6f1d9 · xaviml/controllerx · GitHubinit.py#L23
TypeError: Can't instantiate abstract class EventIntegration with abstract method get_default_actions_mapping
I’ve found that the issue was a bad state of appdaemon. This was resolved, not by restarting home assistant (which I had tried many times), but by restarting the appdaemon integration itself.
Is the Shelly 1 able to be used as a controller? Can’t seem to get it working
Tnx for this integration, finally i can use my dimmers.
I have a question, i have blinds (iblinds z-wave motor) and use them with the ikea E1743 controller, this works but not the way i would like to use it.
What i want is when i push the button they go open but while they go open and i click the button again i want it too stop. Is this possible?
Gr Pedro
Great app. I’ve been searching for a decent way to control my Ika E27 bulbs with a Ikea Styrbar controller. Thanks to this app it works flawless.
switch_diningroom:
module: controllerx
class: E2002Z2MLightController
integration: z2m
controller: sensor.switch_diningroom_action
light: light.diningroom
When I turn on the lights (there are 2 in the light.diningroom group) the brightness and color is that of the previous state. I would like that to be a fixed starting point when I turn the light on. I’m sure it can be done with merge_mapping but haven’t been able to figure that out.
The other question is: where can if define the rate of dimming cq color change? As in
"brightness_move": -40, // Starts moving brightness down at 40 units per second
Figured out the first question:
module: controllerx
class: E2002Z2MLightController
integration: z2m
controller: sensor.switch_diningroom_action
light: light.diningroom
merge_mapping:
"on":
action: "on"
attributes:
brightness: 91
color_temp: 454
haven’t searched long enough (-;
I would like to request to add funtionality for the : Prolight 5412748727388 https://www.zigbee2mqtt.io/devices/5412748727388.html#prolight-5412748727388
Is it possible to add this device ?
Hi @sandoz.cloud ,
Sorry for the late reply. ControllerX works on top of AppDaemon, and its configuration is ust an AppDaemon app, so you can just add the config on the same apps.yaml as a new entry like done for nspanel-1
.
Regards,
Xavi M.
This is the list of supported controllers by ControllerX: Supported controllers - ControllerX If it is not there, it is not currently supported.
However, adding support for a controller is just defining its default mapping, you can create a “New device” request on GitHub. You can take a look at this issue as an example.
Regards,
Xavi M.
Hi @Sleepwalker0908,
You can find the mapping for this device here. Note that only deCONZ supports hold actions for this device, so for example, this config toggles a light when pressed, and changes its brightness when held:
example_app:
module: controllerx
class: PTM215XLightController
integration: deconz
controller: my_controller
light: light.my_entity_id
mapping:
3002: toggle
3001: hold_brightness_toggle
3003: release
Regards,
Xavi M.
Hi @kheyse ,
Sorry for the late reply. I am glad you figured it out at the end. I just want to stand out that it is necessary to restart AppDaemon addon everytime you update ControllerX. It is stated in the release notes:
Note: Remember to restart the AppDaemon addon/server after updating to a new version.
Regards,
Xavi M.
Thank you @Canaletto , I created following ticket to add support to such device. I will be working on it when I get some time.
Regards,
Xavi M.
Hi @ChrisHA,
Shelly 1
is not added as a supported device in ControllerX, but if the integration you use is supported by ControllerX, you should have no problems on using it. Which integration are you using for this device? Is it sending HA events or changing entity state?
Regards,
Xavi M.
Hi @Peke ,
Yes, this is possible, and in fact, this is what it does by default. You can check the default mapping for E1743 here, and the CoverController predefined actions here.
Note that this will not work out of the box if the cover does not report opening
or closing
state when is moving since ControllerX will not now if it is moving or not. However, the CoverController
has an attribute called cover_duration
which is the duration (in seconds) of the cover to open and/or close in seconds, so toggle_open
and toggle_close
can stop the cover if the cover is still moving. This is recommended to be used when the cover does not report opening
and closing
states, otherwise, it is not necessary. An example configuration would be:
example_app:
module: controllerx
class: E1743CoverController
integration: z2m
controller: sensor.my_controller_action
cover: cover.my_entity_id
cover_duration: 10
You can read more about the CoverController
attributes here.
Regards,
Xavi M.
Hi @Toepmeister,
This can be changed with automatic_steps
/manual_steps
(for LightController), and hold_steps
/click_steps
(for Z2MLightController). For example:
module: controllerx
class: E2002LightController # This is a LightController
integration: z2m
controller: sensor.switch_diningroom_action
light: light.diningroom
automatic_steps: 5 # Default is 10
merge_mapping:
"on":
action: "on"
attributes:
brightness: 91
color_temp: 454
This is what documentation says about automatic_steps
:
Number of steps to go from min to max when smoothing. If the value is 2 with one click you will set the light to 50% and with another one to 100%.
This is what documentation says about hold_steps
:
Number of steps that are passed to Zigbee2MQTT for hold actions.
In addition, you can also use delay
(default is 300 in most of the controllers):
Delay in milliseconds that takes between sending the volume up/down instructions. Note that the maximum value is 1000 and if leaving to 0, you might get uncommon behavior.
Regards,
Xavi M.
Hi @TheCosmicGate ,
Is this a light that exposes an action? If it can be used as a controller, we could add it to ControllerX with Zigbee2MQTT support. You can create a “New Device” issue on GitHub, and fill in the form. You can use this ticket as an example.
Regards,
Xavi M.
Hi! Thanks for a great app. I’m new to HA and home automation but I’m learning slowly.
ContrlollerX works great for controlling my lights but it doesn’t seem to be able to dim lights in a group (I’ve put all the lights in a room in a group) but it works if I add all the lights separately.
Is dimming for groups supposed to work or am I doing something wrong?
Cheers.
Office_lights:
module: controllerx
class: E2002LightController
controller: sensor.ikea_styrbar_ha1_action
integration: z2m
light: light.all_lights
min_brightness: 10
I have here four WLAN LED as a group and I can control them (brightnes and colour) with ControllerX and an IKEA 1810:
julian_controller_licht:
module: controllerx
class: E1810Controller
controller: fernbedienung_julian
integration: deconz
light:
name: light.julian_deckenlicht
This is my configuration inside light_groups.yaml:
- platform: group
name: "Julian Deckenlicht"
entities:
- light.julian_decke_1
- light.julian_decke_2
- light.julian_decke_3
- light.julian_decke_4
Hi @Habiben ,
I recommend you checking the following link where it explains how groups work with ControllerX:
https://xaviml.github.io/controllerx/advanced/entity-groups/
Could you give more details of your group and which light you are using?
Regards,
Xavi M.