IR Transmitter Help

Hi All,

I have purchased a couple of [ ESP8285 ESP-01M IR transceiver ] units from amazon. i have managed to reprogram the ESP8285 units with ESPHome through home assistant [SEE CODE BELOW]

The intention for these units was to replace a remote control for 2x [ ElectriQ Portable AC units ] 1 has been lost & the other has just been damaged after injecting wrong voltage into the data lines attempting to view any serial data from the remote.

Before i blew the remote i managed to Receive Pronto data from all the remote buttons [Data Below]. I have Enabled the transmitter on the ESP8285 and attempted to blast the data back at one of the AC units and nothing happens.

POWER ON Code from remote - Assuming i combine all the data into 1 string for the code?.
[12:25:48][I][remote.pronto:234]: Received Pronto: data=
[12:25:48][I][remote.pronto:236]: 0000 006D 0001 0000 0180 06C3
[12:25:48][I][remote.pronto:234]: Received Pronto: data=
[12:25:48][I][remote.pronto:236]: 0000 006D 004A 0000 00C6 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0015 0014 0017 004B 0015 0014 0015 0014 0015 0014 0017 004B 0017 004B 0015 0014 0015 0014 0015 0014 0015 0014 0015 
[12:25:48][I][remote.pronto:236]: 0014 0014 0015 0014 0015 0015 0014 0015 0014 0014 0015 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 
[12:25:48][I][remote.pronto:236]: 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0017 004B 0017 004B 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 
[12:25:48][I][remote.pronto:236]: 0015 0017 004B 0014 0015 0017 004B 0017 004B 0014 0015 0014 0181 06C3
[12:25:48][V][remote.drayton:187]: Decode Drayton: Fail 2, - -514 530 -515
[12:25:48][W][component:237]: Component remote_receiver took a long time for an operation (86 ms).
[12:25:48][W][component:238]: Components should block for at most 30 ms.

any help with this would be greatly appreciated.

Here is my code for the IR & ESP8285 module.

[ ALL IDENTIFYING INFO HAS BEEN PURGED ]

CODE
####################################################################################################
####################################### Startup & Setup Code #######################################
####################################################################################################

############### MCU / Board Type ##############
###############################################  
esp8266:
  board: esp8285
  framework:
    version: recommended
  early_pin_init: false


############ ESPHome Configuration ############
###############################################   
esphome:
  name: irremote
  friendly_name: IRremote
  comment: IRremote Test ESP8285 controller
  project:
    name: "MrSJDorrington. ESP8285 Test Controller"
    version: "1.0.0"

##### System logging
logger:
  #level: NONE
  #level: ERROR
  #level: WARN
  #level: INFO
  #level: DEBUG
  level: VERBOSE
  #level: VERY_VERBOSE

##### Home Assistant API
api:
  reboot_timeout: 10min
  encryption:
    key: !secret API-REDACTED-ESP8285

  
########## System OTA / OTA Recovery ##########
###############################################
ota:
  - platform: esphome
    password: !secret OTA-REDACTED-ESP8285
safe_mode:
    disabled: false
    boot_is_good_after: 30s
    num_attempts: 5
    reboot_timeout: 5min


################# System WIFI #################
###############################################  
wifi:
  networks:
    - ssid: !secret wifi_ssid
      password: !secret wifi_password
      hidden: true
  domain: !secret wifi_domain
  fast_connect: true
  output_power: 20dB

##### System IPV4 Address
  manual_ip:
    static_ip: 10.9.0.163
    gateway: 10.9.0.254
    subnet: REDACTED
    dns1: 10.9.0.254

##### Wifi Failure FIX
  ap:
    ssid: "FIX_ME-REDACTED-ESP8285"
    password: !secret AP_password
captive_portal:


####################################################################################################
######################################### Main System Code #########################################
####################################################################################################

#############################################################
##################### Receiver Componant ####################
#############################################################
remote_receiver:

################## IR Receiver ################
###############################################
  pin:
    number: GPIO14
    inverted: true
  dump: all


#############################################################
################### Transmitter Componant ###################
#############################################################
remote_transmitter:

################ IR Transmitter ###############
###############################################
  id: transmitter
  pin: GPIO4
  carrier_duty_percent: 50%


