A Home Assistant integration to control BenQ projectors via the serial or network interface including serial to network bridges such as esp-link.
- Connects to a BenQ projector over serial or network interface
- Sending commands to projectors
- Reading the projector status
- Uses asynchronous IO
BenQ projectors and flat panels with a serial port can support one of three protocols. This integration supports BenQ projectors in the L, P, T, W and X series, and likely others.
This integration works if your projector supports the following command structure:
<CR>*<key>=<value>#<CR>
Where <CR> is a Carriage Return
Examples:
Power on : <CR>*pow=on#<CR>
Power off : <CR>*pow=off#<CR>
Change source to HDMI: <CR>*sour=hdmi#<CR>
This integration does not implement the PJLink protocol, but a proprietary BenQ protocol instead. The PJLink protocol is covered by it's own PJLink integration.
I'm using a generic serial to USB converter to connect to my projector. The projector has a male DB9 connector, thus you need a female connector on your USB converter.
You can look up and change the baud rate in the menu of your BenQ projector.
The commands as described above also work over a network connection. Although I don't own such a projector I have implemented the network functionality using a serial to WiFi bridge. The network support for integrated networked BenQ projectors is thus experimental. Let me know if your network connected BenQ projector works.
Example of a serial to WiFi bridge using a serial to TTL converter and a Wemos C3 Mini:
It has to be said that a direct serial connection to the projector is much more responsive than using a serial to WiFi bridge. Maybe this is different on an integrated networked BenQ projector or using ethernet instead of WiFi.
The following projectors are known to work:
- HT4550i
- MS521P
- MW519
- TH585
- TK800m
- W600L
- W1070
- W1100
- W1110
- W1140
- W1250
- W4000i
- W4100i
- X3000i
The following projectors are not tested but use the same protocol according to the documentation:
Others in the L, P, T, W and X Series
Not supported:
- RP552
- RP552H
- RP840G
- RP653
- RP703
- RP750
- RP750K
- RP652
- RP702
- RP790S
- RP705H
Please let me know if your projector is also supported by this Home Assistant integration so I can improve the overview of supported projectors.
The recommended way to install this Home Assistant integration is by using HACS. Click the following button to open the integration directly on the HACS integration page.
Or follow these instructions:
- Go to your HACS view in Home Assistant and then to Integrations
- Select + Explore & download repositories and search for BenQ Projector
- Select Download
- Restart Home Assistant
- Copy the
custom_components/benqprojectordirectory of this repository into theconfig/custom_components/directory of your Home Assistant installation - Restart Home Assistant
- After restarting go to Settings then Devices & Services
- Select + Add integration and type in BenQ Projector
- Select the serial port or enter the path manually
- Enter the baud rate
- Select Submit
When your wiring is right a new BenQ Projector integration and device will now be added to your Integrations view. If your wiring is not right you will get a Failed to connect error message.
Some projectors need to be powered on to be able to detect the model and the integration to work.
The integration supports actions so commands can be send which are (not yet) implemented.
benqprojector.send This action allows you to send commands with or withouth action to your BenQ
Projector. To get the current state of a setting use ? as the action.
action: benqprojector.send
data:
device_id: 1481637509cb0c89ea1582e195fe6370
command: "pow"
action: "?"
benqprojector.send_raw This action allows you to send any raw command to your BenQ Projector. The
command needs to include the * and # prefix and suffix.
action: benqprojector.send_raw
data:
device_id: 1481637509cb0c89ea1582e195fe6370
command: "*pow=?#"
You can contribute to this integration, or show your appreciation, in the following ways.
If you would like to use this Home Assistant integration in your own language you can provide a
translation file as found in the custom_components/benqprojector/translations directory. Create a
pull request (preferred) or issue with the file for your language attached.
More on translating custom integrations can be found here.
For increased support of your specific BenQ projector model you can contribute the configuration of your projector to the underlaying BenQ projector library
Follow these instruction on how to do so.
Help other Home Assistant and BenQ Projector users find this integration by starring this GitHub page. Click ⭐ Star on the top right of the GitHub page.
Do you enjoy using this Home Assistant integration? Please consider supporting my work through one of the following platforms, your contribution is greatly appreciated and keeps me motivated:
Let me answer your Home Assistant questions. During a 1 hour Q&A session I help you solve your Home Assistant related issues with.
What can be done in one hour:
- Home Assistant walktrough, I explain you where is what in the Home Assistant UI
- Install and configure a Home Assistant integration
- Explain and create scenes
- Explain and create a simple automations
- Install a ZHA quirk, to make your unsupported Zigbee device work in Home Assistant
What takes more time:
- Depending on the severity I might be able to help you with recovering your crashed Home Assistant
- Support for Home Assistant Integration developers
If you would like to have a Home Assistant integration developed for your product or are in need of a freelance Python developer for your project please contact me, you can find my email address on my GitHub profile.

