summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/home/ham/light/tint_arbeitszimmer.nix
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/home/ham/light/tint_arbeitszimmer.nix')
-rw-r--r--makefu/2configs/home/ham/light/tint_arbeitszimmer.nix281
1 files changed, 0 insertions, 281 deletions
diff --git a/makefu/2configs/home/ham/light/tint_arbeitszimmer.nix b/makefu/2configs/home/ham/light/tint_arbeitszimmer.nix
deleted file mode 100644
index 4ae91ac54..000000000
--- a/makefu/2configs/home/ham/light/tint_arbeitszimmer.nix
+++ /dev/null
@@ -1,281 +0,0 @@
-{ lib, ...}:
-
-let
- # effect - color
- # Solid Pattern - Hult
- group_id_1 = 16388;
- group_id_2 = 16389;
- group_id_3 = 16390;
- remote = "sensor.arbeitszimmer_remote1_action";
- main_light_1 = "light.wled_4";
- default_scene_1 = "Solid";
- default_color_1 = "Default";
- main_color_select_1 = "select.wled_color_palette_4";
- light_group_1.entity_id = [
- main_light_1
- ];
-
- # contains only the actually changeable lights
- light_group_2.entity_id = [
- "light.arbeitszimmer_schrank_dimmer"
- ];
- light_group_3.entity_id = [
- "light.arbeitszimmer_pflanzenlicht"
- ];
-
- statecond = cond: { # cond must be a list
- condition = "template";
- value_template = "{{ trigger.to_state.attributes.action in ( " +
- (lib.concatMapStringsSep "," (x: "'${x}'") cond) + ") }}";
- };
-in {
- services.home-assistant.config.automation = [
- {
- alias = "Perform Actions with ${remote}";
- mode = "queued";
- max = 5;
- max_exceeded = "silent";
- trigger = {
- platform = "state";
- entity_id = remote;
- };
- condition = {
- condition = "and";
- conditions = [
- {
- condition = "template";
- value_template = "{{ trigger.from_state.state != trigger.to_state.state }}";
- }
- ( statecond [ "off" "on" "color_wheel"
- "brightness_up_click" "brightness_down_click"
- "color_temp" "color_temperature_move"
- "brightness_step_down" "brightness_step_up" "brightness_down_hold" "brightness_down_release" "brightness_up_hold" "brightness_up_release"
- "scene_3" "scene_1" "scene_2" # working sunset party
- "scene_6" "scene_4" "scene_5" # night campfire romantic
- ])
- ];
- };
- action = [
- { service = "system_log.write";
- data = {
- level = "info";
- message = "Tint Button pressed: {{ trigger.to_state.state }} Group: {{ trigger.to_state.attributes.action_group }} Length {{ input_working_scene_1 | length }}";
- };
- }
- {
- choose = [
- { # light group 1
- conditions = {
- condition = "template";
- value_template = "{{ trigger.to_state.attributes.action_group == ${toString group_id_1} }}";
- };
- sequence = [
- {
- choose = [
- {
- conditions = statecond [ "on" "off" ];
- sequence = {
- service = "light.turn_{{ trigger.to_state.state }}";
- target = light_group_1;
- };
- }
- {
- conditions = statecond [ "color_wheel" ];
- sequence = {
- data.xy_color = [
- "{{ trigger.to_state.attributes.action_color.x | float }}"
- "{{ trigger.to_state.attributes.action_color.y | float }}"
- ];
- service = "light.turn_on";
- target = light_group_1;
- };
- }
- {
- conditions = statecond [ "color_temp" ];
- sequence = {
- data.color_temp = "{{ trigger.to_state.attributes.action_color_temperature | float }}";
- service = "light.turn_on";
- target = light_group_1;
- };
- }
- {
- conditions = statecond [ "brightness_up_click" "brightness_down_click" ];
- sequence = [
- {
- variables.factor = ''{% if trigger.to_state.state in ( "brightness_down_click") %} -12 {% else %} 12 {% endif %}'';
- }
- {
- data.brightness_step_pct = "{{ factor | int }}";
- service = "light.turn_on";
- target = light_group_1;
- }
- ];
- }
- {
- conditions = statecond [
- "scene_3" # working => previous scene
- "scene_1" # sunset => default scene (solid)
- "scene_2" # party => next scene
-
- ];
- sequence = [
- {
- data.effect = ''
- {% set options = state_attr("${main_light_1}","effect_list") -%}
- {% set selection = options.index(state_attr("${main_light_1}","effect")) -%}
- {% if trigger.to_state.attributes.action == "scene_2" -%}
- {% if (selection + 1) >= options | length -%}
- {{ options[0] }}
- {% else -%}
- {{ options[selection + 1] }}
- {% endif %}
- {% elif trigger.to_state.attributes.action == "scene_1" -%}
- ${default_scene_1}
- {% elif trigger.to_state.attributes.action == "scene_3" -%}
- {{ options[selection - 1] }}
- {% endif -%}
- '';
- service = "light.turn_on";
- target.entity_id = main_light_1;
- }
- ];
- }
- {
- conditions = statecond [
- "scene_6" # night => previous color
- "scene_4" # campfire => default Color (Default)
- "scene_5" # romance => next color
-
- ];
- sequence = [
- {
- data.option = ''
- {% set options = state_attr("${main_color_select_1}","options") -%}
- {% set selection = options.index(states("${main_color_select_1}")) -%}
- {% if trigger.to_state.attributes.action == "scene_5" -%}
- {% if (selection + 1) >= options | length -%}
- {{ options[0] }}
- {% else -%}
- {{ options[selection + 1] }}
- {% endif %}
- {% elif trigger.to_state.attributes.action == "scene_4" -%}
- ${default_color_1}
- {% elif trigger.to_state.attributes.action == "scene_6" -%}
- {{ options[selection - 1] }}
- {% endif -%}
- '';
- service = "select.select_option";
- target.entity_id = main_color_select_1;
- }
- ];
- }
- ];
- }
- ];
- }
- { # light group 2
- conditions = {
- condition = "template";
- value_template = "{{ trigger.to_state.attributes.action_group == ${toString group_id_2} }}";
- };
- sequence = [
- {
- choose = [
- { conditions = statecond [ "on" "off" ];
- sequence = {
- service = "light.turn_{{ trigger.to_state.state }}";
- target = light_group_2;
- };
- }
- {
- conditions = statecond [ "color_wheel" ];
- sequence = {
- data.xy_color = [
- "{{ trigger.to_state.attributes.action_color.x | float }}"
- "{{ trigger.to_state.attributes.action_color.y | float }}"
- ];
- service = "light.turn_on";
- target = light_group_2;
- };
- }
- {
- conditions = statecond [ "color_temp" ];
- sequence = {
- data.color_temp = "{{ trigger.to_state.attributes.action_color_temperature | float }}";
- service = "light.turn_on";
- target = light_group_2;
- };
- }
- {
- conditions = statecond [ "brightness_up_click" "brightness_down_click" ];
- sequence = [
- {
- variables.factor = ''{% if trigger.to_state.state in ( "brightness_down_click") %} -12 {% else %} 12 {% endif %}'';
- }
- {
- data.brightness_step_pct = "{{ factor | int }}";
- service = "light.turn_on";
- target = light_group_2;
- }
- ];
- }
- ];
- }
- ];
- }
- { # light group 3
- conditions = {
- condition = "template";
- value_template = "{{ trigger.to_state.attributes.action_group == ${toString group_id_3} }}";
- };
- sequence = [
- {
- choose = [
- { conditions = statecond [ "on" "off" ];
- sequence = {
- service = "light.turn_{{ trigger.to_state.state }}";
- target = light_group_3;
- };
- }
- {
- conditions = statecond [ "color_wheel" ];
- sequence = {
- data.xy_color = [
- "{{ trigger.to_state.attributes.action_color.x | float }}"
- "{{ trigger.to_state.attributes.action_color.y | float }}"
- ];
- service = "light.turn_on";
- target = light_group_3;
- };
- }
- {
- conditions = statecond [ "color_temperature_move" ];
- sequence = {
- data.color_temp = "{{ trigger.to_state.attributes.action_color_temperature | float }}";
- service = "light.turn_on";
- target = light_group_3;
- };
- }
- {
- conditions = statecond [ "brightness_up_click" "brightness_down_click" ];
- sequence = [
- {
- variables.factor = ''{% if trigger.to_state.state in ( "brightness_down_click") %} -12 {% else %} 12 {% endif %}'';
- }
- {
- data.brightness_step_pct = "{{ factor | int }}";
- service = "light.turn_on";
- target = light_group_3;
- }
- ];
- }
- ];
- }
- ];
- }
- ];
- }
- ];
- }
- ];
-}