ControllerX. Bring full functionality to light and media player controllers

Could you add log_level: DEBUG in the config? Like:

eetkamer_dimmer:
  log_level: DEBUG
  module: controllerx
  class: E1743Controller
  controller: sensor.dimmer_woonkamer_action
  integration: z2m
  light: light.spotjes_eetkamer

And reshare the configuration? Thanks :slight_smile:

And here you go. It’s a lot of repetition. But: better safe than sorry:

2020-09-30 12:32:01.042236 INFO eetkamer_dimmer: 🎮 ControllerX v3.5.0
2020-09-30 12:32:01.054109 DEBUG eetkamer_dimmer: Calling listen_state for eetkamer_dimmer
2020-09-30 12:36:49.914867 INFO eetkamer_dimmer: 🎮 Button event triggered: `on`
2020-09-30 12:36:49.920663 INFO eetkamer_dimmer: 🏃 Running `on` now
2020-09-30 12:36:49.933347 INFO eetkamer_dimmer: 🤖 Service: light.turn_on
2020-09-30 12:36:49.938067 INFO eetkamer_dimmer:   - entity_id: light.spotjes_eetkamer
2020-09-30 12:36:49.939737 DEBUG eetkamer_dimmer: call_service: light/turn_on, {'entity_id': 'light.spotjes_eetkamer'}
2020-09-30 12:36:49.989261 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:36:52.257867 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: `brightness_move_up`
2020-09-30 12:36:52.299280 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:36:54.755964 INFO eetkamer_dimmer: 🎮 Button event triggered: `brightness_stop`
2020-09-30 12:36:54.760521 INFO eetkamer_dimmer: 🏃 Running `release` now
2020-09-30 12:36:54.815637 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:36:56.217471 INFO eetkamer_dimmer: 🎮 Button event triggered: `off`
2020-09-30 12:36:56.221733 INFO eetkamer_dimmer: 🏃 Running `off` now
2020-09-30 12:36:56.227026 INFO eetkamer_dimmer: 🤖 Service: light.turn_off
2020-09-30 12:36:56.232388 INFO eetkamer_dimmer:   - entity_id: light.spotjes_eetkamer
2020-09-30 12:36:56.235301 DEBUG eetkamer_dimmer: call_service: light/turn_off, {'entity_id': 'light.spotjes_eetkamer'}
2020-09-30 12:36:56.288589 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:36:57.803661 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: `brightness_move_down`
2020-09-30 12:36:57.849609 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:00.832081 INFO eetkamer_dimmer: 🎮 Button event triggered: `brightness_stop`
2020-09-30 12:37:00.840955 INFO eetkamer_dimmer: 🏃 Running `release` now
2020-09-30 12:37:00.888460 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:01.466375 INFO eetkamer_dimmer: 🎮 Button event triggered: `on`
2020-09-30 12:37:01.471248 INFO eetkamer_dimmer: 🏃 Running `on` now
2020-09-30 12:37:01.480798 INFO eetkamer_dimmer: 🤖 Service: light.turn_on
2020-09-30 12:37:01.486075 INFO eetkamer_dimmer:   - entity_id: light.spotjes_eetkamer
2020-09-30 12:37:01.489193 DEBUG eetkamer_dimmer: call_service: light/turn_on, {'entity_id': 'light.spotjes_eetkamer'}
2020-09-30 12:37:01.540516 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:03.020794 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: `brightness_move_down`
2020-09-30 12:37:03.076388 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:10.043024 INFO eetkamer_dimmer: 🎮 Button event triggered: `brightness_stop`
2020-09-30 12:37:10.047095 INFO eetkamer_dimmer: 🏃 Running `release` now
2020-09-30 12:37:10.111107 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:11.174148 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: `brightness_move_up`
2020-09-30 12:37:11.234236 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:11.968296 INFO eetkamer_dimmer: 🎮 Button event triggered: `brightness_stop`
2020-09-30 12:37:11.971956 INFO eetkamer_dimmer: 🏃 Running `release` now
2020-09-30 12:37:12.012603 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:15.083273 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: `brightness_move_up`
2020-09-30 12:37:15.156932 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:15.346867 INFO eetkamer_dimmer: 🎮 Button event triggered: `brightness_stop`
2020-09-30 12:37:15.353823 INFO eetkamer_dimmer: 🏃 Running `release` now
2020-09-30 12:37:15.413041 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: ``
2020-09-30 12:37:17.488421 INFO eetkamer_dimmer: 🎮 Button event triggered: `off`
2020-09-30 12:37:17.492661 INFO eetkamer_dimmer: 🏃 Running `off` now
2020-09-30 12:37:17.497940 INFO eetkamer_dimmer: 🤖 Service: light.turn_off
2020-09-30 12:37:17.502903 INFO eetkamer_dimmer:   - entity_id: light.spotjes_eetkamer
2020-09-30 12:37:17.506052 DEBUG eetkamer_dimmer: call_service: light/turn_off, {'entity_id': 'light.spotjes_eetkamer'}
2020-09-30 12:37:17.564798 DEBUG eetkamer_dimmer: 🎮 Button event triggered, but not registered: `

`