#############################################################
###################### Button Componant #####################
#############################################################
button:

################# HA virtual button ################
###############################################
  - platform: template
    name: "IR remote, on"
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 0001 0000 0180 06C3 0000 006D 004A 0000 00C6 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0015 0014 0017 004B 0015 0014 0015 0014 0015 0014 0017 004B 0017 004B 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0014 0015 0014 0015 0015 0014 0015 0014 0014 0015 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0017 004B 0017 004B 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0017 004B 0017 004B 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0014 0015 0017 004B 0014 0015 0017 004B 0017 004B 0014 0015 0014 0181 06C3"


#############################################################
##################### Sensors Componant #####################
#############################################################
sensor:

############## WiFi Signal Sensor #############
###############################################
##### RSSI / dBm
  - platform: wifi_signal
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 10s
    entity_category: "diagnostic"
##### Percentage
  - platform: copy
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "%"
    entity_category: "diagnostic"
    device_class: ""

Log of boot & receiver / transmitter

LOG
INFO ESPHome 2024.6.6
INFO Reading configuration /config/esphome/test1.yaml...
INFO Starting log output from 10.9.0.163 using esphome API
INFO Successfully connected to irremote @ 10.9.0.163 in 0.003s
INFO Successful handshake with irremote @ 10.9.0.163 in 2.349s
[18:53:38][I][app:100]: ESPHome version 2024.6.6 compiled on Jul  9 2024, 18:50:20
[18:53:38][I][app:102]: Project MrSJDorrington._ESP8285_Test_Controller version 1.0.0
[18:53:38][C][wifi:599]: WiFi:
[18:53:38][C][wifi:427]:   Local MAC: 8C:CE:4E:4E:41:BC
[18:53:38][C][wifi:432]:   SSID: [REDACTED]
[18:53:38][C][wifi:435]:   IP Address: 10.9.0.163
[18:53:38][C][wifi:438]:   BSSID: [REDACTED]
[18:53:38][C][wifi:440]:   Hostname: 'irremote'
[18:53:38][C][wifi:442]:   Signal strength: -53 dB ▂▄▆█
[18:53:38][C][wifi:446]:   Channel: 1
[18:53:38][C][wifi:447]:   Subnet: REDACTED
[18:53:38][C][wifi:448]:   Gateway: 10.9.0.254
[18:53:38][C][wifi:449]:   DNS1: 10.9.0.254
[18:53:38][C][wifi:450]:   DNS2: 0.0.0.0
[18:53:38][C][logger:185]: Logger:
[18:53:38][C][logger:186]:   Level: VERBOSE
[18:53:38][C][logger:188]:   Log Baud Rate: 115200
[18:53:38][C][logger:189]:   Hardware UART: UART0
[18:53:38][C][remote_transmitter:018]: Remote Transmitter...
[18:53:38][C][remote_transmitter:019]:   Carrier Duty: 50%
[18:53:38][C][remote_transmitter:020]:   Pin: GPIO4
[18:53:38][C][copy.sensor:015]: Copy Sensor 'WiFi Signal Percent'
[18:53:38][C][copy.sensor:015]:   State Class: 'measurement'
[18:53:38][C][copy.sensor:015]:   Unit of Measurement: '%'
[18:53:38][C][copy.sensor:015]:   Accuracy Decimals: 0
[18:53:38][C][remote_receiver.esp8266:060]: Remote Receiver:
[18:53:38][C][remote_receiver.esp8266:061]:   Pin: GPIO14
[18:53:38][C][remote_receiver.esp8266:066]:   Buffer Size: 1000
[18:53:38][C][remote_receiver.esp8266:067]:   Tolerance: 25%
[18:53:38][C][remote_receiver.esp8266:069]:   Filter out pulses shorter than: 50 us
[18:53:38][C][remote_receiver.esp8266:070]:   Signal is done after 10000 us of no changes
[18:53:38][C][captive_portal:088]: Captive Portal:
[18:53:38][C][mdns:115]: mDNS:
[18:53:38][C][mdns:116]:   Hostname: irremote
[18:53:38][V][mdns:117]:   Services:
[18:53:38][V][mdns:119]:   - _esphomelib, _tcp, 6053
[18:53:38][V][mdns:121]:     TXT: friendly_name = IRremote
[18:53:38][V][mdns:121]:     TXT: version = 2024.6.6
[18:53:38][V][mdns:121]:     TXT: mac = 8cce4e4e41bc
[18:53:38][V][mdns:121]:     TXT: platform = ESP8266
[18:53:38][V][mdns:121]:     TXT: board = esp8285
[18:53:38][V][mdns:121]:     TXT: network = wifi
[18:53:38][V][mdns:121]:     TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[18:53:38][V][mdns:121]:     TXT: project_name = MrSJDorrington._ESP8285_Test_Controller
[18:53:38][V][mdns:121]:     TXT: project_version = 1.0.0
[18:53:38][C][esphome.ota:073]: Over-The-Air updates:
[18:53:38][C][esphome.ota:074]:   Address: 10.9.0.163:8266
[18:53:38][C][esphome.ota:075]:   Version: 2
[18:53:38][C][esphome.ota:078]:   Password configured
[18:53:38][C][safe_mode:018]: Safe Mode:
[18:53:38][C][safe_mode:019]:   Boot considered successful after 30 seconds
[18:53:38][C][safe_mode:021]:   Invoke after 5 boot attempts
[18:53:38][C][safe_mode:022]:   Remain in safe mode for 300 seconds
[18:53:38][C][api:139]: API Server:
[18:53:38][C][api:140]:   Address: 10.9.0.163:6053
[18:53:38][C][api:142]:   Using noise encryption: YES
[18:53:38][C][wifi_signal.sensor:009]: WiFi Signal 'WiFi Signal dB'
[18:53:38][C][wifi_signal.sensor:009]:   Device Class: 'signal_strength'
[18:53:38][C][wifi_signal.sensor:009]:   State Class: 'measurement'
[18:53:38][C][wifi_signal.sensor:009]:   Unit of Measurement: 'dBm'
[18:53:38][C][wifi_signal.sensor:009]:   Accuracy Decimals: 0
[18:53:38][V][wifi_signal.sensor:009]:   Unique ID: '8cce4e4e41bc-wifisignal'
[18:53:42][I][remote.pronto:234]: Received Pronto: data=
[18:53:42][I][remote.pronto:236]: 0000 006D 0001 0000 0180 06C3
[18:53:42][I][remote.pronto:234]: Received Pronto: data=
[18:53:42][I][remote.pronto:236]: 0000 006D 004A 0000 00C6 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0017 004B 0015 0014 0017 004B 0017 004B 0015 0014 0015 0014 0015 0014 0017 004B 0015 0014 0015 0014 0015 0014 0014 0015 0014 0014 0014 
[18:53:42][I][remote.pronto:236]: 0014 0014 0014 0014 0014 0015 0014 0014 0014 0014 0014 0014 0014 0014 0015 0017 004B 0017 004B 0014 0014 0017 004B 0014 0015 0014 0015 0014 0014 0014 0014 0014 0015 0014 0014 0014 0015 0014 0014 0014 0014 0014 0014 0014 0014 0014 
[18:53:42][I][remote.pronto:236]: 0015 0014 0014 0014 0015 0014 0015 0014 0015 0014 0015 0014 0014 0014 0015 0017 004B 0014 0015 0014 0015 0017 004B 0014 0015 0017 004B 0014 0014 0014 0015 0014 0015 0017 004B 0014 0015 0014 0015 0014 0015 0014 0015 0017 004C 0014 
[18:53:42][I][remote.pronto:236]: 0015 0017 004B 0017 004B 0017 004B 0017 004B 0014 0015 0014 0181 06C3
[18:53:42][V][remote.drayton:187]: Decode Drayton: Fail 2, - -513 531 -514
[18:53:42][W][component:237]: Component remote_receiver took a long time for an operation (86 ms).
[18:53:42][W][component:238]: Components should block for at most 30 ms.
[18:54:15][V][sensor:043]: 'WiFi Signal dB': Received new state -52.000000
[18:54:15][D][sensor:093]: 'WiFi Signal dB': Sending state -52.00000 dBm with 0 decimals of accuracy
[18:54:15][V][sensor:043]: 'WiFi Signal Percent': Received new state -52.000000
[18:54:15][D][sensor:093]: 'WiFi Signal Percent': Sending state 96.00000 % with 0 decimals of accuracy
[18:54:18][D][button:010]: 'IR remote, on' Pressed.
[18:54:18][D][remote.pronto:101]: Send Pronto: frequency=38kHz
[18:54:18][D][remote.pronto:106]: Send Pronto: intros=2
[18:54:18][D][remote.pronto:107]: Send Pronto: repeats=0
[18:54:18][D][remote_transmitter:075]: Sending remote code...
[18:54:18][W][component:237]: Component api took a long time for an operation (72 ms).
[18:54:18][W][component:238]: Components should block for at most 30 ms.
[18:54:18][I][remote.pronto:234]: Received Pronto: data=
[18:54:18][I][remote.pronto:236]: 0000 006D 0001 0000 0180 06C3

