Your Universal Remote Control Center
RemoteCentral.com
RS-232 & IP Control Forum - View Post
Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Original thread:
Post 102 made on Friday July 22, 2022 at 02:20
CriXiD
New Member
Joined:
Posts:
July 2022
1
Hey all, thanks for this wonderful thread, and thanks Duct Tape for the list of commands. You're a life saver. I now have a functional solution on the Frame 2022 using RS232 which I've chosen for two reasons...
  1. IP is flakey and unreliable on the Frame... Authentication tokens are often needing to be refreshed manually, power control switching between Art mode and regular tv mode is flakey and unpredictable, and there is no brightness control which is necessary due to the poor sensor control over Art mode brightness in low light.
  2. Infrared is not great for me as I am building a custom wood frame that will block the receiver. There are forwarders etc but I haven't seen a lot of success with them outside of units such as this, which they don't want to sell to people who don't own their deco frames.
So here's my setup for anyone else who might be interested...

TV
  • The Frame 2022 65" (QA65LS03BAWXXY - Australia)
  • Port: "Service" (it's not called Ex link in Australia)
TV configuration
  • Service mode: RS-232 (default)
  • Jack: UART (default)
  • Ex link support: On (Off by default)
  • USB serial: Off (default)
  • Anynet+: Off (On by default)
  • Hotel mode: Off (default)
Controller hardwareController software
  • Node Red running in a docker container
  • node-red-node-serialport package installed (version 0.15.0) to send the RS232 commands
    • Note: The latest version (node-red-node-serialport 1.0.1) on arm based processors silently fails when attempting to open a connection to the USB serial port and kills the running instance of node red, therefore required manual npm installation of 0.15.0. This is a known issue they'll fix in future versions.
Controller / node red configuration
  • Expose the USB serial port / device in docker-compose config
    • /dev/ttyUSB0:/dev/ttyUSB0, or
      • /dev/serial/by-id/YOURDEVICE:/dev/ttyUSB0
    • group_add:
      • - dialout
  • Configure node-red-node-serialport
    • Serial port: The port specified in the docker config, i.e. /dev/ttyUSB0
    • Baud rate: 9600 (115200 failed to send commands for me despite others reporting this as working)
    • Data bits: 8
    • Parity: None
    • Stop bits: 1
    • All other config options: Default
    • Note: There is no hardware flow control implemented in this package, therefore no ability to enable / disable it. Disabled by virtue of not being supported :)
Node red flow / commands
  • Sending the HEX commands to the TV using the node-red-node-serialport package is achieved by sending buffered data. Here is an example (download node red JSON flow)
    1. A node red inject node (or any other node that initiates a flow)
    2. A function node that passes through buffered data as individual bytes (i.e. for the Power On HEX command of 08 22 00 00 00 02 D4)
      • msg.payload = Buffer.from(["0x08","0x22","0x00","0x00","0x00","0x02","0xD4"]);
        return msg;
    3. A 'serial out' node that is configured as per the "Configure node-red-node-serialport" step above
  • Initiate the flow via clicking the inject node, or whatever other flow trigger you use, and the command will be sent to the TV
And that's it :) It works flawlessly. Because it's implemented via Node Red, I can use this to send RS232 commands via any automation / flow in Node Red. Some things I have in place:
  • Zigbee wall switch automations (also available using my harmony remote)
    • Button press -> Deconz zigbee event -> Node Red -> Toggle tv on / off
    • Long button press -> Deconz zigbee event -> Node Red -> Dim tv brightness
    • Double button press -> Deconz zigbee event -> Node Red -> Increase tv brightness
  • ​Home assistant list helper
    • ​Select art mode, tv mode or off -> Node Red -> Set tv state
  • ​My next automation will be to automatically detect room brightness via a Lux meter and then feed brightness data to the tv
Hopefully someone finds this helpful. Feel free to ping me if you have any questions.

Last edited by CriXiD on July 22, 2022 04:34.


Hosting Services by ipHouse