Objective: Control this BenQ TH530 projector via its RS232 interface with an ESP8266, MQTT and openHAB.
:information_source: Read power / source / volume status
:bulb: Read lamp mode & hours
:zap: Trigger power (on/off) commands
:tv: Trigger source changes (HDMI etc.)
:mute: Change volume or mute
:leaves: Change lamp mode
:mega: Publish status updates via MQTT
:ear: Listen for MQTT commands
:point_right: Send custom commands via MQTT
:speech_balloon: Respond to custom commands via MQTT
esp8266-benq-rs232-mqtt.ino
sketch, then flash it to your board.RS232
port of the projector.:white_check_mark: Your ESP will now publish projector status MQTT messages and listen for commands.
34c510f090:20807f1aae
as the identifier.benq_thing.yaml
in the 'Code' tab and save.benq.items
in your openhab-conf/items
folder (e.g. /etc/openhab/items
)benq.sitemap
in your openhab-conf/sitemaps
folder or paste the contents to your existing sitemap.:white_check_mark: You can now control the projector using the openHAB GUI.
:white_check_mark: A TV
device will appear in your Google Home app and you can now control the projector via the app or with voice commands such as "mute my TV".
stat
topics are published by the module and contain status messages. cmnd
topics are used to execute commands on the projector.
Topic | Payload | Comment |
---|---|---|
stat/projector/STATUS |
{"POWER":"ON","SOURCE":"HDMI","VOLUME":4, "LAMP_MODE":"ECO","LAMP_HOURS":105,"MUTE":"OFF"} |
Every 5 seconds |
cmnd/projector/POWER |
ON , OFF |
Power on / off |
cmnd/projector/SOURCE |
HDMI , SVID , VID , RGB , RGB2 |
Set source |
cmnd/projector/VOLUME |
0 ...10 |
Set volume |
cmnd/projector/MUTE |
ON , OFF |
(Un)mute |
cmnd/projector/LAMP_MODE |
LNOR , ECO , SECO , SECO2 |
Set lamp mode |
cmnd/projector/COMMAND |
See BenQ docu, e.g. VOL=? |
|
stat/projector/COMMAND |
{"COMMAND":"...","RESPONSE":"..."} |
Returns result of above |