Skip to content

Instantly share code, notes, and snippets.

@Blackshome
Last active January 4, 2024 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Blackshome/dbcd8ebfdd0350144fc1503fc0fa8112 to your computer and use it in GitHub Desktop.
Save Blackshome/dbcd8ebfdd0350144fc1503fc0fa8112 to your computer and use it in GitHub Desktop.
switch-turn-on-off-entities.yaml
blueprint:
name: Switch - Turn ON & OFF Entities
description: >
# 🔛 Switch - Turn ON & OFF Entities
**Version: 1.3**
Let us know what you think of this blueprint and for community support including updates: [Click Here](https://community.home-assistant.io/t/switch-turn-on-off-entities/481546)
**The Automation Process:**
- When you turn any switch ON it will turn ON the main entity input.
- When you turn all the switches OFF it will turn OFF the main entity input.
- You have the option to input an alternating entity that will be the opposite state to the main entity.
**NOTE** - The switch can be any entity with an ON & OFF state.
Required = *
Need help? See our FAQ: [Click Here](https://community.home-assistant.io/t/switch-turn-on-off-entities/481546/2?u=blacky)
**If you like my blueprints, and would like to show your support or just say thank you?** [Click Here](https://www.paypal.com/donate/?hosted_button_id=WAZS3QSDTPGA8) 🙂
domain: automation
input:
switch:
name: Switch *
description: The switch that controls the entities.
selector:
entity:
multiple: true
main_entity:
name: Main Entity *
description: The main entity that will be turned ON when the switch is ON.
selector:
entity:
multiple: true
alternating_entity:
name: Alternating Entity (optional)
description: The alternating entity that will be the opposite state to the main entity when the switch is ON.
default: []
selector:
entity:
multiple: true
variables:
switch: !input switch
main_entity: !input main_entity
alternating_entity: !input alternating_entity
trigger:
- platform: state
entity_id: !input switch
from: "off"
to: "on"
- platform: state
entity_id: !input switch
from: "on"
to: "off"
for:
milliseconds: 200
action:
- choose:
- alias: "Check if any alternating entity are enter in"
conditions:
- "{{ alternating_entity == [] }}"
sequence:
- choose:
- alias: "Check if switch is on"
conditions:
- condition: state
entity_id: !input switch
state: 'on'
match: any
sequence:
- alias: "Turn ON the main entities"
service: homeassistant.turn_on
target:
entity_id: !input main_entity
- alias: "Check if switch is off"
conditions:
- condition: state
entity_id: !input switch
state: 'off'
sequence:
- alias: "Turn OFF the main entities"
service: homeassistant.turn_off
target:
entity_id: !input main_entity
default:
- choose:
- alias: "Check if switch is on"
conditions:
- condition: state
entity_id: !input switch
state: 'on'
match: any
sequence:
- alias: "Turn ON the main entities"
service: homeassistant.turn_on
target:
entity_id: !input main_entity
- alias: "Turn OFF the alternating entity entities"
service: homeassistant.turn_off
target:
entity_id: !input alternating_entity
- alias: "Check if switch is off"
conditions:
- condition: state
entity_id: !input switch
state: 'off'
sequence:
- alias: "Turn OFF the main entities"
service: homeassistant.turn_off
target:
entity_id: !input main_entity
- alias: "Turn ON the alternating entity entities"
service: homeassistant.turn_on
target:
entity_id: !input alternating_entity
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment