Workaround Tuya lag by using Tuya scenes

This commit is contained in:
2020-03-29 14:31:36 +03:00
parent 0e232c23dd
commit b91ad2fc0c
9 changed files with 181 additions and 23 deletions
+5 -5
View File
@@ -13,8 +13,8 @@ cards:
cards:
- type: custom:button-card
template: small
entity: light.all_lights
name: All
entity: light.ceiling_lights
name: Ceiling
- type: custom:button-card
template: small
entity: light.living_room_main_lights
@@ -25,13 +25,13 @@ cards:
name: Bedroom
- type: custom:button-card
template: small
entity: light.hallway_main_lights
entity: light.tuya_hallway_main_lights
name: Hallway
- type: horizontal-stack
cards:
- type: custom:button-card
template: small
entity: light.kitchen_main_lights
entity: light.tuya_kitchen_main_lights
name: Kitchen
- type: custom:button-card
template: small
@@ -42,7 +42,7 @@ cards:
name: Bedside
- type: custom:button-card
template: small
entity: light.hallway_entrance_lights
entity: light.tuya_hallway_entrance_lights
name: Entrance
- type: entities
@@ -8,7 +8,7 @@ cards:
show_header_toggle: false
entities:
- type: custom:fold-entity-row
entity: light.kitchen_main_lights
entity: light.tuya_kitchen_main_lights
name: Main lights
entities:
- light.light_le_11
@@ -7,7 +7,9 @@ cards:
title: Lights
show_header_toggle: false
entities:
- light.hallway_all_lights
- light.tuya_hallway_all_lights
- light.tuya_hallway_entrance_light
- light.tuya_hallway_main_lights
- type: custom:fold-entity-row
entity: light.hallway_entrance_lights
name: Entrance lights
@@ -8,6 +8,8 @@ cards:
title: Living room
icon: mdi:sofa
entities:
- light.tuya_living_room_main_lights
- type: divider
- light.living_room_all_lights
- light.living_room_main_lights
- light.light_lohas_1
@@ -32,6 +34,8 @@ cards:
title: Kitchen
icon: mdi:chef-hat
entities:
- light.tuya_kitchen_main_lights
- type: divider
- light.kitchen_main_lights
- light.light_le_11
- light.light_le_12
@@ -41,6 +45,10 @@ cards:
title: Hallway
icon: mdi:door-closed
entities:
- light.tuya_hallway_all_lights
- light.tuya_hallway_main_lights
- light.tuya_hallway_entrance_lights
- type: divider
- light.hallway_all_lights
- light.hallway_main_lights
- light.hallway_entrance_lights
+42 -6
View File
@@ -1,11 +1,17 @@
light:
# Used only to set correct initial state of tuya_living_room_main_lights
- platform: group
name: Living room tuya lights
entities:
- light.light_le_9
- light.light_le_10
- platform: group
name: Living room main lights
entities:
- light.light_lohas_1
- light.light_lohas_2
- light.light_le_9
- light.light_le_10
- light.tuya_living_room_main_lights
- platform: group
name: Living room all lights
@@ -52,18 +58,48 @@ light:
- light.hallway_entrance_lights
- light.hallway_main_lights
- platform: group
name: Tuya Hallway all lights
entities:
- light.tuya_hallway_entrance_lights
- light.tuya_hallway_main_lights
- platform: group
name: Ceiling lights
entities:
- light.living_room_all_lights
- light.master_bedroom_main_lights
- light.kitchen_main_lights
- light.hallway_all_lights
- light.tuya_kitchen_main_lights
- light.tuya_hallway_all_lights
- platform: group
name: All lights
entities:
- light.living_room_all_lights
- light.master_bedroom_all_lights
- light.kitchen_main_lights
- light.hallway_all_lights
- light.tuya_kitchen_main_lights
- light.tuya_hallway_all_lights
homeassistant:
customize:
light.living_room_main_lights:
icon: mdi:vanity-light
light.living_room_all_lights:
icon: mdi:vanity-light
light.master_bedroom_main_lights:
icon: mdi:vanity-light
light.kitchen_main_lights:
icon: mdi:vanity-light
light.hallway_entrance_lights:
icon: mdi:vanity-light
light.hallway_main_lights:
icon: mdi:vanity-light
light.hallway_all_lights:
icon: mdi:vanity-light
light.tuya_hallway_all_lights:
icon: mdi:vanity-light
light.ceiling_lights:
icon: mdi:ceiling-light
light.pc:
icon: mdi:ceiling-light
+112
View File
@@ -0,0 +1,112 @@
# 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_living_room_main_lights_state:
tuya_kitchen_main_lights_state:
tuya_hallway_main_lights_state:
tuya_hallway_entrance_lights_state:
light:
- platform: template
lights:
tuya_living_room_main_lights:
friendly_name: Living room main lights (scene)
value_template: "{{ is_state('input_boolean.tuya_living_room_main_lights_state', 'on') }}"
icon_template: mdi:vanity-light
turn_on:
service: input_boolean.turn_on
data:
entity_id: input_boolean.tuya_living_room_main_lights_state
turn_off:
service: input_boolean.turn_off
data:
entity_id: input_boolean.tuya_living_room_main_lights_state
tuya_kitchen_main_lights:
friendly_name: Kitchen main lights (scene)
value_template: "{{ is_state('input_boolean.tuya_kitchen_main_lights_state', 'on') }}"
icon_template: mdi:vanity-light
turn_on:
service: input_boolean.turn_on
data:
entity_id: input_boolean.tuya_kitchen_main_lights_state
turn_off:
service: input_boolean.turn_off
data:
entity_id: input_boolean.tuya_kitchen_main_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: mdi:vanity-light
turn_on:
service: input_boolean.turn_on
data:
entity_id: input_boolean.tuya_hallway_main_lights_state
turn_off:
service: input_boolean.turn_off
data:
entity_id: input_boolean.tuya_hallway_main_lights_state
tuya_hallway_entrance_lights:
friendly_name: Entrance lights (scene)
value_template: "{{ is_state('input_boolean.tuya_hallway_entrance_lights_state', 'on') }}"
icon_template: mdi:vanity-light
turn_on:
service: input_boolean.turn_on
data:
entity_id: input_boolean.tuya_hallway_entrance_lights_state
turn_off:
service: input_boolean.turn_off
data:
entity_id: input_boolean.tuya_hallway_entrance_lights_state
# Try to keep input_booleans consistent.
automation:
- alias: Lighting · Tuya · Update kitchen lights
trigger:
platform: state
entity_id:
- input_boolean.tuya_living_room_main_lights_state
- input_boolean.tuya_kitchen_main_lights_state
- input_boolean.tuya_hallway_main_lights_state
- input_boolean.tuya_hallway_entrance_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.living_room_tuya_lights') }}"
data:
entity_id: input_boolean.tuya_living_room_main_lights_state
- service_template: "input_boolean.turn_{{ states('light.kitchen_main_lights') }}"
data:
entity_id: input_boolean.tuya_kitchen_main_lights_state
- service_template: "input_boolean.turn_{{ states('light.hallway_main_lights') }}"
data:
entity_id: input_boolean.tuya_hallway_main_lights_state
- service_template: "input_boolean.turn_{{ states('light.hallway_entrance_lights') }}"
data:
entity_id: input_boolean.tuya_hallway_entrance_lights_state
+2 -2
View File
@@ -32,8 +32,8 @@ script:
- service: light.turn_off
entity_id:
- light.living_room_all_lights
- light.hallway_all_lights
- light.kitchen_main_lights
- light.tuya_hallway_all_lights
- light.tuya_kitchen_main_lights
automation:
- alias: Routine · Bedtime · Toggle on bedside switch hold
+3 -3
View File
@@ -11,9 +11,9 @@ script:
# Enter home mode.
- service: script.security_camera_off
- service: light.turn_on
entity_id: light.hallway_entrance_lights
- service: light.turn_on
entity_id: light.hallway_main_lights
entity_id:
- light.tuya_hallway_entrance_lights
- light.tuya_hallway_main_lights
# TODO: Only if it's dark in the living room
- service: light.turn_on
+5 -5
View File
@@ -24,8 +24,8 @@ views:
cards:
- type: custom:button-card
template: small
entity: light.all_lights
name: All
entity: light.ceiling_lights
name: Ceiling
- type: custom:button-card
template: small
entity: light.living_room_main_lights
@@ -36,13 +36,13 @@ views:
name: Bedroom
- type: custom:button-card
template: small
entity: light.hallway_main_lights
entity: light.tuya_hallway_main_lights
name: Hallway
- type: horizontal-stack
cards:
- type: custom:button-card
template: small
entity: light.kitchen_main_lights
entity: light.tuya_kitchen_main_lights
name: Kitchen
- type: custom:button-card
template: small
@@ -53,7 +53,7 @@ views:
name: Bedside
- type: custom:button-card
template: small
entity: light.hallway_entrance_lights
entity: light.tuya_hallway_entrance_lights
name: Entrance
- type: horizontal-stack