Skip to content

Latest commit

 

History

History
110 lines (93 loc) · 2.2 KB

Switches.md

File metadata and controls

110 lines (93 loc) · 2.2 KB

Home | Switches | Actions | Templates | Background Service | Trouble Shooting | Version History

Switches

This is the simplest form:

 {
   "entity": "light.bedside_light_switch",
   "name": "Bedroom Light",
   "type": "toggle"
 },

And with an optional confirmation:

 {
   "entity": "light.exterior",
   "name": "Exterior Lights",
   "type": "toggle",
   "tap_action": {
     "confirm": true
   }
 }

or an optional PIN confirmation:

 {
   "entity": "light.exterior",
   "name": "Exterior Lights",
   "type": "toggle",
   "tap_action": {
     "pin": true
   }
 }

To support a non-standard light, switch, or automation as a toggle menu item you may like to define a custom switch. In order to facilitate custom switches at this time, you must create a template switch in HomeAssistant.

switch:
  - platform: template
    switches:
      <switch-name>:
        friendly_name: <name>
        value_template: <value>
        turn_on:
          service: <service>
          data:
            entity_id: <entity>
            <attribute>: <value>
        turn_off:
          service: <service>
          data:
            entity_id: <entity>
            <attribute>: <value>

Then you can use the following in your config:

{
  "entity": "switch.<switch-name>",
  "name": "<name>",
  "type": "toggle"
}

And you can optionally include a template to reflect some status. See Templates for details on hwo to use this JSON field.

{
  "entity": "switch.<switch-name>",
  "name": "<name>",
  "type": "toggle",
  "content": "..."
}

Example - Covers

switch:
  - platform: template
    switches:
      cover:
        friendly_name: Cover
        value_template: "{{ is_state('cover.cover', 'open') }}"
        turn_on:
          service: cover.open_cover
          data:
            entity_id: cover.cover
        turn_off:
          service: cover.close_cover
          data:
            entity_id: cover.cover

Then you can use the following in your config:

{
  "entity": "switch.cover",
  "name": "Cover",
  "type": "toggle"
}