number:
  - platform: template
    id: test_number
    optimistic: true
    min_value: 0
    max_value: 255
    step: 1

button:
  - platform: template
    name: Beo4 audio mute
    id: beo4_audio_mute
    on_press:
      remote_transmitter.transmit_beo4:
        source: 0x01
        command: 0x0C
  - platform: template
    name: brennenstuhl
    id: button_a_on
    on_press:
      remote_transmitter.transmit_brennenstuhl:
        code: 0xBD2E2C
  - platform: template
    name: Dyson fan up
    id: dyson_fan_up
    on_press:
      remote_transmitter.transmit_dyson:
        code: 0x1215
        index: 0x0
  - platform: template
    name: JVC Off
    id: living_room_lights_on
    on_press:
      remote_transmitter.transmit_jvc:
        data: 0x10EF
  - platform: template
    name: MagiQuest
    on_press:
      remote_transmitter.transmit_magiquest:
        wand_id: 0x01234567
  - platform: template
    name: NEC
    id: living_room_lights_off
    on_press:
      remote_transmitter.transmit_nec:
        address: 0x4242
        command: 0x8484
  - platform: template
    name: LG
    on_press:
      remote_transmitter.transmit_lg:
        data: 4294967295
        nbits: 28
  - platform: template
    name: Samsung
    on_press:
      remote_transmitter.transmit_samsung:
        data: 0xABCDEF
  - platform: template
    name: Samsung36
    on_press:
      remote_transmitter.transmit_samsung36:
        address: 0x0400
        command: 0x000E00FF
  - platform: template
    name: ToshibaAC
    on_press:
      - remote_transmitter.transmit_toshiba_ac:
          rc_code_1: 0xB24DBF4050AF
          rc_code_2: 0xD5660001003C
  - platform: template
    name: Sony
    on_press:
      remote_transmitter.transmit_sony:
        data: 0xABCDEF
        nbits: 12
  - platform: template
    name: Symphony
    on_press:
      remote_transmitter.transmit_symphony:
        data: 0xE88
        nbits: 12
  - platform: template
    name: Panasonic
    on_press:
      remote_transmitter.transmit_panasonic:
        address: 0x4004
        command: 0x1000BCD
  - platform: template
    name: Pioneer
    on_press:
      - remote_transmitter.transmit_pioneer:
          rc_code_1: 0xA556
          rc_code_2: 0xA506
          repeat:
            times: 2
  - platform: template
    name: RC Switch Raw
    on_press:
      remote_transmitter.transmit_rc_switch_raw:
        code: "00101001100111110101xxxx"
        protocol: 1
  - platform: template
    name: RC Switch Type A
    on_press:
      remote_transmitter.transmit_rc_switch_type_a:
        group: "11001"
        device: "01000"
        state: true
        protocol:
          pulse_length: 175
          sync: [1, 31]
          zero: [1, 3]
          one: [3, 1]
          inverted: false
  - platform: template
    name: RC Switch Type B
    on_press:
      remote_transmitter.transmit_rc_switch_type_b:
        address: 4
        channel: 2
        state: true
  - platform: template
    name: RC Switch Type C
    on_press:
      remote_transmitter.transmit_rc_switch_type_c:
        family: "a"
        group: 1
        device: 2
        state: true
  - platform: template
    name: RC Switch Type D
    on_press:
      remote_transmitter.transmit_rc_switch_type_d:
        group: "a"
        device: 2
        state: true
  - platform: template
    name: RC5
    on_press:
      remote_transmitter.transmit_rc5:
        address: 0x00
        command: 0x0B
  - platform: template
    name: RC5 Raw static
    on_press:
      remote_transmitter.transmit_raw:
        code: [1000, -1000]
  - platform: template
    name: RC5 Raw lambda
    on_press:
      remote_transmitter.transmit_raw:
        code: !lambda |-
          return {(int32_t)id(test_number).state * 100, -1000};
  - platform: template
    name: AEHA
    id: eaha_hitachi_climate_power_on
    on_press:
      remote_transmitter.transmit_aeha:
        address: 0x8008
        carrier_frequency: 36700Hz
        data:
          [
            0x00,
            0x02,
            0xFD,
            0xFF,
            0x00,
            0x33,
            0xCC,
            0x49,
            0xB6,
            0xC8,
            0x37,
            0x16,
            0xE9,
            0x00,
            0xFF,
            0x00,
            0xFF,
            0x00,
            0xFF,
            0x00,
            0xFF,
            0x00,
            0xFF,
            0xCA,
            0x35,
            0x8F,
            0x70,
            0x00,
            0xFF,
            0x00,
            0xFF,
            0x00,
            0xFF,
            0x00,
            0xFF,
          ]
  - platform: template
    name: Haier
    on_press:
      remote_transmitter.transmit_haier:
        code:
          [
            0xA6,
            0xDA,
            0x00,
            0x00,
            0x40,
            0x40,
            0x00,
            0x80,
            0x00,
            0x00,
            0x00,
            0x00,
            0x05,
          ]
  - platform: template
    name: Mirage
    on_press:
      remote_transmitter.transmit_mirage:
        code: [0x56, 0x77, 0x00, 0x00, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
  - platform: template
    name: Dooya
    on_press:
      remote_transmitter.transmit_dooya:
        id: 0x123456
        channel: 1
        button: 1
        check: 1
  - platform: template
    name: Toto
    on_press:
      - remote_transmitter.transmit_toto:
          command: 0xEC
          rc_code_1: 0x0D
          rc_code_2: 0x0D
  - platform: template
    name: ABBWelcome static
    on_press:
      remote_transmitter.transmit_abbwelcome:
        source_address: 0x1234
        destination_address: 0x5678
        message_type: 0x01
        data: [0x10, 0x20, 0x30]
  - platform: template
    name: ABBWelcome lambda
    on_press:
      remote_transmitter.transmit_abbwelcome:
        source_address: 0x1234
        destination_address: 0x5678
        message_type: 0x01
        data: !lambda |-
          return {(uint8_t)id(test_number).state, 0x20, 0x30};
  - platform: template
    name: Digital Write
    on_press:
      - remote_transmitter.digital_write: true
      - remote_transmitter.digital_write:
          value: false
