Controller - IKEA ICTC-G-1 TRÅDFRI wireless dimmer
This blueprint is part of the Controllers-Hooks Ecosystem. You can read more about this topic here.
Description
This blueprint provides universal support for running any custom action when a button is pressed on the provided IKEA ICTC-G-1 TRÅDFRI wireless dimmer. Supports controllers integrated with deCONZ, ZHA, Zigbee2MQTT. Just specify the integration used to connect the remote to Home Assistant when setting up the automation, and the blueprint will take care of all the rest.
In addition of being able to provide custom actions for every kind of button press supported by the remote, the blueprint allows to optionally loop the rotate actions while the remote is rotating either left or right. Once the remote stops rotating, the loop stops as well. This is useful when rotating the controller should result in a continuous action (such as lowering the volume of a media player, or controlling a light brightness).
Automations created with this blueprint can be connected with one or more Hooks supported by this controller. Hooks allow to easily create controller-based automations for interacting with media players, lights, covers and more. See the list of Hooks available for this controller for additional details.
Requirements
deCONZ Integration
OptionalIf you plan to integrate the with deCONZ, you must have this integration set up. The deCONZ integration can be configured from the Home Assistant UI and requires an additional container to run deCONZ on. Head over to the documentation for full details on the required hardware and how to set up deCONZ on your system.
deCONZ Integration DocsZHA Integration
OptionalIf you plan to integrate the with ZHA, you must have this integration set up. The ZHA integration can be configured from the Home Assistant UI. Check the documentation for full details on the required hardware and how to set up ZHA on your system.
ZHA Integration DocsZigbee2MQTT Integration
OptionalIf you plan to integrate the with Zigbee2MQTT, you must have this integration set up. Installation methods differ between different installation types. Check out the documentation for full details on the required hardware and how to set up Zigbee2MQTT on your system.
When configuring the remote with Zigbee2MQTT make sure to disable the legacy integration for it, as reported here. This blueprint won't work with controllers with a legacy integration due to their instability and fundamental problems.
Zigbee2MQTT DocsInput Text Integration
RequiredThis integration provides the entity which must be provided to the blueprint in the Helper - Last Controller Event input. Learn more about this helper by reading the dedicated section in the Additional Notes.
Inputs
Integration used for connecting the remote with Home Assistant. Select one of the available values.
The controller device to use for the automation. Choose a value only if the remote is integrated with deCONZ, ZHA.
The action sensor of the controller to use for the automation. Choose a value only if the remote is integrated with Zigbee2MQTT.
Input Text used to store the last event fired by the controller. You will need to manually create a text input entity for this, please read the blueprint Additional Notes for more info.
Action to run on rotate left.
Action to run when stopping to rotate left the remote.
Action to run on rotate right.
Action to run when stopping to rotate right the remote.
Loop the rotate left action until the rotation is stopped.
Maximum number of repeats for the custom action, when looping is enabled. Use it as a safety limit to prevent an endless loop in case the corresponding stop event is not received.
Loop the rotate right action until the rotation is stopped.
Maximum number of repeats for the custom action, when looping is enabled. Use it as a safety limit to prevent an endless loop in case the corresponding stop event is not received.
Delay used for debouncing RAW controller events, by default set to 0. A value of 0 disables the debouncing feature. Increase this value if you notice custom actions or linked Hooks running multiple times when interacting with the device. When the controller needs to be debounced, usually a value of 100 is enough to remove all duplicate events.
Available Hooks
Light
This Hook blueprint allows to build a controller-based automation to control a light. Supports brightness and color control both for white temperature and rgb lights.
Default Mapping
- Rotate left -> Brightness down (continuous, until stop)
- Rotate right -> Brightness up (continuous, until stop)
Media Player
This Hook blueprint allows to build a controller-based automation to control a media player. Supports volume setting, play/pause and track selection.
Default Mapping
- Rotate left -> Volume down (continuous, until stop)
- Rotate right -> Volume up (continuous, until stop)
Additional Notes
Helper - Last Controller Event
The helper_last_controller_event
(Helper - Last Controller Event) input serves as a permanent storage area for the automation. The stored info is used to implement the blueprint's core functionality. To learn more about the helper, how it's used and why it's required, you can read the dedicated section in the Controllers-Hooks Ecosystem documentation.
The helper is used to determine stop rotation events when the controller is integrated with ZHA, Zigbee2MQTT, because of the actions mapping for the controller with these integrations. Natively, the controller doesn't allow to distinguish between different rotation events, so the blueprint must store the previous rotation.
This blueprint provides beta support for controllers integrated with deCONZ, since not all the supported events are mapped for this integration. If you are using the IKEA ICTC-G-1 with deCONZ and would like to help, you can reach out here.
Changelog
2021-03-26: first blueprint version 🎉
2021-04-19: Fix stop rotation events not being detected with deCONZ
2021-04-23: Fix deCONZ events not being recognized
2021-05-26:
⚠️ Breaking Change:
helper_last_controller_event
is now a mandatory input. It also simplifies the blueprint setup (reducing issues due to improper configuration missing the helper, which was required only in certain conditions as was stated in the docs), and provides support for advanced features which might be developed in the future.If you plan to update this blueprint, please make sure to provide a valid
input_text
entity for thehelper_last_controller_event
input. You should create a separateinput_text
for each Controller blueprint you're configuring, since using the same for multiple automation could lead to inconsistencies and undefined behaviour.Other changes:
- 🎉 Add Debouncing support. Debouncing avoids duplicate action runs which might occur with certain controllers and integrations. The feature is disabled by default, check the documentation to find out how to enable it
- Prevent undesired endless loops, which might occur in rare cases when the corresponding stop event is not received, by running loop actions a finite number of times, customizable with two new blueprint inputs
- Use any RAW stop event (left/right) to identify the stop event corresponding to the current remote rotation
- Fix inputs wrongly marked as required
- Fix for Zigbee2MQTT reporting null state changes
2021-07-04: Fix deCONZ rotation stop events not being properly recognized
2021-08-02: Improve inputs documentation and organization
2021-10-26: Standardize blueprints structure and inputs naming across the whole collection. Improve blueprint documentation. No functionality change.
2022-08-08: Optimize characters usage for the
helper_last_controller_event
text input.