IKEA Tradfri E1743 Switch to Light via zigbee2mqtt (simple setup)

@xbmcnut you asked for it in gist, but I couldn’t paste the code there properly. So try here. Here are my little additions to the already excellent Blueprint:


blueprint:
  name: Z2M - Tradfri E1743 Switch On Off Dimming Light
  description:
    "Controls a light with a switch given by ENTITY. \n\n Short Button press
    will toggle light for both Buttons (helpfull in darkness) \n\n Mode set to restart
    is mandatory for stop after long press to work."
  domain: automation
  input:
    source_switch_action:
      name: Tradfri E1743 Switch
      description: The switch-action which triggers this automation.
      selector:
        entity:
          filter:
            - integration: mqtt
              domain:
                - sensor
          multiple: false
    target_light:
      name: Target Light
      description: the light you want to control.
      selector:
        target: {}
    force_brightness:
      name: Force turn on brightness
      description: >
        Force the brightness to the set level below, when the "on" button on
        the remote is pushed and lights turn on.
      default: false
      selector:
        boolean:
    brightness:
      name: Brightness
      description: Brightness of the light(s) when turning on
      default: 100
      selector:
        number:
          min: 0
          max: 100
          mode: slider
          step: 1
          unit_of_measurement: "%"
    helper_transition_dim:
      name: Helper - Transition time for dimming up / down
      description: Transition time in seconds for dimming up / down. 0 makes visible steps. Greater than 0.1 makes it smoother. (0.0-10.0)
      default: 0.5
      selector:
        number:
          min: 0.0
          max: 10.0
          mode: box
          step: 0.5
    helper_delay:
      name: Helper - Delay between each dimming step
      description: How long should be delayed between each step of dimming in milliseconds. 0 makes no delay. (10-2000)
      default: 200
      selector:
        number:
          min: 10
          max: 2000
          mode: box
          step: 10
  #source_url: https://gist.github.com/FloppyGit/efaa93c1d63676e30c4b61adb4a861ac
alias: Z2M - Tradfri E1743 Switch On Off Dimming Light
description: ""
variables:
  force_brightness: !input force_brightness
trigger:
  - platform: state
    entity_id: !input source_switch_action
    id: "on"
    to: "on"
  - platform: state
    entity_id: !input source_switch_action
    id: "off"
    to: "off"
  - platform: state
    entity_id: !input source_switch_action
    id: brightness_move_up
    to: brightness_move_up
  - platform: state
    entity_id: !input source_switch_action
    id: brightness_move_down
    to: brightness_move_down
  - platform: state
    entity_id: !input source_switch_action
    id: brightness_stop
    to: brightness_stop
condition: []
action:
  - variables:
      command: "{{ trigger.to_state.state }}"
  - choose:
      - conditions:
          - condition: trigger
            id:
              - "on"
        sequence:
          - choose:
              - conditions: "{{ force_brightness }}"
                sequence:
                  - service: light.toggle
                    target: !input target_light
                    data:
                      brightness_pct: !input brightness
            default:
              - service: light.toggle
                data: {}
                target: !input target_light
      - conditions:
          - condition: trigger
            id:
              - "off"
        sequence:
          - service: light.toggle
            data: {}
            target: !input target_light
      - conditions:
          - condition: trigger
            id:
              - brightness_move_up
        sequence:
          - repeat:
              sequence:
                - service: light.turn_on
                  data:
                    brightness_step_pct: 5
                    transition: !input helper_transition_dim
                  target: !input target_light
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 0
                    milliseconds: !input helper_delay
              count: 50
      - conditions:
          - condition: trigger
            id:
              - brightness_move_down
        sequence:
          - repeat:
              sequence:
                - service: light.turn_on
                  data:
                    transition: !input helper_transition_dim
                    brightness_step_pct: -5
                  target: !input target_light
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 0
                    milliseconds: !input helper_delay
              count: 50
mode: restart


EDIT: Syntax Changes with Core 2024.08 - 2024.10


blueprint:
  name: Z2M - Tradfri E1743 Switch On Off Dimming Light
  description:
    "Controls a light with a switch given by ENTITY. \n\n Short Button press
    will toggle light for both Buttons (helpfull in darkness) \n\n Mode set to restart
    is mandatory for stop after long press to work. Angepasste Blaupause! Original, siehe source_url"
  domain: automation
  input:
    source_switch_action:
      name: Tradfri E1743 Switch
      description: The switch-action which triggers this automation.
      selector:
        entity:
          filter:
            - integration: mqtt
              domain:
                - sensor
          multiple: false
    target_light:
      name: Target Light
      description: the light you want to control.
      selector:
        target: {}
    force_brightness:
      name: Force turn on brightness
      description: >
        Force the brightness to the set level below, when the "on" button on
        the remote is pushed and lights turn on.
      default: false
      selector:
        boolean:
    brightness:
      name: Brightness
      description: Brightness of the light(s) when turning on
      default: 100
      selector:
        number:
          min: 0
          max: 100
          mode: slider
          step: 1
          unit_of_measurement: "%"
    helper_transition_dim:
      name: Helper - Transition time for dimming up / down
      description: Transition time in seconds for dimming up / down. 0 makes visible steps. Greater than 0.1 makes it smoother. (0.0-10.0)
      default: 0.5
      selector:
        number:
          min: 0.0
          max: 10.0
          mode: box
          step: 0.5
    helper_delay:
      name: Helper - Delay between each dimming step
      description: How long should be delayed between each step of dimming in milliseconds. 0 makes no delay. (10-2000)
      default: 200
      selector:
        number:
          min: 10
          max: 2000
          mode: box
          step: 10
  #source_url: https://gist.github.com/FloppyGit/efaa93c1d63676e30c4b61adb4a861ac
alias: Z2M - Tradfri E1743 Switch On Off Dimming Light
description: ""
variables:
  force_brightness: !input force_brightness
triggers:
  - trigger: state
    entity_id: !input source_switch_action
    id: "on"
    to: "on"
  - trigger: state
    entity_id: !input source_switch_action
    id: "off"
    to: "off"
  - trigger: state
    entity_id: !input source_switch_action
    id: brightness_move_up
    to: brightness_move_up
  - trigger: state
    entity_id: !input source_switch_action
    id: brightness_move_down
    to: brightness_move_down
  - trigger: state
    entity_id: !input source_switch_action
    id: brightness_stop
    to: brightness_stop
conditions: []
actions:
  - variables:
      command: "{{ trigger.to_state.state }}"
  - choose:
      - conditions:
          - condition: trigger
            id:
              - "on"
        sequence:
          - choose:
              - conditions: "{{ force_brightness }}"
                sequence:
                  - action: light.toggle
                    target: !input target_light
                    data:
                      brightness_pct: !input brightness
            default:
              - action: light.toggle
                data: {}
                target: !input target_light
      - conditions:
          - condition: trigger
            id:
              - "off"
        sequence:
          - action: light.toggle
            data: {}
            target: !input target_light
      - conditions:
          - condition: trigger
            id:
              - brightness_move_up
        sequence:
          - repeat:
              sequence:
                - action: light.turn_on
                  data:
                    brightness_step_pct: 5
                    transition: !input helper_transition_dim
                  target: !input target_light
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 0
                    milliseconds: !input helper_delay
              count: 50
      - conditions:
          - condition: trigger
            id:
              - brightness_move_down
        sequence:
          - repeat:
              sequence:
                - action: light.turn_on
                  data:
                    transition: !input helper_transition_dim
                    brightness_step_pct: -5
                  target: !input target_light
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 0
                    milliseconds: !input helper_delay
              count: 50
mode: restart

2 Likes