— EDIT —
Apologies, Forgot to mention i managed to successfully test this with an LG remote control powering up and down my LG TV changing a small section of code CODE SEGMENT BELOW.

CODE SEGMENT
################# HA virtual button ################
###############################################
  - platform: template
    name: "IR remote, on"
    on_press:
      - remote_transmitter.transmit_lg:
      data: [0x20DF40BF] 
      nbits: 32

OK, so i have managed to repair the remote control & have managed to take a raw readings of all the controls.

How do i intemperate the raw data / how do i transmit the data back to the AC unit?.

From what i can see [ & i may be wrong ], I have reced 2 different codes split up?..

RAW CODE COMPLETE
[I][remote.raw:041]: Received Raw: 
[I][remote.raw:028]: Received Raw: -5150, 524, -520, 577, -1969, 524, -520, 577, -1970, 523, -522, 576, -1970, 522, -522, 576, -1971, 499, -546, 496, -546, 576, -1971, 498, -546, 498, -546, 498, -546, 574, -1975, 572, -1972, 501, -542, 499, -546, 498, -546, 499, -545, 498, 
[I][remote.raw:028]:   -546, 498, -546, 498, -546, 498, -546, 498, -546, 498, -546, 499, -545, 498, -546, 497, -547, 577, -1969, 498, -546, 574, -1973, 499, -544, 498, -546, 497, -546, 498, -546, 497, -547, 497, -547, 498, -546, 497, -547, 497, -546, 498, -546, 498, -546, 
[I][remote.raw:028]:   500, -544, 497, -547, 497, -548, 497, -547, 498, -547, 497, -546, 497, -548, 497, -551, 569, -1973, 496, -548, 496, -548, 573, -1973, 497, -547, 576, -1970, 497, -547, 499, -545, 497, -548, 572, -1974, 497, -547, 496, -548, 496, -547, 497, -547, 497, 
[I][remote.raw:041]:   -547, 497, -547, 572, -1976, 496, -572, 548, -1975, 572, -1975, 571, -1975, 496
[W][component:237]: Component remote_receiver took a long time for an operation (77 ms).
[W][component:238]: Components should block for at most 30 ms.
Summary

