Files
sarah/config/packages/modules/lighting/tuya.yaml
T
2020-04-25 12:27:15 +03:00

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