Cannot send irda command to Samsung climate (other device just work)

Dear all,

I’ve setup an ESP32 with an irda receiver and an irda sender.
I’m (quite) sure everything is ok, because this setup works when replicating commands sent to a rgb led strip (some cheap leds, but actually it works!).

What I’ve tried so far:

  • capturing the leds irda code: I can read pronto, nec, a bunch of other protocols, and raw
  • sending the irda command to the leds: it works with pronto and nec
  • capturing the samsung code: I can get pronto and raw
  • sending the irda commands to samsung:
    • if I send raw, nothing happens
    • if I send pronto, I get the following error:

[10:02:31][D][button:013]: ‘Samsung Pronto 1’ Pressed.
[10:02:31][D][remote.pronto:101]: Send Pronto: frequency=38kHz
[10:02:31][D][remote.pronto:106]: Send Pronto: intros=348
[10:02:31][D][remote.pronto:107]: Send Pronto: repeats=0
[10:02:31][V][esp-idf:000]: E (24262) rmt: rmt_write_items(804): RMT ADDRESS ERR

[10:02:31][W][remote_transmitter:119]: rmt_write_items failed: ESP_FAIL
[10:02:31][V][component:199]: Component web_server took a long time for an operation (0.05 s).
[10:02:31][V][component:200]: Components should block for at most 20-30ms.

The same Samsung climate is now communicating with a RM mini, so I suppose that a way to send commands exists!

Can you please help me?

Here it is the device code:

substitutions:
  devicename: rsirda
  upper_devicename: RSIrda

esphome:
  name: ${devicename}

esp32:
  board: lolin_d32
  framework:
    type: arduino

# Enable logging
logger:
  level: VERBOSE

# Enable Home Assistant API
api:
  password: "a"

ota:
  password: "a"

wifi:
  ssid: "ssid"
  password: "password"


captive_portal:


remote_receiver:
  pin:
    number: 25
    inverted: true
    # mode: INPUT_PULLUP
  dump: all #all #raw # all
    
remote_transmitter:
  pin: 14
  carrier_duty_percent: 50%

button:

  - platform: template
    name: "Red Pronto" # OK
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 0022 0000 015C 00B0 0015 0018 0014 0018 0014 0018 0015 0017 0015 0017 0015 0017 0015 0017 0014 0018 0014 0041 0015 0041 0015 0042 0014 0041 0015 0018 0015 0041 0016 0041 0015 0042 0016 0017 0015 0017 0015 0041 0016 0017 0015 0017 0015 0017 0015 0017 0015 0017 0015 0040 0016 0041 0016 0017 0015 0040 0016 0040 0016 0040 0016 0040 0016 0040 0016 06C3"

  - platform: template
    name: "Red JVC"
    on_press:
      - remote_transmitter.transmit_jvc:
          data: 0x00F7

  - platform: template
    name: "Red LG"
    on_press:
      - remote_transmitter.transmit_lg:
          data: 0x00F720DF
          nbits: 32

  - platform: template
    name: "Red NEC"
    on_press:
      - remote_transmitter.transmit_nec:
          address: 0xEF00
          command: 0xFA05

