Summary
The Hisense 65U8K Series is a prosumer flat-panel TV controllable over RS-232 (DB9 serial) using a fixed-length ASCII command protocol with 8-bit checksum. This spec covers the full RS-232 command and query set including power, input selection, picture/audio settings, tuner, and remote-button simulation. Discrete IR (Pronto CCF) codes are also documented in the source but are not modeled here as machine-actionable commands.
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
connector: DB9 # female chassis mount on TV; RS-232C compliant
encoding: ASCII
auth:
type: none # inferred: no auth procedure in source
Frame Format
Commands are fixed-length, case-sensitive ASCII strings terminated by Carriage Return (0x0D):
Set: S[CLIENT_ID:3][COMMAND:4][DATA:4][CHECKSUM:1][CR]
Query: Q[CLIENT_ID:3][COMMAND:4]????[CHECKSUM:1][CR]
ACK: [CLIENT_ID:3]:OKAY[DATA:4][CHECKSUM:1][CR]
[CLIENT_ID:3]:EROR[DATA:4][CHECKSUM:1][CR]
[CLIENT_ID:3]:WAIT[DATA:4][CHECKSUM:1][CR]
- CLIENT_ID: Last 3 hex digits of TV's Ethernet MAC address for unicast;
ALLfor broadcast to all TVs on RS-232 bus. - CHECKSUM: 8-bit value such that the sum of all bytes in the full command string (including checksum byte) equals zero (mod 256).
- Padding character for unused data bytes:
#(0x23). - Query data field is always
????.
Traits
- powerable # inferred from POWR set/query commands
- queryable # inferred from extensive Q-prefix query commands throughout
- routable # inferred from INPT input selection commands
- levelable # inferred from VOLM, BRIT, CONT, COLR, TINT, SHRP, BKLV numeric-range commands
Actions
- id: power_standby
label: Set Standby
kind: action
command: "POWR0000"
params: []
- id: power_on
label: Power On
kind: action
command: "POWR0001"
params: []
- id: rs232_power_enable
label: Enable RS-232 Remote Power On
kind: action
command: "PWRE0001"
note: "Must be set to allow RS-232 to wake TV from standby. Also requires Custom Install menu to have Custom Installation set to Enable."
params: []
- id: rs232_power_disable
label: Disable RS-232 Remote Power On
kind: action
command: "PWRE0000"
params: []
- id: set_input
label: Set Input Source
kind: action
command: "INPT{value}"
params:
- name: value
type: enum
values:
"0000": cycle
"0001": TV
"0003": Component
"0004": AV
"0006": VGA
"0009": HDMI1
"0010": HDMI2
"0011": HDMI3
"0012": HDMI4
- id: set_picture_mode
label: Set Picture Mode
kind: action
command: "PMOD{value}"
params:
- name: value
type: enum
values:
"0000": Standard
"0002": Vivid
"0003": EnergySaving
"0004": Theater
"0005": Game
"0006": Sport
- id: set_brightness
label: Set Brightness
kind: action
command: "BRIT{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal (e.g. 0050)"
- id: set_contrast
label: Set Contrast
kind: action
command: "CONT{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal"
- id: set_color_saturation
label: Set Color Saturation
kind: action
command: "COLR{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal"
- id: set_tint
label: Set Tint
kind: action
command: "TINT{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal"
- id: set_sharpness
label: Set Sharpness
kind: action
command: "SHRP{value}"
params:
- name: value
type: integer
range: [0, 20]
format: "4-digit zero-padded decimal"
- id: set_aspect_ratio
label: Set Aspect Ratio
kind: action
command: "ASPT{value}"
params:
- name: value
type: enum
values:
"0000": Auto
"0002": Normal
"0003": Zoom
"0004": Wide
"0005": Direct
"0006": 1-to-1pixel
"0007": Panoramic
"0008": Cinema
- id: set_overscan
label: Set Overscan
kind: action
command: "OVSN{value}"
params:
- name: value
type: enum
values:
"0000": on
"0002": off
- id: reset_picture
label: Reset Picture Settings
kind: action
command: "RSTP1000"
params: []
- id: set_color_temp
label: Set Color Temperature
kind: action
command: "CTEM{value}"
params:
- name: value
type: enum
values:
"0000": High
"0002": Middle
"0003": Mid-Low
"0004": Low
- id: set_backlight
label: Set Backlight Value
kind: action
command: "BKLV{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal"
- id: set_sound_mode
label: Set Sound Mode
kind: action
command: "AMOD{value}"
params:
- name: value
type: enum
values:
"0000": Standard
"0002": Theater
"0003": Music
"0004": Speech
"0005": Late_night
- id: reset_audio
label: Reset Audio Settings
kind: action
command: "RSTA2000"
params: []
- id: set_volume
label: Set Volume
kind: action
command: "VOLM{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal"
- id: set_mute
label: Set Mute
kind: action
command: "MUTE{value}"
params:
- name: value
type: enum
values:
"0000": off
"0001": on
- id: set_tv_speaker
label: Set TV Speaker
kind: action
command: "ASPK{value}"
params:
- name: value
type: enum
values:
"0000": off
"0002": on
- id: set_tuner_mode
label: Set Tuner Mode
kind: action
command: "TUNR{value}"
params:
- name: value
type: enum
values:
"0000": Antenna
"0002": Cable
- id: auto_channel_scan
label: Automatic Channel Search
kind: action
command: "TSCN0001"
params: []
- id: channel_change
label: Channel Up/Down
kind: action
command: "CHAN{value}"
params:
- name: value
type: enum
values:
"0000": down
"0001": up
- id: set_caption
label: Set Closed Caption
kind: action
command: "CC##{value}"
note: "Command uses literal '##' characters in position 3-4 of command field"
params:
- name: value
type: enum
values:
"0000": off
"0002": on
"0003": on_when_mute
- id: factory_reset
label: Restore Factory Settings
kind: action
command: "RSET9999"
params: []
- id: set_osd_language
label: Set OSD Language
kind: action
command: "LANG{value}"
params:
- name: value
type: enum
values:
"0000": English
"0002": Español
"0003": Français
- id: set_standby_led
label: Set Standby LED
kind: action
command: "PLED{value}"
params:
- name: value
type: enum
values:
"0000": off
"0002": on
- id: set_power_off_control_mode
label: Set Power Off Control Mode
kind: action
command: "PBTN{value}"
params:
- name: value
type: enum
values:
"0000": AC_ONLY
"0001": ALL
- id: set_volume_range
label: Set Volume Range (max)
kind: action
command: "MAVL{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal"
- id: set_volume_control_mode
label: Set Volume Control Mode
kind: action
command: "SVOL{value}"
params:
- name: value
type: enum
values:
"0000": LOCKED
"0001": LAST_VOLUME
"0002": AC_RESET
"0003": STANDBY_RESET
- id: set_volume_locked_level
label: Set Volume Locked Level
kind: action
command: "VLFL{value}"
params:
- name: value
type: integer
range: [0, 100]
format: "4-digit zero-padded decimal"
- id: set_remote_key
label: Set Remote Key Mode
kind: action
command: "RMOT{value}"
params:
- name: value
type: enum
values:
"0000": ENABLE
"0001": DISABLE
"0002": PARTIAL
- id: set_panel_key
label: Set Panel Key Mode
kind: action
command: "PANL{value}"
params:
- name: value
type: enum
values:
"0000": ENABLE
"0001": DISABLE
- id: set_menu_access
label: Set Menu Access
kind: action
command: "MENU{value}"
params:
- name: value
type: enum
values:
"0000": ENABLE
"0001": DISABLE
- id: set_av_setting_menu
label: Set AV Setting Menu
kind: action
command: "AVMN{value}"
params:
- name: value
type: enum
values:
"0000": DISABLE
"0001": ENABLE
- id: set_osd_mode
label: Set OSD Mode
kind: action
command: "OSD#{value}"
note: "Command uses literal '#' in position 4 of command field"
params:
- name: value
type: enum
values:
"0000": ENABLE
"0001": DISABLE
- id: set_input_mode
label: Set Input Mode
kind: action
command: "INPM{value}"
params:
- name: value
type: enum
values:
"0000": LOCKED
"0001": SELECTABLE
"0002": AC_RESET
"0003": STANDBY_RESET
- id: simulate_button
label: Simulate Remote/Panel Button Press
kind: action
command: "BTTN{button_code}"
note: "Button codes have a '1' prefix. See Notes section for full code table."
params:
- name: button_code
type: string
description: "4-character button code (e.g. 1012=POWER, 1032=VOL-, 1033=VOL+, 1034=CH+, 1035=CH-, 1040=OK, 1041=UP, 1042=DOWN, 1043=LEFT, 1044=RIGHT, 1045=BACK, 1046=EXIT, 1036=INPUT, 1031=MUTE, 1038=MENU, 1000-1009=digits 0-9)"
- id: set_power_on_input
label: Set Power On Input Selection
kind: action
command: "POIS{value}"
params:
- name: value
type: enum
values:
"0000": LAST
"0001": Air
"0002": AV
"0003": Component
"0004": VGA
"0005": HDMI1
"0006": HDMI2
"0007": HDMI3
"0008": HDMI4
- id: set_tv_speaker_mode
label: Set TV Speaker Mode
kind: action
command: "SPKM{value}"
params:
- name: value
type: enum
values:
"0000": SPEAKER
"0001": OFF
"0002": ARC_FIRST
- id: set_b2b_mode
label: Set B2B Function Mode
kind: action
command: "B2BM{value}"
params:
- name: value
type: enum
values:
"0000": ENABLE
"0001": DISABLE
- id: set_usb_behavior
label: Set USB Behavior
kind: action
command: "USBM{value}"
params:
- name: value
type: enum
values:
"0000": Home
"0001": B2B
- id: set_pixel_shifting
label: Set Pixel Shifting
kind: action
command: "PSHF{value}"
params:
- name: value
type: enum
values:
"0000": off
"0001": on
Feedbacks
- id: power_on_command_setting
label: RS-232 Remote Power On Setting
query_command: "PWRE????"
type: enum
values:
"0": disabled
"1": enabled
- id: current_input
label: Current Input Source
query_command: "INPT????"
type: enum
values:
"1": TV
"3": Component
"4": AV
"6": VGA
"9": HDMI1
"10": HDMI2
"11": HDMI3
"12": HDMI4
- id: picture_mode
label: Current Picture Mode
query_command: "PMOD????"
type: enum
values:
"0": Standard
"2": Vivid
"3": EnergySaving
"4": Theater
"5": Game
"6": Sport
- id: brightness
label: Brightness Value
query_command: "BRIT????"
type: integer
range: [0, 100]
- id: contrast
label: Contrast Value
query_command: "CONT????"
type: integer
range: [0, 100]
- id: color_saturation
label: Color Saturation Value
query_command: "COLR????"
type: integer
range: [0, 100]
- id: tint
label: Tint Value
query_command: "TINT????"
type: integer
range: [0, 100]
- id: sharpness
label: Sharpness Value
query_command: "SHRP????"
type: integer
range: [0, 20]
- id: aspect_ratio
label: Current Aspect Ratio
query_command: "ASPT????"
type: enum
values:
"0": Auto
"2": Normal
"3": Zoom
"4": Wide
"5": Direct
"6": 1-to-1pixel
"7": Panoramic
"8": Cinema
- id: overscan
label: Overscan State
query_command: "OVSN????"
type: enum
values:
"0": on
"2": off
- id: color_temp
label: Current Color Temperature
query_command: "CTEM????"
type: enum
values:
"0": High
"2": Middle
"3": Mid-Low
"4": Low
- id: backlight
label: Backlight Value
query_command: "BKLV????"
type: integer
range: [0, 100]
- id: sound_mode
label: Current Sound Mode
query_command: "AMOD????"
type: enum
values:
"0": Standard
"2": Theater
"3": Music
"4": Speech
"5": Late_night
- id: volume
label: Current Volume
query_command: "VOLM????"
type: integer
range: [0, 100]
- id: mute_state
label: Mute State
query_command: "MUTE????"
type: enum
values:
"0": unmuted
"1": muted
- id: tv_speaker
label: TV Speaker State
query_command: "ASPK????"
type: enum
values:
"0": off
"2": on
- id: tuner_mode
label: Tuner Mode
query_command: "TUNR????"
type: enum
values:
"0": Antenna
"2": Cable
- id: caption_state
label: Closed Caption State
query_command: "CC##????"
type: enum
values:
"0": off
"2": on
"3": on_when_mute
- id: osd_language
label: OSD Language
query_command: "LANG????"
type: enum
values:
"0": English
"2": Español
"3": Français
- id: standby_led
label: Standby LED State
query_command: "PLED????"
type: enum
values:
"0": off
"2": on
- id: power_off_control_mode
label: Power Off Control Mode
query_command: "PBTN????"
type: enum
values:
"0": AC_ONLY
"1": ALL
- id: volume_range
label: Volume Range (max)
query_command: "MAVL????"
type: integer
range: [0, 100]
- id: volume_control_mode
label: Volume Control Mode
query_command: "SVOL????"
type: enum
values:
"0": LOCKED
"1": LAST_VOLUME
"2": AC_RESET
"3": STANDBY_RESET
- id: volume_locked_level
label: Volume Locked Level
query_command: "VLFL????"
type: integer
range: [0, 100]
- id: remote_key_mode
label: Remote Key Mode
query_command: "RMOT????"
type: enum
values:
"0": ENABLE
"1": DISABLE
"2": PARTIAL
- id: panel_key_mode
label: Panel Key Mode
query_command: "PANL????"
type: enum
values:
"0": ENABLE
"1": DISABLE
- id: menu_access
label: Menu Access State
query_command: "MENU????"
type: enum
values:
"0": ENABLE
"1": DISABLE
- id: av_setting_menu
label: AV Setting Menu State
query_command: "AVMN????"
type: enum
values:
"0": DISABLE
"1": ENABLE
- id: osd_mode
label: OSD Mode
query_command: "OSD#????"
type: enum
values:
"0": ENABLE
"1": DISABLE
- id: input_mode
label: Input Mode
query_command: "INPM????"
type: enum
values:
"0": LOCKED
"1": SELECTABLE
"2": AC_RESET
"3": STANDBY_RESET
Variables
# UNRESOLVED: Power-On Input Selection (POIS) command was partially visible in source (truncated).
# Full parameter table not recoverable from source excerpt.
Events
# UNRESOLVED: No unsolicited notification mechanism described in source.
# TV responds only to explicit commands; no push events documented.
Macros
# UNRESOLVED: No multi-step macro sequences described in source.
Safety
confirmation_required_for: []
interlocks:
- description: >
RS-232 control must be explicitly enabled via the TV's Custom Install menu
before any serial commands will be accepted. Access code: press Quick Settings,
then enter 7310 on remote. Set "Custom Installation" to Enable.
- description: >
RS-232 power-on from standby requires an additional prerequisite: set
"Power On Command" to Enable in the Custom Install menu, then send
PWRE0001 via RS-232 to arm remote power-on. A WAIT response may precede
the final OKAY on power-on commands.
Notes
BTTN button code reference (partial):
| Function | Code | Function | Code |
|---|---|---|---|
| POWER | 1012 | MUTE | 1031 |
| VOL- | 1032 | VOL+ | 1033 |
| CH+ | 1034 | CH- | 1035 |
| INPUT | 1036 | MENU | 1038 |
| Connected Home | 1039 | OK/ENTER | 1040 |
| UP | 1041 | DOWN | 1042 |
| LEFT | 1043 | RIGHT | 1044 |
| BACK | 1045 | EXIT | 1046 |
| Digit 0–9 | 1000–1009 | — (DASH) | 1010 |
| PLAY | 1016 | FFW >> | 1017 |
| PAUSE | 1018 | PREVIOUS | 1019 |
| STOP | 1020 | NEXT >> | 1021 |
| Media Player | 1023 | SLEEP | 1024 |
| CC | 1027 | MTS/SAP | 1054 |
| Live TV | 1055 | Red | 1050 |
| Green | 1051 | Blue | 1052 |
| Yellow | 1053 | FRW << | 1015 |
Protocol notes:
- The protocol is case-sensitive. Commands must be sent in UPPERCASE.
#(0x23) is the padding character for unused data positions.- When targeting a specific TV in a multi-TV daisy-chain, use the last 3 hex digits of that TV's Ethernet MAC address as CLIENT_ID. Use
ALLto broadcast to all TVs (no individual ACK returned for broadcasts). - The TV may respond
WAITbeforeOKAYfor slow operations (e.g. power-on boot). - Acknowledged responses for queries embed the data value in the 4-byte DATA field of the ACK, right-aligned, padded with
#.
Source document discrepancy: The input metadata specified "Known protocol: TCP/IP" and the source file is named with _ip. However, the source document exclusively describes RS-232 serial control. No TCP port, IP addressing, or socket protocol is present anywhere in the source. This spec reflects the RS-232 protocol as documented. If a separate IP/TCP control document exists for this series, a separate spec revision should be created.
Provenance
source_domains:
- assets.hisense-usa.com
source_urls:
- https://assets.hisense-usa.com/assets/ProductDownloads/18/5342defe83/Hisense-RS-232-and-IR-Protocol-English_2.pdf
retrieved_at: 2026-04-30T04:31:49.212Z
last_checked_at: 2026-06-02T22:08:00.319Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:08:00.319Z
matched_actions: 74
action_count: 74
confidence: medium
summary: "All 74 spec actions traced to source (dip-safe re-verify). (10 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "Source document title is \"RS-232/IR Protocol for Hisense® Prosumer TV\" — no TCP/IP transport is described. The input metadata stated \"Known protocol: TCP/IP\" but the source contains no TCP port, no IP addressing, and no socket-level protocol. This spec reflects serial-only control as stated in the source."
- "Specific model numbers were blank in the source \"Models\" section; entity ID supplied by caller."
- "Power-on via RS-232 requires the TV's Custom Install menu to be enabled (code 7310); this is a setup prerequisite, not a command sequence."
- "Power-On Input Selection (POIS) command was partially visible in source (truncated)."
- "No unsolicited notification mechanism described in source."
- "No multi-step macro sequences described in source."
- "Source document \"Models\" section was blank; specific model numbers that implement this protocol (beyond \"Prosumer TV\" and \"65U8K Series\" from entity metadata) are not stated."
- "Power-On Input Selection (POIS) command table was truncated in the source excerpt and could not be fully reconstructed."
- "Firmware version compatibility not stated in source."
- "RS-232 multi-drop wiring topology (daisy-chain vs. star) not described in source."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0