After upgrading from ESPHome 2025.5.2 to 2025.6.0, and flashing my four AtHom AR-01 wirelessly, all of them stopped working. My automations use the receiver part only. The ESPHome device log still showed them receiving something from my remote, but the plumbing for the corresponding HA automations did not work anymore. The result is that I could no longer control my smart lights using my IR remotes in four different rooms.
I had to rollback to 2025.5.2 and reflash all 4 devices to get it to work.
Here is the config for the device in one of the rooms. The other 3 are extremely similar.
substitutions:
name: "ht-infrared"
friendly_name: "Home theater infrared"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
esp8266:
board: esp8285
restore_from_flash: true
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: <removed>
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
use_address: ht-infrared.localdomain
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "ht-infrared"
password: <removed>
captive_portal:
web_server:
port: 80
sensor:
- platform: wifi_signal
name: "${friendly_name} WiFi Signal"
update_interval: 60s
- platform: uptime
name: "${friendly_name} Uptime"
text_sensor:
- platform: wifi_info
ip_address:
name: "${friendly_name} IP Address"
disabled_by_default: true
ssid:
name: "${friendly_name} SSID"
bssid:
name: "${friendly_name} BSSID"
mac_address:
name: "${friendly_name} Mac Wifi Address"
scan_results:
name: "${friendly_name} Latest Scan Results"
switch:
- platform: restart
name: "${friendly_name} restart"
binary_sensor:
- platform: status
name: "${friendly_name} IR Status"
- platform: gpio
pin: GPIO0
id: physical_button
- platform: remote_receiver
name: "Ceiling lights off"
lg:
data: 0x08E76897
nbits: 32
- platform: remote_receiver
name: "Ceiling lights on"
lg:
data: 0x08E7708F
nbits: 32
- platform: remote_receiver
name: "Recessed lights off"
lg:
data: 0x08E750AF
nbits: 32
- platform: remote_receiver
name: "Recessed lights on"
lg:
data: 0x08E7A857
nbits: 32
- platform: remote_receiver
name: "Eyeball lights off"
lg:
data: 0x08E7906F
nbits: 32
- platform: remote_receiver
name: "Eyeball lights on"
lg:
data: 0x08E728D7
nbits: 32
- platform: remote_receiver
name: "All lights off"
lg:
data: 0x08E710EF
nbits: 32
- platform: remote_receiver
name: "All lights on"
lg:
data: 0x08E730CF
nbits: 32
status_led:
pin: GPIO13
remote_transmitter:
pin:
number: GPIO4
carrier_duty_percent: 50%
remote_receiver:
pin:
number: GPIO5
inverted: true
dump: all
Here is the corresponding automation.
alias: Home theater lights Infrared remote control
description: ""
use_blueprint:
path: madbrain/irswitch.yaml
input:
remote_device: 02068d26cafd8d82ca247ba85f1e2f70
light_switch: switch.home_theater_ceiling_light_switch
sensor_off: binary_sensor.ht_infrared_ceiling_lights_off
sensor_on: binary_sensor.ht_infrared_ceiling_lights_on
switch_control: switch.home_theater_ceiling_light_switch
target_entity: light.home_theater_ceiling_lights
remote_area: home_theater
sensor_off_1: binary_sensor.ht_infrared_ceiling_lights_off
sensor_on_1: binary_sensor.ht_infrared_ceiling_lights_on
target_entity_1: light.home_theater_ceiling_lights
sensor_off_2: binary_sensor.ht_infrared_recessed_lights_off
sensor_on_2: binary_sensor.ht_infrared_recessed_lights_on
target_entity_2: light.home_theater_side_lights
sensor_off_3: binary_sensor.ht_infrared_eyeball_lights_off
sensor_on_3: binary_sensor.ht_infrared_eyeball_lights_on
target_entity_3: light.home_theater_candelabra_lights
sensor_off_4: binary_sensor.ht_infrared_all_lights_off
sensor_on_4: binary_sensor.ht_infrared_all_lights_on
target_entity_4: light.home_theater_lights
Here is the blueprint it uses.
blueprint:
name: Control up to 10 switches or lights with independent ON/OFF infrared sensors
description: >
Control up to 10 switches or lights independently via pairs of ON and OFF binary sensors
from an ESPHome infrared remote. Each set is optional and has its own trigger.
domain: automation
input:
# Define 10 sets of sensors + target entities, all optional with dummy defaults
sensor_off_1:
name: Binary sensor – turn OFF (1)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_1:
name: Binary sensor – turn ON (1)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_1:
name: Switch or Light to control (1)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_2:
name: Binary sensor – turn OFF (2)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_2:
name: Binary sensor – turn ON (2)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_2:
name: Switch or Light to control (2)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_3:
name: Binary sensor – turn OFF (3)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_3:
name: Binary sensor – turn ON (3)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_3:
name: Switch or Light to control (3)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_4:
name: Binary sensor – turn OFF (4)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_4:
name: Binary sensor – turn ON (4)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_4:
name: Switch or Light to control (4)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_5:
name: Binary sensor – turn OFF (5)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_5:
name: Binary sensor – turn ON (5)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_5:
name: Switch or Light to control (5)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_6:
name: Binary sensor – turn OFF (6)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_6:
name: Binary sensor – turn ON (6)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_6:
name: Switch or Light to control (6)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_7:
name: Binary sensor – turn OFF (7)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_7:
name: Binary sensor – turn ON (7)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_7:
name: Switch or Light to control (7)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_8:
name: Binary sensor – turn OFF (8)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_8:
name: Binary sensor – turn ON (8)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_8:
name: Switch or Light to control (8)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_9:
name: Binary sensor – turn OFF (9)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_9:
name: Binary sensor – turn ON (9)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_9:
name: Switch or Light to control (9)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
sensor_off_10:
name: Binary sensor – turn OFF (10)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
sensor_on_10:
name: Binary sensor – turn ON (10)
default: binary_sensor.dummy_sensor
selector:
entity:
domain: binary_sensor
integration: esphome
target_entity_10:
name: Switch or Light to control (10)
default: switch.dummy_switch
selector:
entity:
domain:
- switch
- light
trigger:
# OFF triggers
- platform: state
entity_id: !input sensor_off_1
to: "on"
id: turn_off_1
- platform: state
entity_id: !input sensor_off_2
to: "on"
id: turn_off_2
- platform: state
entity_id: !input sensor_off_3
to: "on"
id: turn_off_3
- platform: state
entity_id: !input sensor_off_4
to: "on"
id: turn_off_4
- platform: state
entity_id: !input sensor_off_5
to: "on"
id: turn_off_5
- platform: state
entity_id: !input sensor_off_6
to: "on"
id: turn_off_6
- platform: state
entity_id: !input sensor_off_7
to: "on"
id: turn_off_7
- platform: state
entity_id: !input sensor_off_8
to: "on"
id: turn_off_8
- platform: state
entity_id: !input sensor_off_9
to: "on"
id: turn_off_9
- platform: state
entity_id: !input sensor_off_10
to: "on"
id: turn_off_10
# ON triggers
- platform: state
entity_id: !input sensor_on_1
to: "on"
id: turn_on_1
- platform: state
entity_id: !input sensor_on_2
to: "on"
id: turn_on_2
- platform: state
entity_id: !input sensor_on_3
to: "on"
id: turn_on_3
- platform: state
entity_id: !input sensor_on_4
to: "on"
id: turn_on_4
- platform: state
entity_id: !input sensor_on_5
to: "on"
id: turn_on_5
- platform: state
entity_id: !input sensor_on_6
to: "on"
id: turn_on_6
- platform: state
entity_id: !input sensor_on_7
to: "on"
id: turn_on_7
- platform: state
entity_id: !input sensor_on_8
to: "on"
id: turn_on_8
- platform: state
entity_id: !input sensor_on_9
to: "on"
id: turn_on_9
- platform: state
entity_id: !input sensor_on_10
to: "on"
id: turn_on_10
condition: []
action:
- choose:
# OFF actions
- conditions:
- condition: trigger
id: turn_off_1
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_1
- service: light.turn_off
target:
entity_id: !input target_entity_1
- conditions:
- condition: trigger
id: turn_off_2
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_2
- service: light.turn_off
target:
entity_id: !input target_entity_2
- conditions:
- condition: trigger
id: turn_off_3
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_3
- service: light.turn_off
target:
entity_id: !input target_entity_3
- conditions:
- condition: trigger
id: turn_off_4
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_4
- service: light.turn_off
target:
entity_id: !input target_entity_4
- conditions:
- condition: trigger
id: turn_off_5
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_5
- service: light.turn_off
target:
entity_id: !input target_entity_5
- conditions:
- condition: trigger
id: turn_off_6
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_6
- service: light.turn_off
target:
entity_id: !input target_entity_6
- conditions:
- condition: trigger
id: turn_off_7
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_7
- service: light.turn_off
target:
entity_id: !input target_entity_7
- conditions:
- condition: trigger
id: turn_off_8
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_8
- service: light.turn_off
target:
entity_id: !input target_entity_8
- conditions:
- condition: trigger
id: turn_off_9
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_9
- service: light.turn_off
target:
entity_id: !input target_entity_9
- conditions:
- condition: trigger
id: turn_off_10
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity_10
- service: light.turn_off
target:
entity_id: !input target_entity_10
# ON actions
- conditions:
- condition: trigger
id: turn_on_1
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_1
- service: light.turn_on
target:
entity_id: !input target_entity_1
- conditions:
- condition: trigger
id: turn_on_2
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_2
- service: light.turn_on
target:
entity_id: !input target_entity_2
- conditions:
- condition: trigger
id: turn_on_3
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_3
- service: light.turn_on
target:
entity_id: !input target_entity_3
- conditions:
- condition: trigger
id: turn_on_4
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_4
- service: light.turn_on
target:
entity_id: !input target_entity_4
- conditions:
- condition: trigger
id: turn_on_5
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_5
- service: light.turn_on
target:
entity_id: !input target_entity_5
- conditions:
- condition: trigger
id: turn_on_6
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_6
- service: light.turn_on
target:
entity_id: !input target_entity_6
- conditions:
- condition: trigger
id: turn_on_7
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_7
- service: light.turn_on
target:
entity_id: !input target_entity_7
- conditions:
- condition: trigger
id: turn_on_8
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_8
- service: light.turn_on
target:
entity_id: !input target_entity_8
- conditions:
- condition: trigger
id: turn_on_9
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_9
- service: light.turn_on
target:
entity_id: !input target_entity_9
- conditions:
- condition: trigger
id: turn_on_10
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity_10
- service: light.turn_on
target:
entity_id: !input target_entity_10
mode: single