Hi @Eelco_Anneveldt,

The problem is that the current mapping in ControllerX might be outdated for this controller. Are you running latest version of zigbee2mqtt? I will need to change the default mapping, but in the meantime you can override it, this should work:

eetkamer_dimmer:
  log_level: DEBUG
  module: controllerx
  class: E1743Controller
  controller: sensor.dimmer_woonkamer_action
  integration: z2m
  light: light.spotjes_eetkamer
  mapping:
    "on": "on"
    "off": "off"
    brightness_move_up: hold_brightness_up
    brightness_move_down: hold_brightness_down
    brightness_stop: release  

Once this is fixed, you will be able to achieve the same by removing the mapping part.

Cheers,
Xavi M.

Thanks!
I’m running Z2M 1.14.4.2, but not through a standard cc25xx usb dongle, but a CC2652R Multiprotocol RF Stick. I have quite a few Xiaomi devices :wink: Maybe that’s the issue?

Adding the mapping bit makes it work. Don’t know if this is standard behavior: when lowering or enhancing brightness, the lamp sort of flickers. It looks like it wants to turn off but then changes it’s mind. You’ll find a video of the lights dimming here: https://anneveldt.net/wp-content/uploads/2020/09/IMG_6033.mov

No, I am pretty sure the issue comes from Zigbee2MQTT that changed the actions fired by this controller (no matter which coordinator is used).

This is now fixed in ControllerX v4.0.0b3 (installable through HACS by marking “Show beta”) if you want to try, otherwise you will need to wait for v4.0.0 or use the configuration I sent before.

Cheers,
Xavi M.

ControllerX sends multiple request to HA to change the brightness. These are recommendable points for you to take:

  • Change the integration to listen MQTT directly. Read more about in here.
  • Play around with delay (default is 350ms) and automatic_steps (default is 10) attributes. You can read more about them in here. The lower the delay is, the more request will be make to HA. The more automatic_steps, the more steps it will take to get from min to max and vice versa.

I hope this helps.

Cheers,
Xavi M.

Thanks man, for putting so much time and effort into this. Really, really appreciated. You just made the WAF for my HA installation skyrocket. :+1:

1 Like

Hi’ Xavi.

Just had a quick test of newest beta v4.0.0b3.
Besides the constant changes to z2m payloads (Koenkk apparently is bored these days :roll_eyes::grin:), then all works beautifully I believe.

Merge mapping tested as well as the six new toggle actions. Really nice work by kroimon and you :+1::sunglasses: Will definitely reduce number of apps and make app overview much easier.
Haven’t had time to test multiple click actions yet, though.

Ciao !

Hi Henning,

Thanks for testing it out! I have added integration test that will allow me to release more confidently new versions without breaking anything (or at least reducing future bugs).

Regsrding the z2m payload for E1743 is because the one that was stated was from the “click” action. Now it is using the “action” one, aince “click” will be deprecated in future version to my understanding.

