mirror of
https://github.com/GeorgeSG/sarah.git
synced 2026-05-05 08:44:24 +00:00
85 lines
3.4 KiB
YAML
85 lines
3.4 KiB
YAML
# Tuya Light groups setup via scenes
|
|
# Credit: https://community.home-assistant.io/t/personal-setup-vps-vpn-faster-tuya-and-more/180995
|
|
|
|
# Tuya lights respond faster if they're grouped into scenes in the Tuya app.
|
|
# 1. Create ON and OFF scenes for every Tuya light group and sync them with Home Assistant.
|
|
# 2. Create an input_boolean marking each scene on/off.
|
|
# 3. Create template light acting as a group light for every input_boolean / tuya scene pair.
|
|
# 4. Automate ON/OFF when an input_boolean is toggled.
|
|
|
|
# Light groups in Tuya. Name: "tuya_{{scene_name}}_lights_state"
|
|
input_boolean:
|
|
tuya_kitchen_main_lights_state:
|
|
tuya_kitchen_secondary_lights_state:
|
|
tuya_hallway_main_lights_state:
|
|
|
|
light:
|
|
- platform: template
|
|
lights:
|
|
tuya_kitchen_main_lights:
|
|
friendly_name: Kitchen main lights (scene)
|
|
value_template: "{{ is_state('input_boolean.tuya_kitchen_main_lights_state', 'on') }}"
|
|
icon_template: bha:ceiling-lamp-plafond
|
|
turn_on:
|
|
service: input_boolean.turn_on
|
|
entity_id: input_boolean.tuya_kitchen_main_lights_state
|
|
turn_off:
|
|
service: input_boolean.turn_off
|
|
entity_id: input_boolean.tuya_kitchen_main_lights_state
|
|
|
|
tuya_kitchen_secondary_lights:
|
|
friendly_name: Kitchen secondary lights (scene)
|
|
value_template: "{{ is_state('input_boolean.tuya_kitchen_secondary_lights_state', 'on') }}"
|
|
icon_template: bha:ceiling-lamp-plafond
|
|
turn_on:
|
|
service: input_boolean.turn_on
|
|
entity_id: input_boolean.tuya_kitchen_secondary_lights_state
|
|
turn_off:
|
|
service: input_boolean.turn_off
|
|
entity_id: input_boolean.tuya_kitchen_secondary_lights_state
|
|
|
|
tuya_hallway_main_lights:
|
|
friendly_name: Hallway main lights (scene)
|
|
value_template: "{{ is_state('input_boolean.tuya_hallway_main_lights_state', 'on') }}"
|
|
icon_template: bha:ceiling-lamp-plafond
|
|
turn_on:
|
|
service: input_boolean.turn_on
|
|
entity_id: input_boolean.tuya_hallway_main_lights_state
|
|
turn_off:
|
|
service: input_boolean.turn_off
|
|
entity_id: input_boolean.tuya_hallway_main_lights_state
|
|
|
|
# Try to keep input_booleans consistent.
|
|
automation:
|
|
- alias: Lighting · Tuya · Update kitchen lights
|
|
trigger:
|
|
platform: state
|
|
entity_id:
|
|
- input_boolean.tuya_kitchen_main_lights_state
|
|
- input_boolean.tuya_kitchen_secondary_lights_state
|
|
- input_boolean.tuya_hallway_main_lights_state
|
|
action:
|
|
- service: scene.turn_on
|
|
data_template:
|
|
entity_id: >
|
|
|
|
{% set scene_name = trigger.entity_id.split('tuya_')[1].split('_lights')[0] %}
|
|
{% set state = states(trigger.entity_id) %}
|
|
scene.tuya_{{ scene_name }}_{{ state }}
|
|
|
|
- alias: Lighting · Tuya · Update states on start
|
|
trigger:
|
|
platform: homeassistant
|
|
event: start
|
|
action:
|
|
- delay: 00:00:03
|
|
|
|
- service_template: "input_boolean.turn_{{ states('light.kitchen_main_lights') }}"
|
|
entity_id: input_boolean.tuya_kitchen_main_lights_state
|
|
|
|
- service_template: "input_boolean.turn_{{ states('light.kitchen_secondary_lights') }}"
|
|
entity_id: input_boolean.tuya_kitchen_secondary_lights_state
|
|
|
|
- service_template: "input_boolean.turn_{{ states('light.hallway_main_lights') }}"
|
|
entity_id: input_boolean.tuya_hallway_main_lights_state
|