Can't connect SmartIR Moes IR to AC unit

Hi!
I’m having a nightmare trying to configure the MOES UFO-R11 (Zigbee unit) as remote for an old AC Unit (Daikin FTX35J2V1B)

My current set-up is as follows

  • HomeAssistant with HACS and Smart IR and Zigbee2Mqtt
  • On the HA got linked the MOES UFO-R11
  • In the custom_components/smartir/codes/climate folder got a file with all the codes (1st issue, for the same configuration in the remote the codes captured by the MOES are different, how to solve that?)
  • Then in configuration.yaml file got included the following
smartir:
climate:
  - platform: smartir
    name: AC Porche
    unique_id: ac_porche
    device_code: 1103
    controller_data: zigbe2mqtt/MandoInfrarrojosPorche/set

Where MandoInfrarrojosPorche is the friendly name of the MOES and the device_code is the name of the file in the codes folder

But when clickling on the climate UI in the dashboard nothing is happening…

So basically got those 2 problems, how to manage the random codes sent for the same status and why nothing’s being sent via the MOES?

I’m struggling and any help will be much appreciated!

I’m not sure if Smart IR is compatible with the Zigbee IR blasters. What I do know is that since you’re using Z2M, you’ll need to use the MQTT Publish action to send codes from the IR.

What I did after capturing each code in Z2M and used a notepad app to keep the codes organized, I created scripts for each button with the mqtt.publish action. Something like this -

data:
  payload: >-
    ADoDZqA0ABAsoDauAAAUALDBmoD//9AC0ABQA3AAUAP0BvQGygM=
  topic: zigbee2mqtt/Bedroom 2 IR Blaster/set/ir_code_to_send
action: mqtt.publish

Note the topic, that’s important. The payload holds the code. I guess you could try this using the original codes you captured for the device, but worst case scenario, you may need to use Z2M to re-capture codes in the format it uses by default. Otherwise, now I can just call the script as an action to send the code, which makes it flexible when implimenting it on a dashboard or in an automation.

After some investigating, I see SmartIR can use the mqtt.publish service natively. Perhaps try adding /ir_code_to_send at the end of your topic and see if that helps. The examples shown on GitHub are using ZHA topics.

EDIT So I decided to try this out and get a better understanding. The included codes won’t work out-of-the-box for you. Most codes included in SmartIR are for Broadlink devices. You’ll need to append the .json file to make your own version, update the codes with codes captured by the blaster in Z2M, and change it’s structure a little bit to accommodate it’s use with MQTT.

You’ll have to change the "supportedController" field to MQTT and the “commandsEncoding” to Raw. For the controller_data of the climate device, you will need to include /ir_code_to_send in the topic. You’ll add subfolders to the smartir folder found in your custom_components folder. The folder structure will be smartir > codes > climate > "your json file". Name the json file with the device code you will use for it. Restart HA and… hopefully you’ll be good to go at that point.

EDIT-2 If you don’t already have a binary sensor that tracks the state of the device being on or off, you can add one using a hacky method which includes an input_boolean entity, a template binary_sensor that follows the state of the input_boolean, and an automation with a trigger for the mqtt power code that toggles the input_boolean.

Many thanks for the help! I have already done most of what you have told except the /ir_code_to_send at the end of the controller_data command, but I was not able to make it work. Do you know if there’s a way to see if the IR Blaster sends something? because I’ve tried to see in the logs but don’t see any activity…
But I’m still having some doubts about when capturing the codes. When doing the same action (for example turning on the AC at 24ºC) the codes captured by the IR blaster are different everytime, will that be an issue or I can put any of those and it will work?

Rolling IR codes is very typical, but once you capture one, it should work every time with the same code. Have you tested the captured codes using Z2M?

Thanks for all the help. Finally I’ve made it work… and it’s my stupidity what have prevented me for doing it before
I put in the controller_data zigbe2mqtt instead of zigbee2mqtt…