Use home assistant as an infra-red - mqtt bridge with broadlink rm mini

Having the following broadlink switches:

  • ac_off
  • ac_auto_16_auto
  • ac_cool_16_fan_4
  • etc…

You can publish to mqtt topic
/ac/command
the commands:

  • off
  • auto_16_auto
  • cool_16_fan_4

If command worked, you will get a publish of the last command on the topic
ac/last

Configuration yaml file snippet with the relevant parts:

automation:
  - id: irsend
    alias: IR Send Office AC
    trigger:
      platform: mqtt
      topic: "ac/command"
    action:
      - service: switch.turn_on
        data_template:
          entity_id: 'switch.ac_{{ trigger.payload }}'
      - service: mqtt.publish
        data_template:
          topic: "ac/last"
          payload: '{{ trigger.payload }}'

mqtt:
  broker: <mqtt-ip>

switch:
  - platform: broadlink
    friendly_name: InfraRed
    host: <broadlink-ip>
    mac: '<broadlink-mac>'
    timeout: 10
    type: rm_mini
    switches:
      ac_off:
        friendly_name: "AC off"
        command_on: 'JgBoAREAAktgAAEoDhMOMw4TDhIPEg4TDhIPEg4SDzMOEg8SDjQNNA4TDTQOMxAxDzMOMw4TDhIOEw4SDxIOEw4TDhMNEw4TDRQOEg4TDhIPEg4TDhIPEg4SDxIOEw4SDxIOEw4TDxINEw4TDRMOExARDhIPEg4SDzMOMw5kYAABKA4zDhQNEw4TDRMOEw0UDhIOEw4zDhMOEg8zDhIOMw8zDjQNNA00DTQPEg4TDhIOEw4SDxIOEw4SDxIOEg8SDhMOEw4TDRMOEw0UDRMOExAQDxIOEw4SDxIOEg8SDhMQEA8SDhMOEw4TDRMOEw0TDhMOZGAAASgOMw8SDhIPEg4TDhIPEg4TDhIONA4TDRMONA00DjMOMw8SDjMQMQ8zEDEQMg8yDjMONA4SDhMOEg8zDjMOMw4TDhIPEg4TDhMOEw0TDhMNEw40DjMOEw4zDjMOEw4SDxIOEw4SDhQNEw4TDRMONA4zDgANBQ=='
      ac_auto_16_auto:
        friendly_name: "AC auto 16"
        command_on: 'JgDyABIAAk1hAAEnDxIOMw8SDhIPEg4TDhIPEg4TDjQNEw4TDTQNFA0TDzIPMw4zDjMPMg8SDhMOEg8TDRMOEw0UDRMOEw0TDxIOEw4SDxIOEg8SDhMOEg8SDhMOEg8TDRMPEg0TDhMOEw0TDxIOEw4SDhMOMw4zDzIPMw5kYAABKA40DRMOEw0UDRMOEw4SDxIOEw4zDhIQEQ8SDjMQMg00DhMNNA00DzIPMw4zDjMOMw8zDxEPEw4SDjQNNA00DhMOEg8SDhIQEQ4TDxEPEg4TDjMOEw4zDzMNEw4TDRMPEg4TDhIPEg4TDjMOMw4zDzMPAA0FAAAAAAAA'
      ac_auto_17_auto:
        friendly_name: "AC auto 17"
        command_on: 'JgDyABMAAkxiAAEmEBARMRAQERAQEBEQEBIPEBERDzIPEg8RDzIREBAREDEQMRAxETEQMRAREBEPEg8RDxIPERAREBEQEBEQEBAREBAREBAREBAREBAQEg8QEREPERARDxIPERAREBAREBAREBAREBAREBARMBEyDzEQMhBiYgABJg8yEBEQEBEQEBEQEBEQEBAREBAxERAQEg8xEBEQMQ8zEBARMBExEDEQMREwETEQMRAyEBEPEQ8SEDEQMREwERAREBAQERAQERAxEBEQEQ8REDIPEQ8yETEQEBEQEBEQEBEQEBAREBAREDEQMRAyEDERAA0FAAAAAAAA'
      ac_auto_18_auto:
        friendly_name: "AC auto 18"
        command_on: 'JgDyABMAAkxjAAElEBEQMREPEg8REBEPEg8REBEPETASDxEQETEQEBEQDzIQMRIwETARMBEQEQ8SDxEQEQ8REBEQERAQEBARDxIQEBEQERARDxEQEQ8SDxEQEQ8SDxEQEQ8REBEQERAQEBARDxIQEBAREQ8SMBEwETARMBJhYgABJRIwEQ8RERAQEBEPERAREBEQEBIvEg8SDxEwERARMBEwEREQMRAxDzIQMRIwETARMBIvEg8REBEPEi8SMBExDxEQERAREBASDxEPEjARDxIPETAREBEwETEREBAQDxIQERAQERARDxIPETASLxIwETAQAA0FAAAAAA    AA'

and so on...

Happy automation!