Optoma UHL55 Projector - Best Way to Control in HA

I have a Optoma UHL55 and I am trying to figure out the best way to control this in Home Assistant

The projector is meant to have Amazon Alexa control via an Alexa Skill but it is really unreliable and constantly locks up requiring the network connection to be disconnected and reconnected to get it working again. The unit has been sent back to the manufacture and updated with the latest firmware but the Alexa control still doesn’t work. I gave up on using this a long time ago and it was so unreliable.

Ideally, I would like to control it locally over the network, but I have not been able to find any details on an API that can do this.

The projector can also be controlled by a Bluetooth/IR remote control.

I have purchased two Broadlink devices (one from Amazon UK and one from AliExpress) but after hours of trying on both Broadlink devices (via Home Assistant) I have only been able to learn one of the IR buttons on the projector remote, whilst all the others have just timed out after hundreds of attempts trying.

The project manual provides details on the IR codes used

Does anyone know of a way to convert this table information into a Broadlink IR code format that can be used on Home Assistant?

The manual even provides the Bluetooth codes that the remote uses, but I am not sure if Bluetooth control via HA would be possible?

I’m new to HA but I believe I would need to create some sort of TV template in HA so that it would be exposed and controllable in Alexa, is this right? Any help and suggestions on how to control this device in Alexa via Home assistant is greatly appreciated.

I’ve tried the following code pulled from another Optoma model but the logs shows that the telnet fails to connect to the projector so I guess that direct IP control is not possible on this model which is a real shame

# Projector
switch:
  - platform: telnet
    switches:
      projector:
        name: Projector
        resource: 192.168.0.209
        port: 23
        command_on: "~0000 1\r"
        command_off: "~0000 0\r"
        command_state: "~00150 1\r"
        value_template: '{{ "Ok1" in value }}'
        timeout: 1.0

The following is some code to turn on and off the UHL55 projector using IR control.

esphome:
  name: optoma-controller

# ...

remote_transmitter:
  - pin: D7
    carrier_duty_percent: 50%

button:
  - platform: template
    name: "Projector on/off button"
    on_press:
      - remote_transmitter.transmit_nec:
          address: 0xCD32
          command: 0x8E71

You can convert the other IR remote control codes to NEC format to work with ESPHome. I made a free and open-source tool to convert them.

For others getting to this topic with a different Optoma projector model, your codes may be different. You can find your manual on the Optoma website. Look for the section titled ‘IR remote control codes’, usually under ‘Additional information’. If you can’t find your specific projector, but you’re sure it supports IR control, you could try the codes for a different projector. The codes for the HD141X projector work on a lot of Optoma models.