Beschreibung
Hast du auch Beleuchtungen, die Effekte integriert haben ? Klar, nicht immer will man dieses Lichtspektakel, es gibt aber auch Jahreszeiten, wo man sich darüber freut, dass man mal den einen oder anderen vielleicht „kitschigen“ Effekt laufen lässt. Und dann geht es los. Wie setze ich das um ?
Der erste Gedanke ist, dass man für jeden Effekt eine eigene Szene erstellt.
Aber sind wir mal ehrlich, da hat man innerhalb kürzester Zeit keine Lust mehr. Und genau hier möchte ich euch eine Lösung zeigen, die euch automatisch die Effekte ausliest und entweder einen zufälligen Effekt auswählt, oder aber die Effekte der Reihe nach durchgeht.
Wenn man in die Effektlisten der einzelnen Beleuchtungen schaut, dann können da schnell mal etliche Effekte zusammenkommen.
Um euch das Leben hier einfacher zu machen, habe ich euch ein Skript erstellt, in dem ihr eurer Licht übergebt, ein paar Übergabeparameter setzt und schon könnt ihr eure gewünschten Effekte laufen lassen.
Dieses Skript lässt sich einfach handhaben und in einer Automatisierung umsetzen. Als Beispiel möchte ich euch meine Weihnachtsbaum Automatisierung vorstellen.
Die zu übergebenden Parameter sind:
- Licht ( beliebige Lichtentität mit Effekten)
- random ( An / Aus )
- brigthness ( 0% – 100%)
- exclude ( Liste von Effekten, die bei der automatischen Selektion ausgeschlossen werden sollen )
- transition ( Übergangszeit für einen weichen Übergang zum nächsten Effekt ) -> Hinweis: Das wird nicht von jeder Beleuchtung unterstützt. Ist diese Möglichkeit nicht vorhanden, so wird automatisch ohne Transition Time geschaltet.
In der obigen Beispielautomatisierung wird alle 30 Sekunden ein anderer Effekt selektiert. Der Zyklus ist vielleicht etwas kurz, aber hier könnt ihr frei entscheiden.
Gerne stelle ich euch das Script kostenfrei zur Verfügung und würde mich über Kommentare zum Video bei Youtube , aber auch ein Like und vielleicht ein Abo sehr freuen. Auch Anregungen zur sinnvollen Erweiterung finde ich immer sehr Klasse. Ich hoffe euch hilft diese Umsetzung und ihr könnt gerade in der aktuell adventlichen Zeit schnell ein paar schöne Effekte damit leuchten lassen. Wenn ihr dann noch eure Zeit dabei für die Umsetzung spart, dann habe ich mein Ziel schon erreicht.
Ich wünsche euch eine ruhige und besinnliche Adventszeit ( auch, wenn vielleicht mal ein Lichtspektakel dabei ist 🙂 ).
Das Skript ✨ Light Effect Toggle als YAML Code:
alias: ✨ Light Effect Toggle sequence: - action: light.turn_on metadata: {} data: {} target: entity_id: " {{ light }} " alias: first turn on light - variables: current_effect: "{{ state_attr(light, 'effect') }}" all_effects: > {% set exclude_list = (exclude | default('')).split(',') | map('trim') | list %} {{ state_attr(light, 'effect_list') | reject('in', exclude_list) | list }} effect_to_apply: | {% if random %} {{ all_effects | random }} {% else %} {% set idx = all_effects.index(current_effect) + 1 %} {% if idx >= all_effects | length %} {{ all_effects[0] }} {% else %} {{ all_effects[idx] }} {% endif %} {% endif %} alias: get effect list ( light is on ) - action: light.turn_on metadata: {} data: effect: "{{ effect_to_apply }}" brightness_pct: "{{ brightness }}" transition: "{{ transition | default(0) }}" target: entity_id: "{{light}}" alias: apply effect - action: logbook.log data: name: Actual Effect message: "actual effect: {{ state_attr(light, 'effect') | default('None') }}" - action: logbook.log data: name: effect to apply message: "effect to apply: {{ state_attr(light, 'effect') | default('None') }}" fields: light: name: Licht description: Die zu steuernde Licht-Entität selector: entity: domain: light random: selector: boolean: {} name: random brightness: selector: number: min: 1 max: 100 step: 1 name: brightness required: true default: 50 exclude: selector: text: null name: exclude description: enter the effects you want to exclude here, separated by commas transition: selector: number: min: 1 max: 10 step: 0.1 name: transition description: time in seconds default: 0 description: Toggles the effect of the specified light mode: parallel max: 10