I invite to try the new multiple click action. I currently have 2 lights in my livingroom - a lamp and a fairy light, controlled by the E1810 (round 5 button IKEA). Until now I used the controller for the lamp, but now with the multiple click I added the fairy light with 2 clicks on the toggle button and the bedroom one with 3. It adds a little delay to the actions because of the multiple click feature done from ControllerX and not coming from the controller, but still quite useful. I will add some examples in the example page for the stable release.

Cheers,
Xavi M.

This idea is really great! This should also work for the E1743/E1766 I think. For the E1744 it would make no sense because they already have click, double click and triple click.
Will it be also possible to have a long press for the middle button of the E1810 with this new feature?

The only thing you have to do now is to put a sheet of paper with the instructions to the controllers. :slight_smile:

Well, the thing is that the controller fires a hold action already when the button is held for 3 seconds. The problem is that it also fires the toggle when holding, so it fires toggle and toggle_hold when the button is held. A custom solution could be to map the light toggle for when the button is toggled twice. This way the toggle_hold won’t interfere with the toggle. However, the middle button does not have a release action, so it is impossible to know when the middle button has been released after being held.

Indeed, my grandma used to have a sheet for her TV remote haha you can find a sort of sheet for the default behaviour of each supported controller from ControllerX in here.

Hope this helps :slight_smile:

Cheers,
Xavi M.

Hi guys.
Im trying to get this to work with my E1524 (5 button Ikea remote), without any luck. I can see in the App daemon log that it receives the events from deconz as expected, but the app doesnt seem to do anything.
This is my config in apps.yaml

bedroom_controller:
  module: controllerx
  class: E1810Controller
  controller: ikearemote_bedroom
  integration: deconz
  light:
    name: light.dimmer_rgb_sovrummet
    color_mode: auto

I’ve also tried with only “light: light.dimmer_rgb_sovrummet”, but didnt help.
Restarted both App daemon, Home Assistant (running HassOS). Not restarted the host yet but I cant see how that would help.
I’ve also made sure the ID of the remote is correct and that its the right name on the light.
Any help would be appreciated. Any more logs I can have a look in? The HA log says nothing. The lights is controllable from both Deconz and HA so I know that it works. =)

Best regards,
phkr

Hi @phkr,

Thanks for clarifying on what you tried and for double checking the names. Could you maybe send the logs from the AppDaemon addon (assuming you installed the addon)?

Regarding the light attribute, it is the same what you put than light: light.dimmer_rgb_sovrummet since color_mode is auto by default.

Cheers,
Xavi M.

Here’s a section of the app daemon log thats relevant I guess:

2020-10-03 11:14:40.092934 INFO AppDaemon: HASS: Connected to Home Assistant 0.115.6
2020-10-03 11:14:41.796402 INFO AppDaemon: Processing restart for HASS
2020-10-03 11:14:41.796628 INFO AppDaemon: Terminating hello_world
2020-10-03 11:14:41.796737 INFO AppDaemon: Terminating bedroom_controller
2020-10-03 11:14:41.796896 INFO AppDaemon: Terminating deconz_helper
2020-10-03 11:14:41.797520 INFO AppDaemon: Initializing app hello_world using class HelloWorld from module hello
2020-10-03 11:14:41.798270 INFO hello_world: Hello from AppDaemon
2020-10-03 11:14:41.798788 INFO hello_world: You are now ready to run Apps!
2020-10-03 11:14:41.798872 INFO AppDaemon: Initializing app bedroom_controller using class E1810Controller from module controllerx
2020-10-03 11:14:41.799089 INFO AppDaemon: Initializing app deconz_helper using class DeconzHelper from module deconz_helper
2020-10-03 11:15:07.865463 INFO deconz_helper: Deconz event received from ikearemote_bedroom. Event was:1002
2020-10-03 11:15:07.865999 WARNING AppDaemon: deconz_helper: Entity sensor.deconz_event not found in AppDaemon
2020-10-03 11:15:38.511913 INFO deconz_helper: Deconz event received from ikearemote_bedroom. Event was:1002
2020-10-03 11:16:18.813667 INFO deconz_helper: Deconz event received from ikearemote_bedroom. Event was:2002
2020-10-03 11:16:20.222187 INFO deconz_helper: Deconz event received from ikearemote_bedroom. Event was:2002