Posable Code a

[I][remote.raw:028]: Received Raw: -5150, 524, -520, 577, -1969, 524, -520, 577, -1970, 523, -522, 576, -1970, 522, -522, 576, -1971, 499, -546, 496, -546, 576, -1971, 498, -546, 498, -546, 498, -546, 574, -1975, 572, -1972, 501, -542, 499, -546, 498, -546, 499, -545, 498, 
[I][remote.raw:028]:   -546, 498, -546, 498, -546, 498, -546, 498, -546, 498, -546, 499, -545, 498, -546, 497, -547, 577, -1969, 498, -546, 574, -1973, 499, -544, 498, -546, 497, -546, 498, -546, 497, -547, 497, -547, 498, -546, 497, -547, 497, -546, 498, -546, 498, -546, 
[I][remote.raw:028]:   500, -544, 497, -547, 497, -548, 497, -547, 498, -547, 497, -546, 497, -548, 497, -551, 569, -1973, 496, -548, 496, -548, 573, -1973, 497, -547, 576, -1970, 497, -547, 499, -545, 497, -548, 572, -1974, 497, -547, 496, -548, 496, -547, 497, -547, 497,

Posable Code b

[I][remote.raw:041]:   -547, 497, -547, 572, -1976, 496, -572, 548, -1975, 572, -1975, 571, -1975, 496