Homematic - Actions for HM-RC-8 / HmIP-RC8

When a button is pressed, the defined actions will be executed. The numbering of the buttons is line by line and from left to right. Button 1 is therefore at the top left of the remote control and button 8 at the bottom right. Please keep in mind, that long-press actions might be executed multiple times, according to your configured minimum duration for long press. This can be configured in your CCU.

Please use your Devicename as shown in your CCU.

Requirements:

  • Homematic Integration for your CCU. Homematic IP Cloud is not supported!

Blueprint:

blueprint:
  name: Actions for HM-RC-8 / HmIP-RC8
  description: When a button is pressed, the defined actions will be executed. The numbering of the buttons is line by line and from left to right. Button 1 is therefore at the top left of the remote control and button 8 at the bottom right. Please keep in mind, that long-press actions might be executed multiple times, according to your configured minimum duration for long press. This can be configured in your CCU. Please also note that a double press always triggers the short press action first and the double press action second.
  domain: automation
  input:
    remote:
        name: Homematic Device Name
        description: Please select a HmIP-WRC6 entity of your Homematic (not Homematic Cloud) integration by typing in the name of the device which was set in your CCU.
    remote_serial:
        name: Homematic Device Serial
        description: Please provide the serial number of the named device, too.
    action_1_short:
        name: Action
        description: Button 1, Short Press
        default: []
        selector:
            action: {}
    action_1_double:
        name: Action
        description: Button 1, Double Press
        default: []
        selector:
            action: {}
    action_1_long:
        name: Action
        description: Button 1, Long Press
        default: []
        selector:
            action: {}
    action_2_short:
        name: Action
        description: Button 2, Short Press
        default: []
        selector:
            action: {}
    action_2_double:
        name: Action
        description: Button 2, Double Press
        default: []
        selector:
            action: {}
    action_2_long:
        name: Action
        description: Button 2, Long Press
        default: []
        selector:
            action: {}
    action_3_short:
        name: Action
        description: Button 3, Short Press
        default: []
        selector:
            action: {}
    action_3_double:
        name: Action
        description: Button 3, Double Press
        default: []
        selector:
            action: {}
    action_3_long:
        name: Action
        description: Button 3, Long Press
        default: []
        selector:
            action: {}
    action_4_short:
        name: Action
        description: Button 4, Short Press
        default: []
        selector:
            action: {}
    action_4_double:
        name: Action
        description: Button 4, Double Press
        default: []
        selector:
            action: {}
    action_4_long:
        name: Action
        description: Button 4, Long Press
        default: []
        selector:
            action: {}
    action_5_short:
        name: Action
        description: Button 5, Short Press
        default: []
        selector:
            action: {}
    action_5_double:
        name: Action
        description: Button 5, Double Press
        default: []
        selector:
            action: {}
    action_5_long:
        name: Action
        description: Button 5, Long Press
        default: []
        selector:
            action: {}
    action_6_short:
        name: Action
        description: Button 6, Short Press
        default: []
        selector:
            action: {}
    action_6_double:
        name: Action
        description: Button 6, Double Press
        default: []
        selector:
            action: {}
    action_6_long:
        name: Action
        description: Button 6, Long Press
        default: []
        selector:
            action: {}
    action_7_short:
        name: Action
        description: Button 7, Short Press
        default: []
        selector:
            action: {}
    action_7_double:
        name: Action
        description: Button 7, Double Press
        default: []
        selector:
            action: {}
    action_7_long:
        name: Action
        description: Button 7, Long Press
        default: []
        selector:
            action: {}
    action_8_short:
        name: Action
        description: Button 8, Short Press
        default: []
        selector:
            action: {}
    action_8_double:
        name: Action
        description: Button 8, Double Press
        default: []
        selector:
            action: {}
    action_8_long:
        name: Action
        description: Button 8, Long Press
        default: []
        selector:
            action: {}

trigger:
  - platform: event
    event_type: homematic.keypress
    event_data:
      name: !input 'remote'
  - platform: event
    event_type: homematic.keypress
    event_data:
      name: !input 'remote_serial'
      
condition: []
    
action:
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 1 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 1 and trigger.event.data.type == 'press_short')  }}
        sequence:
          - choose:
            default: !input 'action_1_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 1
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 1
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_1_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 1 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 1 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_1_long'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 2 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 2 and trigger.event.data.type == 'press_short') }}
        sequence:
          - choose:
            default: !input 'action_2_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 2
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 2
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_2_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 2 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 2 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_2_long'        
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 3 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 3 and trigger.event.data.type == 'press_short') }}
        sequence:
          - choose:
            default: !input 'action_3_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 3
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 3
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_3_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 3 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 3 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_3_long'
        
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 4 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 4 and trigger.event.data.type == 'press_short') }}
        sequence:
          - choose:
            default: !input 'action_4_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 4
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 4
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_4_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 4 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 4 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_4_long'        
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 5 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 5 and trigger.event.data.type == 'press_short') }}
        sequence:
          - choose:
            default: !input 'action_5_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 5
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 5
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_5_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 5 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 5 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_5_long'
        
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 6 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 6 and trigger.event.data.type == 'press_short') }}
        sequence:
          - choose:
            default: !input 'action_6_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 6
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 6
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_6_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 6 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 6 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_6_long'  

      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 7 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 7 and trigger.event.data.type == 'press_short') }}
        sequence:
          - choose:
            default: !input 'action_7_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 7
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 7
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_7_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 7 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 7 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_7_long'  

      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 8 and trigger.event.data.param == 'PRESS_SHORT') or (trigger.event.data.subtype == 8 and trigger.event.data.type == 'press_short') }}
        sequence:
          - choose:
            default: !input 'action_8_short'
          - wait_for_trigger:
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote'
                  channel: 8
                  param: 'PRESS_SHORT'
              - platform: event
                event_type: homematic.keypress
                event_data:
                  name: !input 'remote_serial'
                  channel: 8
                  param: 'PRESS_SHORT'
            continue_on_timeout: false
            timeout: '1'
          - choose:
            default: !input 'action_8_double'
      - conditions:
          - condition: template
            value_template: >-
              {{ (trigger.event.data.channel == 8 and trigger.event.data.param == 'PRESS_LONG') or (trigger.event.data.subtype == 8 and trigger.event.data.type == 'press_long_start') }}
        sequence: !input 'action_8_long'          

mode: parallel
max: 10            

Changelog:

  • 20.12.2020 - Initial Release
  • 24.07.2023 - Add support for the new custom_homematic Integration
1 Like

Danke für denn Entwurf hat mir viel Arbeit erspart :+1: