Refactor using sequence choosers

This commit is contained in:
2020-08-15 21:19:43 +03:00
parent fb7ca0108b
commit 82146b7346
4 changed files with 335 additions and 537 deletions
@@ -32,6 +32,8 @@ cards:
service: automation.reload service: automation.reload
- entity: sensor.automations_count - entity: sensor.automations_count
icon: mdi:pound icon: mdi:pound
- automation.living_room_opple
- automation.bedroom_opple
- automation.titanium_turn_off_when_idle - automation.titanium_turn_off_when_idle
- automation.titanium_notify_on_vibration_sensor_move - automation.titanium_notify_on_vibration_sensor_move
- automation.speech_enable_when_meeting_is_over - automation.speech_enable_when_meeting_is_over
@@ -72,10 +74,8 @@ cards:
- automation.lighting_kitchen_night_mode_motion_turn_lights_on - automation.lighting_kitchen_night_mode_motion_turn_lights_on
- automation.lighting_kitchen_night_mode_motion_turn_lights_off - automation.lighting_kitchen_night_mode_motion_turn_lights_off
- type: divider - type: divider
- automation.lighting_hallway_day_mode_motion_turn_lights_on - automation.lighting_hallway_motion_on
- automation.lighting_hallway_day_mode_motion_turn_lights_off - automation.lighting_hallway_motion_off
- automation.lighting_hallway_night_mode_motion_turn_lights_on
- automation.lighting_hallway_night_mode_motion_turn_lights_off
- type: divider - type: divider
- automation.lighting_sync_tasmota_states_on_start_up - automation.lighting_sync_tasmota_states_on_start_up
- type: divider - type: divider
@@ -199,52 +199,6 @@ cards:
- automation.wallmote_living_room_4_tap_toggle_ac - automation.wallmote_living_room_4_tap_toggle_ac
- automation.wallmote_living_room_4_hold_toggle_titanium - automation.wallmote_living_room_4_hold_toggle_titanium
- type: entities
title: Bedroom Opple (opple_1)
show_header_toggle: true
icon: mdi:light-switch
entities:
- automation.lighting_master_bedroom_opple_turn_off_all_lights_on_1_click
- automation.lighting_master_bedroom_opple_turn_on_all_lights_on_2_click
- automation.lighting_master_bedroom_opple_turn_off_lights_on_1_double
- automation.lighting_master_bedroom_opple_turn_on_lights_on_2_double
- automation.lighting_master_bedroom_opple_turn_off_all_ambient_lights_on_1_triple
- automation.lighting_master_bedroom_opple_turn_on_ambient_lights_on_2_triple
- automation.media_master_bedroom_opple_toggle_music_on_3_single
- automation.media_master_bedroom_opple_bring_tv_on_3_double
- automation.media_master_bedroom_opple_bring_bedroom_on_3_triple
- automation.media_master_bedroom_opple_next_song_on_3_release
- automation.media_master_bedroom_opple_play_chill_on_4_single
- automation.media_master_bedroom_opple_play_starred_on_4_double
- automation.media_master_bedroom_opple_play_retro_on_4_triple
- automation.climate_master_bedroom_opple_turn_off_purifier_on_5_single
- automation.climate_master_bedroom_opple_turn_on_purifier_on_6_single
- type: entities
title: Living room Opple (opple_2)
show_header_toggle: true
icon: mdi:light-switch
entities:
- automation.lighting_living_room_opple_turn_off_all_lights_on_1_click
- automation.lighting_living_room_opple_turn_on_all_lights_on_2_click
- automation.lighting_living_room_opple_turn_off_lights_on_1_double
- automation.lighting_living_room_opple_turn_on_lights_on_2_double
- automation.lighting_living_room_opple_turn_off_all_ambient_lights_on_1_triple
- automation.lighting_living_room_opple_turn_on_ambient_lights_on_2_triple
- automation.lighting_living_room_opple_ambient_lights_neon_on_2_release
- automation.media_living_room_opple_toggle_music_on_3_single
- automation.media_living_room_opple_bring_tv_on_3_double
- automation.media_living_room_opple_bring_bedroom_on_3_triple
- automation.media_living_room_opple_next_song_on_3_release
- automation.media_living_room_opple_play_chill_on_4_single
- automation.media_living_room_opple_play_starred_on_4_double
- automation.media_living_room_opple_play_retro_on_4_triple
- automation.climate_living_room_opple_turn_off_ac_on_5_single
- automation.climate_living_room_opple_ac_temp_down_on_5_double
- automation.climate_living_room_opple_turn_on_ac_on_6_single
- automation.climate_living_room_opple_ac_temp_up_on_6_double
- automation.media_living_room_opple_fireplace_on_6_triple_click
- type: entities - type: entities
title: Magic Cube title: Magic Cube
show_header_toggle: false show_header_toggle: false
@@ -21,29 +21,26 @@ sensor:
value_template: "{{ value_json.linkquality }}" value_template: "{{ value_json.linkquality }}"
automation: automation:
- alias: Bedroom · Opple
# Lights mode: queued
- alias: Lighting · Master bedroom · Opple · Turn off all lights on 1 click
trigger: trigger:
platform: mqtt platform: mqtt
topic: "z2m_deconz/opple_1" topic: "z2m_deconz/opple_1"
condition: action:
- choose:
- conditions:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_1_single' state: 'button_1_single'
action: sequence:
- service: light.turn_off - service: light.turn_off
entity_id: light.master_bedroom entity_id: light.master_bedroom
- alias: Lighting · Master bedroom · Opple · Turn on all lights on 2 click - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_2_single' state: 'button_2_single'
action: sequence:
- service: light.turn_on - service: light.turn_on
data_template: data_template:
entity_id: light.master_bedroom entity_id: light.master_bedroom
@@ -55,27 +52,19 @@ automation:
100 100
{% endif %} {% endif %}
- alias: Lighting · Master bedroom · Opple · Turn off lights on 1 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_1_double' state: 'button_1_double'
action: sequence:
- service: light.turn_off - service: light.turn_off
entity_id: light.master_bedroom_main entity_id: light.master_bedroom_main
- alias: Lighting · Master bedroom · Opple · Turn on lights on 2 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_2_double' state: 'button_2_double'
action: sequence:
- service: light.turn_on - service: light.turn_on
data_template: data_template:
entity_id: light.master_bedroom_main entity_id: light.master_bedroom_main
@@ -87,29 +76,21 @@ automation:
100 100
{% endif %} {% endif %}
- alias: Lighting · Master bedroom · Opple · Turn off all ambient lights on 1 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_1_triple' state: 'button_1_triple'
action: sequence:
- service: light.turn_off - service: light.turn_off
entity_id: entity_id:
- light.bedside - light.bedside
- light.bed_led - light.bed_led
- alias: Lighting · Master bedroom · Opple · Turn on ambient lights on 2 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_2_triple' state: 'button_2_triple'
action: sequence:
- service: light.turn_on - service: light.turn_on
data_template: data_template:
entity_id: entity_id:
@@ -123,113 +104,73 @@ automation:
100 100
{% endif %} {% endif %}
- conditions:
# Audio
- alias: Media · Master bedroom · Opple · Toggle music on 3 single
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_3_single' state: 'button_3_single'
action: sequence:
- service: media_player.media_play_pause - service: media_player.media_play_pause
entity_id: media_player.master_bedroom entity_id: media_player.master_bedroom
- alias: Media · Master bedroom · Opple · Bring tv on 3 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_3_double' state: 'button_3_double'
action: sequence:
- service: script.sonos_join_tv - service: script.sonos_join_tv
- alias: Media · Master bedroom · Opple · Bring bedroom on 3 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_3_triple' state: 'button_3_triple'
action: sequence:
- service: script.sonos_join_bedroom - service: script.sonos_join_bedroom
- alias: Media · Master bedroom · Opple · Next song on 3 release - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_3_release' state: 'button_3_release'
action: sequence:
- service: media_player.play_next - service: media_player.play_next
entity_id: media_player.master_bedroom entity_id: media_player.master_bedroom
- alias: Media · Master bedroom · Opple · Play chill on 4 single - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_4_single' state: 'button_4_single'
action: sequence:
- service: script.music_play - service: script.music_play
- alias: Media · Master bedroom · Opple · Play Starred on 4 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_4_double' state: 'button_4_double'
action: sequence:
- service: script.music_play - service: script.music_play
data: data:
playlist: 'Starred' playlist: 'Starred'
- alias: Media · Master bedroom · Opple · Play Retro on 4 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_4_triple' state: 'button_4_triple'
action: sequence:
- service: script.music_play - service: script.music_play
data: data:
playlist: 'Retro' playlist: 'Retro'
- conditions:
# Climate
- alias: Climate · Master bedroom · Opple · Turn off purifier on 5 single
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_5_single' state: 'button_5_single'
action: sequence:
- service: fan.turn_off - service: fan.turn_off
entity_id: fan.philips_airpurifier entity_id: fan.philips_airpurifier
- alias: Climate · Master bedroom · Opple · Turn on purifier on 6 single - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_1"
condition:
- condition: state - condition: state
entity_id: sensor.bedroom_opple_action entity_id: sensor.bedroom_opple_action
state: 'button_6_single' state: 'button_6_single'
action: sequence:
- service: fan.turn_on - service: fan.turn_on
entity_id: fan.philips_airpurifier entity_id: fan.philips_airpurifier
@@ -21,238 +21,163 @@ sensor:
value_template: "{{ value_json.linkquality }}" value_template: "{{ value_json.linkquality }}"
automation: automation:
- alias: Living room · Opple
# Lights mode: queued
- alias: Lighting · Living room · Opple · Turn off all lights on 1 click
trigger: trigger:
platform: mqtt platform: mqtt
topic: "z2m_deconz/opple_2" topic: "z2m_deconz/opple_2"
condition: action:
- choose:
- conditions:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_1_single' state: 'button_1_single'
action: sequence:
- service: light.turn_off - service: light.turn_off
entity_id: light.living_room entity_id: light.living_room
- alias: Lighting · Living room · Opple · Turn on all lights on 2 click - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_2_single' state: 'button_2_single'
action: sequence:
- service: light.turn_on - service: light.turn_on
entity_id: light.living_room entity_id: light.living_room
- alias: Lighting · Living room · Opple · Turn off lights on 1 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_1_double' state: 'button_1_double'
action: sequence:
- service: light.turn_off - service: light.turn_off
entity_id: light.living_room_main entity_id: light.living_room_main
- alias: Lighting · Living room · Opple · Turn on lights on 2 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_2_double' state: 'button_2_double'
action: sequence:
- service: light.turn_on - service: light.turn_on
entity_id: light.living_room_main entity_id: light.living_room_main
- alias: Lighting · Living room · Opple · Turn off all ambient lights on 1 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_1_triple' state: 'button_1_triple'
action: sequence:
- service: light.turn_off - service: light.turn_off
entity_id: light.living_room_ambient entity_id: light.living_room_ambient
- alias: Lighting · Living room · Opple · Turn on ambient lights on 2 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_2_triple' state: 'button_2_triple'
action: sequence:
- service: light.turn_on - service: light.turn_on
entity_id: light.living_room_ambient entity_id: light.living_room_ambient
- alias: Lighting · Living room · Opple · Ambient lights neon on 2 release - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_2_release' state: 'button_2_release'
action: sequence:
- service: script.scene_living_room_ambient_neon - service: script.scene_living_room_ambient_neon
- conditions:
# Audio
- alias: Media · Living room · Opple · Toggle music on 3 single
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_3_single' state: 'button_3_single'
action: sequence:
- service: media_player.media_play_pause - service: media_player.media_play_pause
entity_id: media_player.living_room entity_id: media_player.living_room
- alias: Media · Living room · Opple · Bring tv on 3 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_3_double' state: 'button_3_double'
action: sequence:
- service: script.sonos_join_tv - service: script.sonos_join_tv
- alias: Media · Living room · Opple · Bring bedroom on 3 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_3_triple' state: 'button_3_triple'
action: sequence:
- service: script.sonos_join_bedroom - service: script.sonos_join_bedroom
- alias: Media · Living room · Opple · Next song on 3 release - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_3_release' state: 'button_3_release'
action: sequence:
- service: media_player.play_next - service: media_player.play_next
entity_id: media_player.living_room entity_id: media_player.living_room
- alias: Media · Living room · Opple · Play chill on 4 single - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_4_single' state: 'button_4_single'
action: sequence:
- service: script.music_play - service: script.music_play
- alias: Media · Living room · Opple · Play Starred on 4 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_4_double' state: 'button_4_double'
action: sequence:
- service: script.music_play - service: script.music_play
data: data:
playlist: 'Starred' playlist: 'Starred'
- alias: Media · Living room · Opple · Play Retro on 4 triple - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_4_triple' state: 'button_4_triple'
action: sequence:
- service: script.music_play - service: script.music_play
data: data:
playlist: 'Retro' playlist: 'Retro'
- conditions:
# Climate
- alias: Climate · Living room · Opple · Turn off AC on 5 single
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_5_single' state: 'button_5_single'
action: sequence:
- service: climate.turn_off - service: climate.turn_off
entity_id: climate.toshiba_ac entity_id: climate.toshiba_ac
- alias: Climate · Living room · Opple · AC Temp down on 5 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_5_double' state: 'button_5_double'
action: sequence:
- service: climate.set_temperature - service: climate.set_temperature
entity_id: climate.toshiba_ac entity_id: climate.toshiba_ac
data_template: data_template:
temperature: "{{ state_attr('climate.toshiba_ac', 'temperature') | int -1}}" temperature: "{{ state_attr('climate.toshiba_ac', 'temperature') | int -1}}"
- alias: Climate · Living room · Opple · Turn on AC on 6 single - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_6_single' state: 'button_6_single'
action: sequence:
- service: script.toshiba_ac_on_cool - service: script.toshiba_ac_on_cool
- alias: Climate · Living room · Opple · AC Temp up on 6 double - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_6_double' state: 'button_6_double'
action: sequence:
- service: climate.set_temperature - service: climate.set_temperature
entity_id: climate.toshiba_ac entity_id: climate.toshiba_ac
data_template: data_template:
temperature: "{{ state_attr('climate.toshiba_ac', 'temperature') | int +1}}" temperature: "{{ state_attr('climate.toshiba_ac', 'temperature') | int +1}}"
- alias: Media · Living room · Opple · Fireplace on 6 triple click - conditions:
trigger:
platform: mqtt
topic: "z2m_deconz/opple_2"
condition:
- condition: state - condition: state
entity_id: sensor.living_room_opple_action entity_id: sensor.living_room_opple_action
state: 'button_6_triple' state: 'button_6_triple'
action: sequence:
- service: automation.turn_off - service: automation.turn_off
entity_id: automation.tv_sonos_join_tv_on_google_cast entity_id: automation.tv_sonos_join_tv_on_google_cast
@@ -282,4 +207,3 @@ automation:
- delay: 00:01:00 - delay: 00:01:00
- service: automation.turn_on - service: automation.turn_on
entity_id: automation.tv_sonos_join_tv_on_google_cast entity_id: automation.tv_sonos_join_tv_on_google_cast
@@ -1,44 +1,20 @@
automation: automation:
- alias: Lighting · Hallway · Day mode · Motion · Turn lights on - alias: Lighting · Hallway · Motion On
trigger: trigger:
platform: state platform: state
entity_id: binary_sensor.hallway_motion_occupancy entity_id: binary_sensor.hallway_motion_occupancy
to: "on" to: "on"
condition:
condition: state
entity_id: input_select.house_mode
state: 'day'
action: action:
- service: light.turn_on - choose:
entity_id: light.hallway - conditions:
- alias: Lighting · Hallway · Day mode · Motion · Turn lights off
trigger:
platform: state
entity_id: binary_sensor.hallway_motion_occupancy
to: "off"
for:
minutes: 5
condition:
condition: state
entity_id: input_select.house_mode
state: 'day'
action:
- service: light.turn_off
entity_id: light.hallway
- alias: Lighting · Hallway · Night mode · Motion · Turn lights on
trigger:
platform: state
entity_id: binary_sensor.hallway_motion_occupancy
to: "on"
condition:
condition: not
conditions:
- condition: state - condition: state
entity_id: input_select.house_mode entity_id: input_select.house_mode
state: 'day' state: 'day'
action: sequence:
- service: light.turn_on
entity_id: light.hallway
default:
- service: light.turn_on - service: light.turn_on
entity_id: light.light_lohas_6 entity_id: light.light_lohas_6
data: data:
@@ -48,20 +24,23 @@ automation:
data: data:
brightness_pct: 13 brightness_pct: 13
- alias: Lighting · Hallway · Night mode · Motion · Turn lights off - alias: Lighting · Hallway · Motion Off
trigger: trigger:
platform: state platform: state
entity_id: binary_sensor.hallway_motion_occupancy entity_id: binary_sensor.hallway_motion_occupancy
to: "off" to: "off"
for: for:
minutes: 5 minutes: 5
condition: action:
condition: not - choose:
conditions: - conditions:
- condition: state condition: state
entity_id: input_select.house_mode entity_id: input_select.house_mode
state: 'day' state: 'day'
action: sequence:
- service: light.turn_off
entity_id: light.hallway
default:
- service: light.turn_on - service: light.turn_on
entity_id: entity_id:
- light.light_le_8 - light.light_le_8