Fließendes Dimmen mit einer Fernbedienung klingt nach einer Kleinigkeit. Ist es aber nicht. Ich habe mich eine Weile damit beschäftigt, wie man das mit der IKEA TRÅDFRI Fernbedienung und dem Switch Manager sauber hinbekommt — und bin dabei über ein paar Ansätze gestolpert, die auf den ersten Blick logisch wirken, in der Praxis aber schlicht nicht funktionieren. Hier erkläre ich dir, was schief läuft und wie die Lösung aussieht, die bei mir wirklich zuverlässig läuft.
Was der Switch Manager macht und warum er hier ins Spiel kommt
Der Switch Manager ist eine HACS-Integration, mit der du Zigbee-Fernbedienungen visuell konfigurieren kannst. Du siehst die Tasten deiner Fernbedienung direkt in der Oberfläche und kannst für jede Taste und jede Aktion — PRESS, HOLD, RELEASE — eigene Aktionssequenzen hinterlegen. Das ist wahnsinnig praktisch, weil du nicht manuell in Automationen herumfummeln musst.
Für die IKEA TRÅDFRI Remote (E1524/E1810) gibt es ein fertiges Blueprint namens zigbee2mqtt-ikea-tradfri-remote, das du direkt im Switch Manager nutzen kannst. Die Fernbedienung muss via Zigbee2MQTT eingebunden sein. Danach kannst du im Switch Manager für jede Taste einzeln festlegen, was bei kurzem Drücken, langem Halten und beim Loslassen passieren soll.
Das Ziel ist folgendes: kurzes Drücken der oberen oder unteren Taste soll die Helligkeit um einen festen Schritt anpassen. Langes Drücken soll die Helligkeit kontinuierlich verändern, solange die Taste gehalten wird. Loslassen stoppt das Dimmen.
Warum Transitions und Switch Manager Variablen nicht funktionieren
Der naheliegendste Ansatz ist eine Transition. Du sagst der Lampe beim HOLD: Geh auf maximale Helligkeit in fünf Sekunden. Beim Loslassen stoppst du das Ganze. Klingt vernünftig — scheitert aber daran, wie Home Assistant den Zustand einer Lampe während einer laufenden Transition meldet. HA zeigt nicht die aktuelle Ist-Helligkeit, sondern den Zielwert. Wenn du also beim Loslassen mit brightness_step_pct stoppst, rechnet HA vom falschen Ausgangswert und die Lampe springt auf Maximum. Dazu kommt: ein einfaches light.turn_on ohne Brightness-Parameter bricht eine laufende Transition bei TRÅDFRI-Lampen gar nicht erst ab.
Der nächste Gedanke: Switch Manager hat eigene Variablen, die man per switch_manager.set_variables setzen kann. Idee ist, beim HOLD eine Variable auf 1 zu setzen, einen Repeat-Loop zu starten, der so lange läuft wie diese Variable 1 ist, und beim Loslassen die Variable auf 0 zu setzen. Das Problem dabei ist, dass Switch Manager Variablen innerhalb eines laufenden Repeat-Loops nicht live aktualisiert werden. Der Loop prüft die Variable bei jedem Durchlauf — aber aus seiner Perspektive ändert sie sich nie. Der Loop startet entweder gar nicht oder läuft endlos weiter.
1# HOLD: Variable setzen + Loop starten
2- action: switch_manager.set_variables
3 data:
4 switch_id: "{{ data.switch_id }}"
5 variables:
6 dim: 1
7- repeat:
8 sequence:
9 - action: light.turn_on
10 target:
11 entity_id: light.stehlampeschlafzimmer
12 data:
13 brightness_step_pct: 5
14 - delay:
15 milliseconds: 300
16 until:
17 - condition: template
18 value_template: "{{ variables.dim != 1 }}"
19
20# HOLD_RELEASED: Variable zurücksetzen
21- action: switch_manager.set_variables
22 data:
23 switch_id: "{{ data.switch_id }}"
24 variables:
25 dim: 0Das sieht sauber aus — funktioniert in der Praxis aber nicht. Der Loop bekommt die Änderung einfach nicht mit.
Der input_boolean Helper als saubere Lösung
Die Lösung ist ein input_boolean Helper. Entity-States in Home Assistant werden bei jedem Durchlauf eines Repeat-Loops live aus HA abgefragt — das ist der entscheidende Unterschied zu Switch Manager Variablen. Wenn du den Helper auf off setzt, bemerkt das der laufende Loop beim nächsten Durchlauf sofort und bricht ab.
Den Helper erstellst du unter Einstellungen → Geräte & Dienste → Helfer → Helfer erstellen → Schalter. Name: Dimming Active. Das ergibt die Entity input_boolean.dimming_active. Alternativ über die Entwicklerwerkzeuge:
action: input_boolean.create
data:
name: "Dimming Active"
icon: "mdi:brightness-6"Switch Manager Schritt für Schritt einrichten
Jetzt konfigurierst du im Switch Manager jede Taste einzeln. Ich gehe hier alle relevanten Aktionen durch.
Center-Taste — PRESS: Toggle
action: light.toggle
target:
entity_id: light.stehlampeschlafzimmer
data: {}Mode: single
Obere Taste — PRESS: Einzelner Schritt hoch
action: light.turn_on
target:
entity_id: light.stehlampeschlafzimmer
data:
brightness_step_pct: 10Mode: single
Obere Taste — HOLD: Fließend dimmen
1# 1. Helper einschalten (= Loop-Freigabe)
2- action: input_boolean.turn_on
3 target:
4 entity_id: input_boolean.dimming_active
5 data: {}
6
7# 2. Repeat-Loop: +5% alle 300ms, solange Helper ON
8- repeat:
9 sequence:
10 - action: light.turn_on
11 target:
12 entity_id: light.stehlampeschlafzimmer
13 data:
14 brightness_step_pct: 5
15 - delay:
16 milliseconds: 300
17 while:
18 - condition: state
19 entity_id: input_boolean.dimming_active
20 state: "on"Mode: restart
Obere Taste — HOLD RELEASED: Loop stoppen
action: input_boolean.turn_off
target:
entity_id: input_boolean.dimming_active
data: {}Mode: single
Für die untere Taste ist es exakt dasselbe — nur mit negativen Werten.
Untere Taste — PRESS: Einzelner Schritt runter
action: light.turn_on
target:
entity_id: light.stehlampeschlafzimmer
data:
brightness_step_pct: -10Mode: single
Untere Taste — HOLD: Fließend dimmen
1# 1. Helper einschalten
2- action: input_boolean.turn_on
3 target:
4 entity_id: input_boolean.dimming_active
5 data: {}
6
7# 2. Repeat-Loop: -5% alle 300ms, solange Helper ON
8- repeat:
9 sequence:
10 - action: light.turn_on
11 target:
12 entity_id: light.stehlampeschlafzimmer
13 data:
14 brightness_step_pct: -5
15 - delay:
16 milliseconds: 300
17 while:
18 - condition: state
19 entity_id: input_boolean.dimming_active
20 state: "on"Mode: restart
Untere Taste — HOLD RELEASED: Loop stoppen
action: input_boolean.turn_off
target:
entity_id: input_boolean.dimming_active
data: {}Mode: single
Dimm-Geschwindigkeit nach Geschmack anpassen
Wie schnell die Helligkeit sich beim Halten verändert, steuern zwei Werte zusammen: brightness_step_pct bestimmt die Schrittgröße pro Durchlauf, delay.milliseconds die Pause dazwischen. Mit 5 und 300ms bekommst du ein angenehm flüssiges Dimmen. Wer es schneller mag, nimmt 10 und 200ms. Wer feinere Kontrolle will, geht auf 3 und 400ms. Einfach ausprobieren, was sich für dich gut anfühlt.
Die PRESS-Schrittgröße von 10 ist ein guter Ausgangswert. Wer feiner abstimmen will, nimmt 5. Wer schnell einen groben Sprung braucht, nimmt 20.
Vollständige Switch Manager Config als JSON
Wer die Konfiguration lieber direkt importieren möchte, kann die komplette Switch Manager Config als JSON nutzen. Die liegt intern in .storage/switch_manager auf dem HA Host. Ersetze light.DEINE_LAMPE mit deiner Entity-ID und zigbee2mqtt/<DEIN_GERÄT>/action mit dem MQTT-Topic deines Dimmers.
1{
2 "name": "Dimmer",
3 "identifier": "zigbee2mqtt/<DEIN_GERÄT>/action",
4 "enabled": true,
5 "variables": {},
6 "blueprint": "zigbee2mqtt-ikea-tradfri-remote",
7 "buttons": [
8 {
9 "actions": [
10 {
11 "sequence": [
12 {
13 "action": "light.toggle",
14 "data": {},
15 "target": {
16 "entity_id": "light.DEINE_LAMPE"
17 }
18 }
19 ],
20 "mode": "single"
21 },
22 {
23 "sequence": [],
24 "mode": "single"
25 }
26 ]
27 },
28 {
29 "actions": [
30 {
31 "sequence": [
32 {
33 "action": "light.turn_on",
34 "data": {
35 "brightness_step_pct": 10
36 },
37 "target": {
38 "entity_id": "light.DEINE_LAMPE"
39 }
40 }
41 ],
42 "mode": "single"
43 },
44 {
45 "sequence": [
46 {
47 "action": "input_boolean.turn_on",
48 "target": {
49 "entity_id": "input_boolean.dimming_active"
50 },
51 "data": {}
52 },
53 {
54 "repeat": {
55 "sequence": [
56 {
57 "action": "light.turn_on",
58 "target": {
59 "entity_id": "light.DEINE_LAMPE"
60 },
61 "data": {
62 "brightness_step_pct": 5
63 }
64 },
65 {
66 "delay": {
67 "milliseconds": 300
68 }
69 }
70 ],
71 "while": [
72 {
73 "condition": "state",
74 "entity_id": "input_boolean.dimming_active",
75 "state": "on"
76 }
77 ]
78 }
79 }
80 ],
81 "mode": "restart"
82 },
83 {
84 "sequence": [
85 {
86 "action": "input_boolean.turn_off",
87 "target": {
88 "entity_id": "input_boolean.dimming_active"
89 },
90 "data": {}
91 }
92 ],
93 "mode": "single"
94 }
95 ]
96 },
97 {
98 "actions": [
99 {
100 "sequence": [
101 {
102 "action": "light.turn_on",
103 "data": {
104 "brightness_step_pct": -10
105 },
106 "target": {
107 "entity_id": "light.DEINE_LAMPE"
108 }
109 }
110 ],
111 "mode": "single"
112 },
113 {
114 "sequence": [
115 {
116 "action": "input_boolean.turn_on",
117 "target": {
118 "entity_id": "input_boolean.dimming_active"
119 },
120 "data": {}
121 },
122 {
123 "repeat": {
124 "sequence": [
125 {
126 "action": "light.turn_on",
127 "target": {
128 "entity_id": "light.DEINE_LAMPE"
129 },
130 "data": {
131 "brightness_step_pct": -5
132 }
133 },
134 {
135 "delay": {
136 "milliseconds": 300
137 }
138 }
139 ],
140 "while": [
141 {
142 "condition": "state",
143 "entity_id": "input_boolean.dimming_active",
144 "state": "on"
145 }
146 ]
147 }
148 }
149 ],
150 "mode": "restart"
151 },
152 {
153 "sequence": [
154 {
155 "action": "input_boolean.turn_off",
156 "target": {
157 "entity_id": "input_boolean.dimming_active"
158 },
159 "data": {}
160 }
161 ],
162 "mode": "single"
163 }
164 ]
165 },
166 {
167 "actions": [
168 { "sequence": [], "mode": "single" },
169 { "sequence": [], "mode": "single" },
170 { "sequence": [], "mode": "single" }
171 ]
172 },
173 {
174 "actions": [
175 { "sequence": [], "mode": "single" },
176 { "sequence": [], "mode": "single" },
177 { "sequence": [], "mode": "single" }
178 ]
179 }
180 ]
181}Was du dafür brauchst
Den Switch Manager installierst du über HACS. Die IKEA TRÅDFRI Remote muss via Zigbee2MQTT eingebunden sein und das Blueprint zigbee2mqtt-ikea-tradfri-remote muss im Switch Manager verfügbar sein. Dazu kommt der input_boolean.dimming_active Helper, den du einmalig anlegst.
Was ich noch erwähnen will: diese Methode funktioniert mit jeder dimmbaren Lampe in Home Assistant, nicht nur mit IKEA-Leuchten. Solange die Lampe brightness_step_pct unterstützt, ist das Setup identisch. Der input_boolean-Trick ist universell.
Nutzt du den Switch Manager auch für andere Fernbedienungen oder Taster? Ich bin gespannt, für welche Geräte ihr das noch einsetzt.
