ZHA - Ecosmart 4 button remote - control 3 devices/scenes/etc

Tags: #<Tag:0x00007fc40bcd0100> #<Tag:0x00007fc41dbe6ed0> #<Tag:0x00007fc41dbe6818>

Summary
This blueprint allows you to easily control multiple devices/scenes using an Ecosmart 4 button Remote from Home Depot.

This blueprint is influenced by @SteveHome’s Ecosmart 4 button Circadian Lighting blueprint.

Notes
The 4th (bottom) button is not able to be programmed. It sends multiple ZHA events, which frequently (but not always) will trigger whatever you have mapped to the third button as well as the unique event for the 4th button. I have spoken with @SteveHome about this and we both think it’s possible that it may be able to configure it to work using an input boolean, but we have not investigated this possibility as of yet. Help would be welcomed on this issue.

The blueprint is configured such that you can set up the 4th button, but be advised that it is not reliably functional. I chose to leave the configuration in so that the blueprint is easily modified if someone figures out how to make it work, or for the person who has a use case where triggering the third button may not be terrible (such as a turn on the ceiling lights AND lamps type of use scenario)

This blueprint is for the ZHA integration.

Potential further development
As mentioned above, the 4th button is not functional. The dilemma with it is as follows:

The 4th button frequently (but not always) sends 2 events: “move_to_level_with_on_off” which is unique to this button and “move_to_color_temp”, which is the same as the event triggered by the third button.

It always sends the “move_to_level_with_on_off” event, and sends the “move_to_color_temp” event most of the time (probably 3 out of 4 pushes).

This means it can’t do anything reliably, because it will generally, but not consistently also trigger whatever is bound to the 3rd button as well as it’s unique event.

It’s possible that this could be overcome with a virtual switch/input boolean, but I do not have enough experience to figure this out myself. I’d love community input to get it working.

Blueprint

blueprint:
  name: ZHA - Ecosmart 4 button remote - control 3 devices/scenes/etc
  description: Control devices with an Ecosmart 4-button Zigbee remote
  domain: automation
  input:
    device_ieee:
      name: Remote ID
      description: To find this, listen for zha_event in Developer Tools > Events, then press a button on your remote and identify the value of "device_ieee". It should look like "xx:xx:xx:xx:xx:xx:xx:xx"
    light_target_1:
      name: Button 1
      description: Select which light or light group you wish to control with button 1
      default: []
      selector:
        action: {}
    light_target_2:
      name: Button 2
      description: Select which light or light group you wish to control with button 2
      default: []
      selector:
        action: {}
    light_target_3:
      name: Button 3
      description: Select which light or light group you wish to control with button 3
      default: []
      selector:
        action: {}
    light_target_4:
      name: Button 4
      description: Select which light or light group you wish to control with button 4
      default: []
      selector:
        action: {}
mode: restart
trigger:
- platform: event
  event_type: zha_event
  event_data:
    device_ieee: !input device_ieee
condition: []
action:
- variables:
    command: '{{ trigger.event.data.command }}'
    args: '{{ trigger.event.data.args }}'
- choose:
  - conditions:
    - condition: or
      conditions:
      - condition: template
        value_template: '{{ command == ''on'' }}'
      - condition: template
        value_template: '{{ command == ''off'' }}'
    sequence: !input 'light_target_1'
  - conditions:
    - condition: template
      value_template: '{{ command == ''move_to_level'' }}'
    sequence: !input 'light_target_2'
  - conditions:
    - condition: template
      value_template: '{{ command == ''move_to_color_temp'' }}'
    sequence: !input 'light_target_3'
  - conditions:
    - condition: template
      value_template: '{{ command == ''move_to_level_with_on_off'' }}'
    sequence: !input 'light_target_4'```
1 Like

I can’t get this Blueprint to import. I’m getting “No valid blueprint found in the topic. Blueprint syntax blocks need to be marked as YAML or no syntax.”

The issue is the three backticks at the end ( ``` ). Once removed, the blueprint works.