Files
sarah/config/packages/modules/lighting/setup/tuya.yaml
T
2021-05-17 00:22:49 +03:00

87 lines
3.5 KiB
YAML

# Tuya Light groups setup via scenes
# Depends on Tuya integration (config flow): https://www.home-assistant.io/integrations/tuya
# 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:
# 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:
# 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:
# 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
# mode: queued
# 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: "input_boolean.turn_{{ states('light.kitchen_main') }}"
# entity_id: input_boolean.tuya_kitchen_main_lights_state
# - service: "input_boolean.turn_{{ states('light.kitchen_secondary') }}"
# entity_id: input_boolean.tuya_kitchen_secondary_lights_state
# - service: "input_boolean.turn_{{ states('light.hallway_main') }}"
# entity_id: input_boolean.tuya_hallway_main_lights_state