And here’s from the startup:

[23:01:01] INFO: Starting AppDaemon...
2020-10-03 23:01:01.796302 INFO AppDaemon Version 3.0.5 starting
2020-10-03 23:01:01.796500 INFO Configuration read from: /config/appdaemon/appdaemon.yaml
2020-10-03 23:01:01.797640 INFO AppDaemon: Starting Apps
2020-10-03 23:01:01.800737 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2020-10-03 23:01:01.882483 INFO AppDaemon: HASS: HASS Plugin Initializing
2020-10-03 23:01:01.883092 INFO AppDaemon: HASS: HASS Plugin initialization complete
2020-10-03 23:01:01.883360 INFO Starting Dashboards
2020-10-03 23:01:01.887883 INFO API is disabled
2020-10-03 23:01:01.898567 INFO AppDaemon: HASS: Connected to Home Assistant 0.115.6
2020-10-03 23:01:02.010515 INFO AppDaemon: Got initial state from namespace default
2020-10-03 23:01:03.937053 INFO AppDaemon: Reading config
2020-10-03 23:01:03.941186 INFO AppDaemon: /config/appdaemon/apps/apps.yaml added or modified
2020-10-03 23:01:03.941274 INFO AppDaemon: /config/appdaemon/apps/apps.yaml added or modified
2020-10-03 23:01:03.941331 INFO AppDaemon: App 'hello_world' added
2020-10-03 23:01:03.941380 INFO AppDaemon: App 'bedroom_controller' added
2020-10-03 23:01:03.941424 INFO AppDaemon: App 'deconz_helper' added
2020-10-03 23:01:03.941502 INFO AppDaemon: Adding /config/appdaemon/apps to module import path
2020-10-03 23:01:03.941696 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx to module import path
2020-10-03 23:01:03.941803 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_core to module import path
2020-10-03 23:01:03.941918 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_core/type to module import path
2020-10-03 23:01:03.942013 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_core/stepper to module import path
2020-10-03 23:01:03.942102 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_core/feature_support to module import path
2020-10-03 23:01:03.942195 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_core/integration to module import path
2020-10-03 23:01:03.942297 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_devices to module import path
2020-10-03 23:01:03.944702 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/deconz_helper.py

Hi @phkr,

Thank you for sharing the logs. When a ControllerX app is initialised, it shows the ControllerX version, but I see that it doesn’t show any version in the logs. My hunch is that is firing some errors and they are not showing in there. Could you please answer the following questions:

  • How did you install ControllerX? (Manual/HACS)
  • Which version did you install of ControllerX?
  • How are you running AppDaemon? (addon/server with docker container)

I could not see anything that helps me understand where is the problem coming from with those logs. I took a look again to the configuration and everything is fine, there is nothing missing in there, so the problem must be on the configuration part.

Cheers,
Xavi M.

Hello Xavi,
First of all thanks for the very nice app, I wasn’t familiar with appdeamon at all but I was able to set ControllerX up very quickly. I configured a ikea e1810 remote for a zigbee light in no-time and it functioned right away. So if a almost 60 year old guy like me can do this everyone can do it.
But ofcourse I have a question, with the toggle button I like to toggle a shelly1 switch to power the zigbee light and to controll the brightness and color of the light I like to use the four other buttons of the e1810 remote. Is this possible ?
R’gds, Ruud.

Hi @proton999,

Thanks for the appreciation :slight_smile: Was there anything during the setup that was unclear to you or missing?

Regarding your question: yes, there are several ways to do so, and the easier one will be once I release v4.0.0, but for now you can do the following:

example_app_no_toggle:
  module: controllerx
  class: E1810Controller
  integration: "your integration"
  controller: "your controller ID"
  light: light.your_light
  excluded_actions: [toggle]

