I'm running into an issue getting my Wemos D1 Mini with Lolin IR shield configured using SmartIR. Currently I'm getting the following error:
[homeassistant.helpers.service] Referenced entities esphome.livingroom_send_raw_command are missing or not currently available
Note that in my Esphome configuration, the on/off button configuration is working sending raw codes, so I'm pretty confident that most of the configuration is fine and I just need to get SmartIR correct.
Earlier I tried setting controller_data: livingroom_send_raw_command but was getting this error:
error
custom_components.smartir.climate] not a valid value for dictionary value @ data['entity_id']
Traceback (most recent call last):
File "/config/custom_components/smartir/climate.py", line 380, in send_command
await self._controller.send(
self._commands[operation_mode][fan_mode][swing_mode][target_temperature])
File "/config/custom_components/smartir/controller.py", line 111, in send
await self.hass.services.async_call(
'remote', 'send_command', service_data)
File "/usr/src/homeassistant/homeassistant/core.py", line 2782, in async_call
processed_data: dict[str, Any] = handler.schema(service_data)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/voluptuous/validators.py", line 259, in __call__
return self._exec((Schema(val) for val in self.validators), v)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/voluptuous/validators.py", line 386, in _exec
raise e if self.msg is None else AllInvalid(self.msg, path=path)
File "/usr/local/lib/python3.14/site-packages/voluptuous/validators.py", line 382, in _exec
v = func(v)
File "/usr/local/lib/python3.14/site-packages/voluptuous/schema_builder.py", line 205, in __call__
return self._compiled([], data)
~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/voluptuous/schema_builder.py", line 779, in validate_callable
return schema(data)
File "/usr/local/lib/python3.14/site-packages/voluptuous/schema_builder.py", line 205, in __call__
return self._compiled([], data)
Running HA in Docker v2026.4.3 with SmartIR setup through HACS
HA configuration.yaml:
configuration.yaml
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
smartir:
climate:
- platform: smartir
name: Lounge AC
unique_id: lounge_ac
device_code: 1691
controller_data: esphome.livingroom_send_raw_command
The Esphome configuration:
livingroom.yaml
esphome:
name: livingroom
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: !secret encryption_key
services:
- service: send_raw_command
variables:
command: int[]
then:
- remote_transmitter.transmit_raw:
code: !lambda 'return command;'
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
min_auth_mode: WPA2
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Livingroom Fallback Hotspot"
password: "*******"
captive_portal:
remote_receiver:
id: rcvr
pin: D4 # GPIO2
dump: all
remote_transmitter:
id: trans
pin: D3 # GPIO0
carrier_duty_percent: 50%
button:
- platform: template
name: "on"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 009A 0000 007B 003D 000F 000F 000F 002E 000F 000F 000F 000F 000F 002E 000F 000F 000F 002E 000F 000F 000F 000F 000F 002E 000F 002E 000F 002E 000F 000F 000F 002E 000F 000F 000F 002E 000F 002E 000F 002E 000F 000F 000F 000F 000F 000F 000F 000F 000F 002E 000F 002E 000F 000F 000F 002E 000F 000F 000F 002E 000F 002E 000F 000F 000F 000F 000F 000F 000F 002F 000E 0010 000E 002F 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 0010 000E 002F 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 002F 000E 0010 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 0180"
- platform: template
name: "off"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 009A 0000 007B 003D 000F 000F 000F 002E 000F 000F 000F 000F 000F 002E 000F 000F 000F 002E 000F 000F 000F 000F 000F 002E 000F 002E 000F 002E 000F 000F 000F 002E 000F 000F 000F 002E 000F 002E 000F 002E 000F 000F 000F 000F 000F 000F 000F 000F 000F 002E 000F 002E 000F 000F 000F 002E 000F 000F 000F 002E 000F 002E 000F 000F 000F 000F 000F 000F 000F 002E 000F 000F 000F 002E 000F 0010 000E 0010 000E 002F 000E 002F 000E 002E 000F 002F 000E 002F 000E 0010 000E 002E 000F 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 0010 000E 002F 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 002F 000E 0010 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 002F 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 0010 000E 002F 000E 0180"