All Projects → nicolaus-hee → esp8266-benq-rs232-mqtt

nicolaus-hee / esp8266-benq-rs232-mqtt

Licence: other
Control a BenQ TH530 projector via its RS232 interface with an ESP8266, MQTT and openHAB.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to esp8266-benq-rs232-mqtt

Dimswitch
Arduino library to control dimmable ballasts for fluorescent light tubes
Stars: ✭ 17 (-39.29%)
Mutual labels:  openhab
Mqtt Ir Transceiver
ESP8266 based bidirectional bridge between MQTT and IR (change MQTT message to IR signal and change received IR signal to MQTT message)
Stars: ✭ 130 (+364.29%)
Mutual labels:  openhab
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (+621.43%)
Mutual labels:  openhab
Openhab Distro
The binary distribution of openHAB
Stars: ✭ 1,037 (+3603.57%)
Mutual labels:  openhab
Tuya Mqtt
Nodejs-Script to combine tuyaapi and openhab via mqtt
Stars: ✭ 105 (+275%)
Mutual labels:  openhab
Openhab Vscode
VS Code extension for openHAB configuration files
Stars: ✭ 148 (+428.57%)
Mutual labels:  openhab
Openhabian
openHABian - empowering the smart home, for Raspberry Pi and Debian systems
Stars: ✭ 635 (+2167.86%)
Mutual labels:  openhab
Nick-ESP8266
Nick is a series of different Nixie clocks based on ESP8266.
Stars: ✭ 36 (+28.57%)
Mutual labels:  esp8266-projects
Openhab Addons
Add-ons for openHAB
Stars: ✭ 1,598 (+5607.14%)
Mutual labels:  openhab
Pai
Paradox Magellan, Spectra and EVO, with MQTT, Signal, Pushbullet, Pushover and others
Stars: ✭ 185 (+560.71%)
Mutual labels:  openhab
Homeautomation.codesys3
Home Automation system build in CoDeSys 3 with MQTT communication to any third party Home Automation software
Stars: ✭ 55 (+96.43%)
Mutual labels:  openhab
Espuino
RFID-controlled musicplayer powered by ESP32
Stars: ✭ 71 (+153.57%)
Mutual labels:  openhab
Openhab Syno Spk
openHAB Synology SPK Install Package
Stars: ✭ 160 (+471.43%)
Mutual labels:  openhab
Openhab2 Flicbutton
openhab2 binding for flicbutton
Stars: ✭ 15 (-46.43%)
Mutual labels:  openhab
SerialPundit
Serial port communication in Java - FTDI D2XX, HID API, X/Y modem
Stars: ✭ 116 (+314.29%)
Mutual labels:  rs232
Amazon Dash
Hack your Amazon Dash to run what you want.
Stars: ✭ 703 (+2410.71%)
Mutual labels:  openhab
Openhab Ios
The repository of the iOS client
Stars: ✭ 141 (+403.57%)
Mutual labels:  openhab
SenseoWifi
Wifi'ify the Senseo coffee maker. Circuit and firmware for an internal Senseo hack to monitor and control the daily coffee brew (via MQTT) ☕️📶
Stars: ✭ 73 (+160.71%)
Mutual labels:  openhab
owrtwifi2mqtt
Using your OpenWRT Router's Wifi to detect if a person's smartphone is still in/near the apartment and publish via MQTT
Stars: ✭ 70 (+150%)
Mutual labels:  openhab
Openhab Docker
Repository for building Docker containers for openHAB
Stars: ✭ 161 (+475%)
Mutual labels:  openhab

esp8266-benq-rs232-mqtt

Objective: Control this BenQ TH530 projector via its RS232 interface with an ESP8266, MQTT and openHAB.

Features

ℹ️ Read power / source / volume status
💡 Read lamp mode & hours
Trigger power (on/off) commands
📺 Trigger source changes (HDMI etc.)
🔇 Change volume or mute
🍃 Change lamp mode
📣 Publish status updates via MQTT
👂 Listen for MQTT commands
👉 Send custom commands via MQTT
💬 Respond to custom commands via MQTT

Installation

1️⃣ Required hardware

  • ESP8266 (I used a Wemos D1 Mini)
  • RS232 to TTL converter with female DB9

2️⃣ ESP8266 and RS232 to TTL converter

  1. Wire ESP8266 and RS232 to TTL converter.
    (ESP → TTL)
    G → GND
    5V → VCC
    D4 → TXD
    RX → RXD
  2. Add your MQTT broker & WiFI credentials to the esp8266-benq-rs232-mqtt.ino sketch, then flash it to your board.
  3. Plug the DB9 connector to the RS232 port of the projector.

Your ESP will now publish projector status MQTT messages and listen for commands.

3️⃣ openHAB (optional)

  1. Make sure you have the JsonPath transformation service, MQTT binding and a MQTT broker installed.
  2. Create a new Generic MQTT thing, choose 34c510f090:20807f1aae as the identifier.
  3. Edit the new thing, paste the contents of benq_thing.yaml in the 'Code' tab and save.
  4. Place benq.items in your openhab-conf/items folder (e.g. /etc/openhab/items)
  5. Place benq.sitemap in your openhab-conf/sitemaps folder or paste the contents to your existing sitemap.

You can now control the projector using the openHAB GUI.

OpenHAB projector channels

OpenHAB sitemap

4️⃣ Google Assistant via openHAB (optional)

  1. Complete the openHAB steps above.
  2. Connect your openHAB instance to the openHAB Cloud connector.
  3. Expose the newly created projector items to the openHAB Cloud (Settings → openHAB Cloud → Items to Expose).
  4. Ask Google Assistant to "Talk to openHAB" to link your openHAB Cloud account to your Assistant.

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".

Google Home app, room view

Google Home app, device view

Google Home app, assistant dialogue

MQTT implementation

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].