example_with_toggle:
  module: controllerx
  class: SwitchController
  integration: "your integration"
  controller: "your controller ID"
  switch: switch.shelly_switch
  mapping:
    toggle: toggle

The “toggle” action that I added in the excluded actions and in the mapping attribute (the first one, not the second one) will depend on the integration you are using. If you are using z2m this is already correct, if you are using deconz or zha, you can check the events that your controller fire depending on the integration in here.

I hope this helps :slight_smile:

Cheers,
Xavi M.

Hi @xaviml.

  1. Im running the add-on installed via HACS on latest HassOS.
  2. The version of ControllerX is 3.5.0
  3. AppDaemon is also installed as add-on with version 5.0.1

I’ll try re-installing ControllerX via HACS and see if I can get the AppDaemon log to print out the version. Might try to reboot the whole host also =)

Thanks

Edit:
I do have alot of ignores in the log. Not sure if its relevant. Like this:

2020-10-05 14:01:26.603609 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_core/integration to module import path
2020-10-05 14:01:26.603706 INFO AppDaemon: Adding /config/appdaemon/apps/controllerx/cx_devices to module import path
2020-10-05 14:01:26.605789 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/deconz_helper.py
2020-10-05 14:01:26.610282 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/onoff_switch.py - ignoring
2020-10-05 14:01:26.610470 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/remote_control.py - ignoring
2020-10-05 14:01:26.610534 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/hello.py
2020-10-05 14:01:26.610922 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_const.py - ignoring
2020-10-05 14:01:26.610991 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/controllerx/controllerx.py
2020-10-05 14:01:26.642167 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_version.py - ignoring
2020-10-05 14:01:26.642319 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/custom_controller.py - ignoring
2020-10-05 14:01:26.642382 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/color_helper.py - ignoring
2020-10-05 14:01:26.642439 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/controller.py - ignoring
2020-10-05 14:01:26.642494 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/__init__.py - ignoring
2020-10-05 14:01:26.642549 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/type/cover_controller.py - ignoring
2020-10-05 14:01:26.642603 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/type/switch_controller.py - ignoring
2020-10-05 14:01:26.642657 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/type/light_controller.py - ignoring
2020-10-05 14:01:26.642709 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/type/media_player_controller.py - ignoring
2020-10-05 14:01:26.642763 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/type/__init__.py - ignoring
2020-10-05 14:01:26.642833 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/stepper/circular_stepper.py - ignoring
2020-10-05 14:01:26.642899 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/stepper/__init__.py - ignoring
2020-10-05 14:01:26.642955 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/stepper/minmax_stepper.py - ignoring
2020-10-05 14:01:26.643009 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/feature_support/media_player.py - ignoring
2020-10-05 14:01:26.643062 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/feature_support/cover.py - ignoring
2020-10-05 14:01:26.643115 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/feature_support/__init__.py - ignoring
2020-10-05 14:01:26.643169 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/feature_support/light.py - ignoring
2020-10-05 14:01:26.643222 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/integration/deconz.py - ignoring
2020-10-05 14:01:26.643275 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/integration/zha.py - ignoring
2020-10-05 14:01:26.643331 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/integration/z2m.py - ignoring
2020-10-05 14:01:26.643386 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/integration/state.py - ignoring
2020-10-05 14:01:26.643439 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/integration/mqtt.py - ignoring
2020-10-05 14:01:26.643496 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_core/integration/__init__.py - ignoring
2020-10-05 14:01:26.643551 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/lutron.py - ignoring
2020-10-05 14:01:26.643607 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/philips.py - ignoring
2020-10-05 14:01:26.643663 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/trust.py - ignoring
2020-10-05 14:01:26.643719 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/smartthings.py - ignoring
2020-10-05 14:01:26.643774 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/muller_licht.py - ignoring
2020-10-05 14:01:26.643844 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/ikea.py - ignoring
2020-10-05 14:01:26.643904 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/legrand.py - ignoring
2020-10-05 14:01:26.643961 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/__init__.py - ignoring
2020-10-05 14:01:26.644016 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/controllerx/cx_devices/aqara.py - ignoring