A custom ESPHome component to control Acer H7550BD projectors (and potentially other compatible Acer models) via RS232 serial communication.
- Power on/off control
- Lamp hours monitoring with efficient polling (only when projector is on)
- Lamp status monitoring
- 3D mode control with advanced two-phase activation sequence
- Hide and freeze display functions via button entities
- Keystone adjustment controls
- Model name detection (automatically refreshed each time projector turns on)
- Smart power state handling with interlocks
- Create a
custom_components
directory in your ESPHome configuration directory if it doesn't already exist. - Copy the entire
acer_projector
directory into thecustom_components
directory. - Add the following to your YAML configuration:
external_components:
- source:
type: local
path: custom_components
Add this to your YAML configuration:
external_components:
- source:
type: git
url: https://github.com/SparkyDan555/ESPHome-Acer-Projector
ref: main
Connect the ESP8266/ESP32 to the projector's RS232 port using an appropriate level shifter/converter (RS232 to TTL converter) as RS232 operates at different voltage levels than the ESP.
Typical connections:
- ESP TX → RS232 converter RX
- ESP RX → RS232 converter TX
- ESP GND → RS232 converter GND
Make sure to use a power supply that can handle the requirements of both the ESP and the RS232 converter.
# Configure a UART component for the RS232 connection
uart:
tx_pin: GPIO1 # Adjust according to your ESP model
rx_pin: GPIO3 # Adjust according to your ESP model
baud_rate: 9600
data_bits: 8
parity: NONE
stop_bits: 1
# Configure the acer_projector component
acer_projector:
id: acer_projector_device
# Configure switches
switch:
- platform: acer_projector
acer_projector_id: acer_projector_device
power:
name: "Acer Projector Power"
sync_3d:
name: "Acer Projector 3D Mode"
# Configure buttons
button:
- platform: acer_projector
acer_projector_id: acer_projector_device
hide:
name: "Acer Projector Hide Display"
freeze:
name: "Acer Projector Freeze"
keystone_up:
name: "Acer Projector Keystone Up"
keystone_down:
name: "Acer Projector Keystone Down"
# Configure sensors
sensor:
- platform: acer_projector
acer_projector_id: acer_projector_device
lamp_hours:
name: "Acer Projector Lamp Hours"
# Configure binary sensors
binary_sensor:
- platform: acer_projector
acer_projector_id: acer_projector_device
lamp_status:
name: "Acer Projector Lamp Status"
# Configure text sensors
text_sensor:
- platform: acer_projector
acer_projector_id: acer_projector_device
model:
name: "Acer Projector Model"
See example_config.yaml
for a complete configuration example.
After setting up the component and connecting to Home Assistant, you'll get these entities:
- Switch: Control power and 3D mode features
- Button: Control hide display, freeze, and keystone adjustment functions
- Sensor: Monitor lamp hours (only polls when projector is on)
- Binary Sensor: Monitor lamp status (on/off)
- Text Sensor: Show projector model (updated each time projector is powered on)
This component implements a specialized 3D mode activation sequence:
- When 3D mode is turned on, it first sends IR code 056
- After 8.5 seconds, it sends the follow-up IR code 062 (only if 3D mode is still enabled)
- When 3D mode is turned off, it sends IR code 057
- 3D mode cannot be enabled when the projector is off
- If 3D mode is on and projector is turned off, 3D mode is automatically disabled
- 3D mode switch will immediately revert to off position if attempted when projector is off
- Lamp hours are only queried when the projector is on
- Model name is automatically queried each time the projector turns on
- Reduced log verbosity for common status messages when projector is off
This component implements the Acer serial protocol using IR command codes over the RS232 interface:
- Format:
* 0 IR XXX\r
where XXX is the IR code - Lamp status query:
* 0 Lamp ?\r
- Lamp hours query:
* 0 Lamp\r
- Power on:
001
- Power off:
002
- 3D mode phase 1:
056
- 3D mode phase 2:
062
- 3D mode off:
057
- Hide display:
030
- Freeze display:
007
- Keystone up:
042
- Keystone down:
043
- Query model:
035
- No response from projector: Check your wiring, especially TX/RX connections (they might need to be swapped).
- Incorrect values: Make sure baud rate and serial settings match the projector requirements.
- Connection issues: Verify the RS232 converter is powered correctly and the voltage levels are appropriate.
- 3D mode not activating: Remember the 3D mode uses a two-phase activation with an 8.5 second delay between commands.
- Switch state mismatch: Power-state interlocks might be preventing certain functions; check if the projector is on.
This component is licensed under the MIT License.
- Based on the Acer H7550BD serial command protocol.
- Developed for integration with the ESPHome ecosystem.