# [10:49:44][D][remote.raw:028]: Received Raw: 9058, -4538, 575, -564, 600, -537, 574, -563, 598, -539, 575, -564, 574, -563, 572, -565, 575, -562, 575, -1676, 574, -1677, 574, -1675, 575, -1676, 598, -539, 574, -1676, 599, -1651, 576, -1675, 600, -537, 575, -564, 572, -1676, 574, -565, 
# [10:49:44][D][remote.raw:041]:   598, -538, 574, -563, 574, -563, 574, -564, 573, -1677, 598, -1651, 574, -565, 599, -1652, 572, -1676, 599, -1652, 594, -1658, 597, -1652, 574
# [10:49:44][D][remote.raw:041]: Received Raw: 9054, -2259, 598




  - platform: template
    name: "Samsung Pronto 1"
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 00AE 0000 0072 015E 0011 0019 0013 003B 0011 0018 0013 0015 0011 0018 0013 0015 000F 001A 000E 0019 0014 0015 0010 003F 0013 0016 0010 0019 0015 003A 0011 0018 0011 0018 0013 003B 0013 003D 0010 003F 0015 003A 0011 0040 0013 0015 000E 001A 0015 0015 0010 0019 0015 0013 0011 0016 0013 0017 0012 0016 000E 001A 0014 0015 000E 001B 0010 0019 0013 0015 0012 0017 0014 0013 0010 0019 0013 0017 000E 0019 0012 0016 0011 0018 0012 0017 0013 0015 000E 001"

  - platform: template
    name: "Samsung Pronto 2"
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 00AE 0000 0072 015E 0012 0017 0014 003A 0012 0017 0011 0017 0014 0015 0010 0018 0013 0016 0012 0016 0013 0016 0013 003B 000E 001B 0014 0016 000F 003F 0013 0016 0011 0016 0013 003B 0010 003F 0015 003B 000F 003F 0013 003C 0012 0016 0011 0018 0014 0015 000E 001B 0014 0013 000E 001A 0015 0017 000F 0017 0011 0018 0013 0016 0010 0019 0012 0016 0013 0016 0012 0016 0011 0016 0012 0018 0013 0016 000E 001A 0013 0015 000F 001A 0012 0018 0011 0016 0011 001"

  - platform: template
    name: "Samsung Pronto 3"
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 00AE 0000 0074 015C 000E 001B 0015 003A 000E 001B 0012 0016 000F 001A 0012 0016 0013 0016 000D 001B 0014 0015 0011 003E 0013 0016 000E 001B 0015 003A 000E 001B 0012 0016 0011 003D 0014 003C 000F 0040 0015 003A 000E 0042 0012 0016 0012 0016 0013 0016 0013 0016 0012 0017 0013 0015 0012 0018 0011 0017 0011 0016 0013 0016 0012 0017 000D 001B 0012 0016 0010 0019 0015 0013 0010 0019 0012 0018 0013 0015 000E 001A 0014 0016 000D 001B 0013 0015 0011 001"






  - platform: template
    name: "Pronto test 1"
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 00AE 0000 0071 015D 0013 0015 0013 003D 0012 0015 0013 0016 0012 0016 0012 0016 0013 0015 0013 0016 0012 0016 0012 003D 0012 0016 0011 0017 0012 003D 0012 003D 0012 0015 0013 003C 0013 003D 0012 003D 0013 003C 0013 003C 0012 0016 0012 0016 0012 0016 0013 0015 0013 0015 0013 0016 0012 0016 0013 0015 0013 0015 0015 0016 0012 0016 0012 0016 0012 0016 0015 0016 0011 0017 0013 0015 0013 0015 0015 0016 0013 0015 0013 0016 0012 0016 0014 0016 0012 001"
  # - platform: template
  #   name: "Pronto 26 °C light off"
  #   on_press:
  #     - remote_transmitter.transmit_pronto:
  #         data: "0000 006D 0074 0000 0071 015D 0012 0018 000F 0040 0011 0017 0011 0018 000F 001A 0011 0017 0011 0018 0011 0018 0010 001A 0011 003D 0011 0018 000F 001A 0011 003E 0011 0019 000F 001A 0011 003E 0010 0040 0012 003E 0010 003F 0012 003E 0010 0019 0011 0018 0011 0017 0011 0019 000F 001A 0011 0017 0011 0017 0011 0017 0010 001A 000F 001A 0011 0018 0011 0017 0011 0018 000F 001A 0011 0017 0011 0017 0011 0018 0010 001A 0011 0018 0011 0017 0011 0017 0011 0019 000F 001"
  # - platform: template
  #   name: "Pronto off"
  #   on_press:
  #     - remote_transmitter.transmit_pronto:
  #         data: "0000 006D 00AE 0000 0071 015E 0011 0019 0011 003E 0011 0018 000F 001A 0011 0017 0011 0017 0011 0017 0010 001A 0011 0018 0011 003E 0010 001A 0011 0017 0011 003E 0012 003E 0011 0019 000F 003F 0011 003E 0012 003F 0012 003E 0011 003E 0012 0018 0011 0017 0011 0018 000F 001A 0011 0018 0011 0018 0011 0017 0010 001A 0010 0019 0013 0017 0010 001A 0011 0017 0011 0018 0013 0019 0010 0019 000F 001A 0011 0018 0013 0019 0010 0019 0011 0018 0011 0017 0013 0018 0011 001"
  - platform: template
    name: "Raw - On 26C"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [2960, -9069, 426, -646, 453, -1582, 453, -592, 454, -616, 423, -620, 454, -591, 453, -587, 455, -617, 398, -646, 454, -1584, 477, -589, 455, -616, 423, -1588, 478, -590, 454, -616, 426, -1609, 426, -1636, 454, -1584, 447, -1589, 477, -1585, 
                  474, -592, 454, -590, 454, -590, 424, -645, 423, -622, 453, -590, 454, -589, 454, -616, 399, -646, 454, -589, 454, -590, 455, -615, 400, -644, 425, -619, 454, -589, 454, -591, 424, -645, 398, -646, 454, -590, 454, -590, 425, -644, 399, -645, 454, -590, 
                  454, -590, 454, -615, 399, -645, 454, -590, 454, -590, 455, -589, 454, -616, 398, -645, 455, -590, 453, -1584, 478, -1581, 454, -1584, 478, -1584, 426, -2698, 2934, -9069, 478, -1637, 453, -591, 453, -590, 454, -593, 423, -644, 454, -590, 454, -589, 
                  454, -590, 454, -617, 455, -1606, 454, -590, 453, -590, 425, -1636, 454, -590, 455, -1607, 454, -1583, 424, -1637, 453, -1608, 454, -1582, 425, -1636, 453, -590, 427, -617, 480, -591, 453, -590, 426, -645, 453, -591, 453, -589, 426, -645, 453, -590, 
                  453, -617, 399, -645, 453, -592, 452, -590, 425, -618, 482, -589, 455, -615, 398, -646, 453, -592, 452, -591, 449, -593, 482, -588, 454, -590, 451, -621, 453, -590, 453, -590, 452, -619, 453, -590, 454, -617, 450, -593, 454, -590, 454, -590, 480, -590, 
                  453, -590, 454, -590, 481, -589, 454, -590, 427, -1266, 2935, -9067, 483, -1607, 398, -646, 454, -590, 454, -615, 428, -616, 399, -646, 453, -590, 454, -590, 454, -589, 425, -1637, 454, -592, 452, -616, 454, -591, 453, -616, 456, -1579, 454, -1582, 
                  480, -589, 454, -1584, 478, -1580, 454, -1608, 455, -591, 453, -1607, 454, -590, 454, -1582, 480, -1582, 452, -617, 398, -646, 453, -590, 454, -1583, 477, -1582, 456, -1579, 482, -589, 455, -1582, 479, -591, 453, -590, 454, -591, 425, -643, 454, -1581]
      - remote_transmitter.transmit_raw:
          code: [456, -616, 423, -1588, 477, -1581, 481, -1580, 482, -588, 427, -1635, 455, -1606, 400, -645, 453, -590, 454, -589, 455, -591, 453, -617, 397, -646, 454, -590, 454, -1582, 480, -1580, 425, -1637, 454, -1583, 427]

  - platform: template
    name: "Raw - Light off 26C"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [
            2960, -9046, 450, -618, 481, -1607, 452, -592, 454, -590, 453, -590, 454, -616, 399, -646, 453, -590, 453, -590, 454, -1584, 477, -591, 453, -616, 399, -1613, 478, -590, 454, -616, 399, -1636, 453, -1582, 480, -1581, 427, -1636, 453, -1584, 
            422, -646, 454, -589, 455, -588, 454, -618, 399, -643, 451, -594, 454, -589, 454, -590, 427, -643, 424, -620, 453, -591, 453, -590, 454, -617, 398, -645, 453, -567, 478, -590, 454, -590, 426, -643, 454, -592, 452, -590, 454, -590, 453, -617, 398, -646, 
            453, -590, 454, -589, 455, -616, 399, -645, 454, -589, 455, -588, 455, -617, 400, -643, 425, -619, 454, -1583, 450, -1587, 476, -1608, 454, -1581, 428, -2823, 2935, -9071, 424, -1612, 479, -590, 454, -589, 426, -644, 424, -620, 454, -591, 453, -589, 
            455, -616, 398, -645, 454, -1581, 454, -618, 397, -646, 453, -1608, 399, -624, 475, -1580, 428, -1635, 481, -615, 398, -1637, 454, -1582, 479, -1582, 454, -617, 423, -1612, 453, -589, 427, -1609, 481, -1607, 454, -589, 456, -589, 454, -588, 455, -617, 
            454, -1580, 455, -1583, 478, -590, 454, -1584, 479, -588, 454, -590, 427, -616, 482, -589, 454, -1584, 476, -591, 454, -1584, 477, -1580, 428, -1611, 478, -590, 453, -1609, 454, -1607, 399, -645, 454, -566, 478, -589, 454, -589, 455, -617, 423, -621]
      - remote_transmitter.transmit_raw:
          code: [
            453, -590, 454, -1583, 479, -1607, 428, -1607, 454, -1585, 425
          ]

  - platform: template
    name: "Raw - Off"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [
            2960, -9051, 444, -621, 479, -1580, 456, -589, 449, -620, 455, -564, 480, -589, 456, -588, 481, -587, 483, -566, 478, -1580, 479, -565, 504, -566, 455, -1578, 483, -1579, 425, -620, 506, -1534, 503, -1555, 488, -1598, 482, -1580, 425, 
            -1610, 483, -566, 502, -562, 426, -619, 482, -564, 505, -539, 505, -562, 455, -589, 451, -592, 482, -562, 482, -589, 455, -588, 424, -620, 481, -562, 482, -564, 480, -588, 425, -619, 506, -590, 483, -561, 483, -562, 480, -587, 508, -588, 483, -568, 
            476, -587, 427, -618, 477, -619, 482, -560, 484, -589, 456, -585, 504, -594, 482, -569, 445, -616, 478, -566, 534, -567, 478, -563, 481, -1577, 485, -1579, 428, -2030, 2956, -9068, 508, -1584, 480, -586, 457, -588, 425, -620, 557, -564, 425, -618, 481, 
            -562, 483, -564, 532, -587, 456, -1579, 484, -561, 482, -566, 475, -1581, 484, -564, 479, -1580, 483, -1578, 426, -1610, 482, -1580, 505, -1580, 480, -1608, 455, -589, 451, -620, 457, -562, 532, -590, 482, -564, 479, -564, 480, -587, 507, -589, 427, 
            -617, 484, -587, 455, -562, 534, -589, 481, -563, 480, -589, 456, -591, 503, -593, 479, -588, 455, -589, 449, -594, 476, -619, 484, -561, 482, -588, 455, -589, 529, -570, 478, -615, 397, -621, 482, -563, 531, -590, 455, -588, 456, -589, 424, -645, 454, 
            -590, 455, -565, 479, -589, 455, -615, 449, -594, 403, -1793, 2956, -9049, 445, -1637, 478, -592, 455, -564, 480, -588, 507, -591, 480, -589, 456, -588, 426, -643, 451, -646, 454, -1579, 509, -564, 479, -563, 425, -1611, 482, -1580, 481, -1580, 483, 
            -1579, 424, -619, 483, -1578, 482, -1555, 481, -1604, 510, -563, 455, -1577, 484, -565, 479, -1580, 479, -1582, 482, -563, 481, -589, 454, -589, 450, -1612, 481, -1580, 450, -1585, 482, -566, 478, -587, 451, -595, 481, -563, 481, -564, 479, -589, 451]
      - remote_transmitter.transmit_raw:
          code: [
            -1582, 507, -542, 478, -1580, 482, -1580, 481, -1555, 481, -588, 428, -1607, 482, -1579, 452, -592, 508, -589, 481, -562, 425, -621, 476, -567, 533, -590, 475, -594, 455, -562, 482, -567, 528, -1580, 482, -1607, 427
          ]

web_server:
  port: 80