ZHA - All Dimmer Switches - Tap On Again for Full Brightness

This blueprint allows a second on/up tap to make dimmer switches go to full brightness. If you have simple Zigbee dimmers like Jasco Enbrighten 48030 In-Wall Dimmer, these don’t support double-tap to trigger a scene or other function. This script solves that globally for all Zigbee dimmers.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

FEATURES

  • The dimmers go full bright (100%) when you turn it on a second time within a couple seconds (configurable).
  • The default on-level is preserved so the next time you turn it on, the light goes to whatever brightness you had set.
  • Applies to all Zigbee devices with a light entity that send a zha_event with command “on”, it’s not necessary to create an automation for individual lights.
  • Enbrighten Dimmers require a short pause before the second “on” tap, otherwise it treats it as a rapid tap which is used to modify some hardware settings (probably why they don’t support double-tap commands).
  • You can modify the trigger event_data filter to only apply to your specific device_id or a certain model of devices.

BLUEPRINT

blueprint:
  source_url: https://community.home-assistant.io/t/zha-all-dimmer-switches-tap-on-again-for-full-brightness/627404
  domain: automation
  name: Zigbee Dimmer Tap To Full Bright
  description: 'Tap "on" a second time to go to full brightness. Applies to all ZHA devices with a light entity.'
  input:
    second_tap_within:
      name: 'Second "On" Must Occur Within'
      selector:
        duration:
      default:
        seconds: 2
trigger:
  - platform: event
    event_type: zha_event
    event_data:
      command: 'on'
    variables:
      light_device: '{{ trigger.event.data.device_id }}'
      light_entity: >
        {% set lfind = device_entities(light_device) | select("match", "light\.") | list %}
        {{ lfind | first if lfind | length > 0 else '' }}
condition:
  - condition: template
    value_template: "{{ light_entity != '' }}"
action:
  - wait_for_trigger:
      - platform: event
        event_type: zha_event
        event_data:
          device_id: '{{ light_device }}'
          command: 'on'
      - platform: template
        value_template: "{{ is_state(light_entity, 'off') }}"
    timeout: !input second_tap_within
    continue_on_timeout: false
  - condition: template
    value_template: '{{ is_state(light_entity, "on") }}'
  - service: light.turn_on
    data:
      brightness: 255
    target:
      device_id: '{{ light_device }}'
mode: single
max_exceeded: silent

Any chance someone has this for MQTT