Bluetooth as remote control for TV/Projector

Hello all,

My problem is that my Projector when is turned off closes its network too, so it became unreachable. The problem with that is that I can turn off the projector but there is no way to turn it back on (Xiaomi projector and I use xiaomi_tv component).
So I wonder if it is possible to use a Bluetooth device to turn on the projector, (using esphome project would be great).

Any thoughts?

1 Like

@ppanagiotis

Any news about this?

I’m on the same boat, but with a XGIMI projector

I have also the same need for my xiaomi projector. Any news on this ?

If the proyector has ir remote, baybe can use IR-Wifi system, as Broadlink RM for example.

Broadlink can learn a IR command and replicate after

Hello,

I have the same problem

  • I have a home assistant
  • I have a IR/WIFI hub
  • I have a Xiaomi video projector (Xiaomi Mijia ALPD3.0)

Unfortunatly the videoprojector Xiaomi remote control is a BLUETOOTH remote control.

Any idea on how to emulate the remote control (bluetooth)

Thanks

T

Me too on the same boat :slight_smile:

My solution to this problem is the following.

I add a smart plug at the projector to be able to control the power.

binary_sensors.yaml

- platform: template
  sensors:
    projector:
      friendly_name: "Projector"
      value_template: >-
        {{ states('sensor.plug2_wattage') |float > 10 }}

media_players.yaml

- platform: universal
  name: projector
  state_template: >
    {% if is_state('binary_sensor.projector', 'off') %}
      off
    {% else %}
      on
    {% endif %}
  commands:
    turn_on:
      service: switch.turn_on
      data:
        entity_id: switch.plug2_relay
    turn_off:
      service: rest_command.projector_off

rest_command.yaml

projector_off:
  url: 'http://ip_of_projector:6095/controller?action=keyevent&keycode=power'

projector_keep_on:
  url: 'http://ip_of_projector:6095/controller?action=keyevent&keycode=enter'

The problem is that if you turn on projector with turning on the plug it closes after few minutes because of inactivity. So at automations I have

- alias: "Keep projector on"
  trigger:
    - platform: state
      entity_id: binary_sensor.projector
      to: 'on'
      for:
        minutes: 3
  action:
    - service: rest_command.projector_keep_on

And after turning off the projector I turn off the plug too, so it can turn the projector on when needed.

- alias: "Turn_off projector socket after power off"
  trigger:
    - platform: state
      entity_id: binary_sensor.projector
      to: 'off'
      for:
        seconds: 5
  action:
    - service: switch.turn_off
      entity_id: switch.plug2_relay

Hi,
I have the same problem, didn’t find any solution to emulate specific bluetooth remote,
However there is a possibility to emulate bluetooth keyboard and send commands from home assistant. It should work for waking up target device.

1 Like

Has anyone tried just connecting a Bluetooth keyboard and see if you can wake up the projector with it? When I tried it, it didn’t work. I think the physical plug would be my best option

I have the same problem. Does anyone solve it?

Hi All, I have the same issue with my projector, I am going to try using the solution with the HDMI-CEC Integration.

Hi,
I was looking for a solution for my mibox3. When I didn’t find anything suitable I thought why not use the original remote control and just press its own buttons.
I bought a new cheap remote control on Aliexpress, pair it with my Mibox3.
So, now I have two remote controls working simultaneously.
I disassembled the old remote control and soldered two wires to the contacts of the Power button. I brought them out through the hole in the back of the remote. When I short the wires it works like pressing the power button. Next I’m going to short them through an optocoupler using the ESPHome device.

1 Like

I have a suspicion that if you can capture/emulate/spoof a Bluetooth remote controls buttons and specifically the power button, these are probably the tools that can capture the data and do it.

(I had to put the link to a 3rd tool on a post below this one, as Im a new user, so can only post 2 links in a post)

Linux Bluetooth tools/stack

Interesting Python tools

I’m not sure if you need a dedicated USB dongle.

I currently have no clue how to use these tools. I too was searching for a way to use my home automation system to send the “power on” command to a Xiaomi Projector.

I am however guessing that the commands cant be too complicated/encrypted to a high degree, as, from what I can tell, you can pair pretty much any Bluetooth remote and have it work with the projector… though Im not sure about the power button.

I have used a Logitech Harmony Hub as a Bluetooth remote with the projector and if you set it up as a “Nvidia Shield Remote” on the Harmony Hub as an attached Keyboard (on the projector) you can send a sleep power command and send the projector into a sleep state, which can be awoken by the Harmony hub (The device is in a powered off state when in the sleep mode, BUT, the Bluetooth connection is still live, as if the keyboard is connected).

If you FULLY power off the projector (rather than sleep it) you CANNOT wake it back up/switch it on. Only the original remote control’s power button will do this.

Though, saying that, you pair the remote that can switch on the projector in a different area of the projectors settings, specifically the “Bluetooth Remote” section. Which suggests either there is a special command the projector is looking out for when its fully switched off, or the Bluetooth remote is sending something other than a Bluetooth signal with the power button. On this, I dont know.

Also, for the record, you can use the Android ADB command line tool to sleep the projector with the 233 command. However, when using this, it looks to me like the projector (when it wakes up from sleep) thinks that ADB is still connected, and wont allow new connections NOR will it respond to ADB commands, until you reboot it. So in my tests, ADB isnt useful for setting a low power mode.

Also this tool

More interesting tools

I was thinking about this “Waking” capability of the Bluetooth Remote, It makes no sense for me since the projector cuts completely connection with the Remote Once it’s powered off, the only thing that FOR ME (please correct if i’m wrong) makes sense, is the remote using a RF command to Wake it up, ot some kind of Bluetooth Broadcast signal that the Vava detects and power on.

Did you have any luck trying to “learn” the bluetooth command? At the moment i’m using ESP Home integration to control my projector.

Same here. Byintek K45 AI. I want to have ability turn it on and off from HA.

Have you tried this: GitHub - shammysha/esphome-ble-mi-remote: Bluetooth remote controller for XIAOMI MI TV ?

Joining late for the party / having the same problem to solve: Switching on a Xiaomi Laser Projector that can only be switched on with the remote, not via a perfectly working WiFi connection.

I saw many attempts above, but which one works without hardware hacks (e.g. buying a second remote and solder cables to this remote)?

Any dominant solution?
@ppanagiotis, which solution did you end up using?