Summary
RS-232/IR control protocol for the Hisense Prosumer TV line, applied here to the 5U9LUA regional B2B model. The protocol is a fixed-length ASCII frame over RS-232 with a single-byte 8-bit checksum, terminated by CR (0x0D). Commands cover power, input routing, picture, audio, tuner/channel, captions, language, lock-down (volume/panel/menu/IR), and a remote-button simulator (BTTN).
Transport
protocols:
- serial
serial:
baud_rate: 9600 # source: "Baud Rate 9600bps (UART)"
data_bits: 8 # source: "Data Length 8bits"
parity: none # source: "Parity Bit None"
stop_bits: 1 # source: "Stop Bit 1bit"
flow_control: none # source: "Flow Control None"
connector: DB9 female chassis-mount # source: "standard DB9 D-sub connector... female chassis mount connector"
communication_code: ASCII # source: "Communication Code ASCII code"
termination: "0x0D" # source: "TERMINATION: Carriage Return, HEX Code 0x0D"
auth:
type: none # inferred: no auth/login procedure documented in source
# Frame (source: "Basic Format for Control"):
# S|CLIENT_ID(3B)|COMMAND(4B)|DATA(4B)|CHECKSUM(1B) 0x0D
# Operation: S=Set, Q=Query
# Client ID: "ALL" for broadcast, or last 3 bytes of Ethernet MAC for Smart TV
# Checksum: 8-bit, sum of all bytes including checksum byte == 0 (mod 256)
# Acknowledgement frame:
# CLIENT_ID ':' ACK DATA CHECKSUM 0x0D
# Common ACKs: OKAY, EROR, WAIT
Traits
- powerable # POWR, PWRE, PBTN
- routable # INPT, INPM, POIS
- queryable # Q???????? query commands return state
- levelable # BRIT, CONT, COLR, TINT, SHRP, BKLV, VOLM, MAVL, VLFL
- lockable # SVOL, RMOT, PANL, MENU, AVMN, OSD#
Actions
# Each command payload is the literal Generic HEX byte sequence for the
# broadcast ("ALL") client ID, copied verbatim from the source. Per-MAC
# addressing is a frame-level substitution of the "ALL" (0x41 0x4C 0x4C)
# bytes. Checksum bytes are included; for parameterized actions the
# implementer must recompute the 8-bit checksum after substituting DATA.
# ===== Power =====
- id: set_power_on_command_enable
label: Set Power-On-Command Enable (RS-232 wake from standby)
kind: action
command: "53 41 4C 4C 50 57 52 45 30 30 30 30 D6 0D" # SALLPWRE0000 = Disable
params:
- name: enable
type: enum
values: [0, 1]
description: "0=Disable RS-232 Remote Power On; 1=Enable RS-232 Remote Power On"
- id: query_power_on_command_enable
label: Query Power-On-Command Enable
kind: query
command: "51 41 4C 4C 50 57 52 45 3F 3F 3F 3F 9C 0D" # QALLPWRE????
- id: set_power
label: Set Power On/Off
kind: action
command: "53 41 4C 4C 50 4F 57 52 30 30 30 30 CC 0D" # SALLPOWR0000 = Standby
params:
- name: state
type: enum
values: [0, 1]
description: "0=Stand by; 1=Power on"
- id: set_power_off_control_mode
label: Set Power Off Control Mode
kind: action
command: "53 41 4C 4C 50 42 54 4E 30 30 30 30 E0 0D" # SALLPBTN0000 = AC ONLY
params:
- name: mode
type: enum
values: [0, 1]
description: "0=AC ONLY; 1=ALL"
- id: query_power_off_control_mode
label: Query Power Off Control Mode
kind: query
command: "51 41 4C 4C 50 42 54 4E 3F 3F 3F 3F A6 0D" # QALLPBTN????
# ===== Input =====
- id: set_input_source
label: Set Input Source
kind: action
command: "53 41 4C 4C 49 4E 50 54 30 30 30 31 D8 0D" # SALLINPT0001 = TV
params:
- name: source
type: enum
values: [0, 1, 3, 4, 6, 9, 10, 11, 12]
description: "0=Cycle one at a time; 1=TV; 3=Component; 4=AV; 6=VGA; 9=HDMI1; 10=HDMI2; 11=HDMI3; 12=HDMI4"
- id: query_input_source
label: Query Current Input Source
kind: query
command: "51 41 4C 4C 49 4E 50 54 3F 3F 3F 3F 9F 0D" # QALLINPT????
returns:
type: enum
values: [1, 3, 4, 6, 9, 10, 11, 12]
description: "1=TV, 3=Component, 4=AV, 6=VGA, 9=HDMI1, 10=HDMI2, 11=HDMI3, 12=HDMI4"
- id: set_input_mode
label: Set Input Mode (lock/persistence)
kind: action
command: "53 41 4C 4C 49 4E 50 4D 30 30 30 30 E0 0D" # SALLINPM0000 = LOCKED
params:
- name: mode
type: enum
values: [0, 1, 2, 3]
description: "0=LOCKED; 1=SELECTABLE; 2=AC RESET; 3=STANDBY RESET"
- id: query_input_mode
label: Query Input Mode
kind: query
command: "51 41 4C 4C 49 4E 50 4D 3F 3F 3F 3F A6 0D" # QALLINPM????
- id: set_power_on_input_selection
label: Set Power-On Input Selection
kind: action
command: "53 41 4C 4C 50 4F 49 53 30 30 30 30 D9 0D" # SALLPOIS0000 = LAST
params:
- name: source
type: enum
values: [0, 1, 2, 3]
description: "0=LAST; 1=Air; 2=AV; 3=Component (source row truncated; other values not enumerated in refined excerpt)"
# ===== Picture Mode & Picture Parameters =====
- id: set_picture_mode
label: Set Picture Mode
kind: action
command: "53 41 4C 4C 50 4D 4F 44 30 30 30 30 E4 0D" # SALLPMOD0000 = Standard
params:
- name: mode
type: enum
values: [0, 2, 3, 4, 5, 6]
description: "0=Standard; 2=Vivid; 3=EnergySaving; 4=Theater; 5=Game; 6=Sport"
- id: query_picture_mode
label: Query Picture Mode
kind: query
command: "51 41 4C 4C 50 4D 4F 44 3F 3F 3F 3F AA 0D" # QALLPMOD????
- id: set_brightness
label: Set Brightness
kind: action
command: "53 41 4C 4C 42 52 49 54 30 30 33 35 DB 0D" # SALLBRIT0035 (example)
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100 four-digit ASCII)"
- id: query_brightness
label: Query Brightness
kind: query
command: "51 41 4C 4C 42 52 49 54 3F 3F 3F 3F A9 0D" # QALLBRIT????
returns:
type: integer
description: "0-100"
- id: set_contrast
label: Set Contrast
kind: action
command: "53 41 4C 4C 43 4F 4E 54 30 30 30 30 E0 0D" # SALLCONT0000
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100)"
- id: query_contrast
label: Query Contrast
kind: query
command: "51 41 4C 4C 43 4F 4E 54 3F 3F 3F 3F A6 0D" # QALLCONT????
returns:
type: integer
description: "0-100"
- id: set_color_saturation
label: Set Color Saturation
kind: action
command: "53 41 4C 4C 43 4F 4C 52 30 30 30 30 E3 0D" # SALLCOLR0000
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100)"
- id: query_color_saturation
label: Query Color Saturation
kind: query
command: "51 41 4C 4C 43 4F 4C 52 3F 3F 3F 3F AA 0D" # QALLCOLR????
returns:
type: integer
description: "0-100"
- id: set_tint
label: Set Tint
kind: action
command: "53 41 4C 4C 54 49 4E 54 30 30 30 30 E6 0D" # SALLTINT0000 (pattern; exact bytes vary by value)
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100)"
- id: query_tint
label: Query Tint
kind: query
command: "51 41 4C 4C 54 49 4E 54 3F 3F 3F 3F 9B 0D" # QALLTINT????
returns:
type: integer
description: "0-100"
- id: set_sharpness
label: Set Sharpness
kind: action
command: "53 41 4C 4C 53 48 52 50 30 30 30 30 D7 0D" # SALLSHRP0000
params:
- name: value
type: integer
description: "0-20 (encoded as 0000-0020)"
- id: query_sharpness
label: Query Sharpness
kind: query
command: "51 41 4C 4C 53 48 52 50 3F 3F 3F 3F 9D 0D" # QALLSHRP????
returns:
type: integer
description: "0-20"
- id: set_aspect_ratio
label: Set Aspect Ratio
kind: action
command: "53 41 4C 4C 41 53 50 54 30 30 30 30 DC 0D" # SALLASPT0000 = Auto
params:
- name: ratio
type: enum
values: [0, 2, 3, 4, 5, 6, 7, 8]
description: "0=Auto; 2=Normal; 3=Zoom; 4=Wide; 5=Direct; 6=1-to-1 pixel map; 7=Panoramic; 8=Cinema"
- id: query_aspect_ratio
label: Query Aspect Ratio
kind: query
command: "51 41 4C 4C 41 53 50 54 3F 3F 3F 3F A2 0D" # QALLASPT????
- id: set_overscan
label: Set Overscan
kind: action
command: "53 41 4C 4C 4F 56 53 4E 30 30 30 30 CE 0D" # SALLOVSN0000 = On
params:
- name: state
type: enum
values: [0, 2]
description: "0=On; 2=Off"
- id: query_overscan
label: Query Overscan
kind: query
command: "51 41 4C 4C 4F 56 53 4E 3F 3F 3F 3F 94 0D" # QALLOVSN????
- id: reset_picture_settings
label: Reset Picture Settings
kind: action
command: "53 41 4C 4C 52 53 54 50 31 30 30 30 CA 0D" # SALLRSTP1000
- id: set_color_temperature
label: Set Color Temperature
kind: action
command: "53 41 4C 4C 43 54 45 4D 30 30 30 30 EB 0D" # SALLCTEM0000 = High
params:
- name: temp
type: enum
values: [0, 2, 3, 4]
description: "0=High; 2=Middle; 3=Mid-Low; 4=Low"
- id: query_color_temperature
label: Query Color Temperature
kind: query
command: "51 41 4C 4C 43 54 45 4D 3F 3F 3F 3F B1 0D" # QALLCTEM????
- id: set_backlight
label: Set Backlight Value
kind: action
command: "53 41 4C 4C 42 4B 4C 56 30 30 30 30 E5 0D" # SALLBKLV0000 (pattern; varies by value)
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100)"
- id: query_backlight
label: Query Backlight
kind: query
command: "51 41 4C 4C 42 4B 4C 56 3F 3F 3F 3F AB 0D" # QALLBKLV????
returns:
type: integer
description: "0-100"
# ===== Audio =====
- id: set_sound_mode
label: Set Sound Mode
kind: action
command: "53 41 4C 4C 41 4D 4F 44 30 30 30 30 F3 0D" # SALLAMOD0000 = Standard
params:
- name: mode
type: enum
values: [0, 2, 3, 4, 5]
description: "0=Standard; 2=Theater; 3=Music; 4=Speech; 5=Late night"
- id: query_sound_mode
label: Query Sound Mode
kind: query
command: "51 41 4C 4C 41 4D 4F 44 3F 3F 3F 3F B9 0D" # QALLAMOD????
- id: reset_audio_settings
label: Reset Audio Settings
kind: action
command: "53 41 4C 4C 52 53 54 41 32 30 30 30 D8 0D" # SALLRSTA2000
- id: set_volume
label: Set Volume
kind: action
command: "53 41 4C 4C 56 4F 4C 4D 30 30 30 30 D6 0D" # SALLVOLM0000 (value 0 example)
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100)"
- id: query_volume
label: Query Volume
kind: query
command: "51 41 4C 4C 56 4F 4C 4D 3F 3F 3F 3F 9C 0D" # QALLVOLM????
returns:
type: integer
description: "0-100"
- id: set_mute
label: Set Mute
kind: action
command: "53 41 4C 4C 4D 55 54 45 30 30 30 30 D9 0D" # SALLMUTE0000 = Off
params:
- name: state
type: enum
values: [0, 1]
description: "0=Off; 1=On"
- id: query_mute
label: Query Mute Status
kind: query
command: "51 41 4C 4C 4D 55 54 45 3F 3F 3F 3F 9F 0D" # QALLMUTE????
- id: set_tv_speaker
label: Set TV Speaker
kind: action
command: "53 41 4C 4C 41 53 50 4B 30 30 30 30 E5 0D" # SALLASPK0000 = Off
params:
- name: state
type: enum
values: [0, 2]
description: "0=Off; 2=On"
- id: query_tv_speaker
label: Query TV Speaker
kind: query
command: "51 41 4C 4C 41 53 50 4B 3F 3F 3F 3F AB 0D" # QALLASPK????
# ===== Tuner / Channel =====
- id: set_tuner_mode
label: Set Tuner Mode
kind: action
command: "53 41 4C 4C 54 55 4E 52 30 30 30 30 CB 0D" # SALLTUNR0000 = Antenna
params:
- name: mode
type: enum
values: [0, 2]
description: "0=Antenna; 2=Cable"
- id: query_tuner_mode
label: Query Tuner Mode
kind: query
command: "51 41 4C 4C 54 55 4E 52 3F 3F 3F 3F 91 0D" # QALLTUNR????
- id: automatic_search
label: Automatic Channel Search
kind: action
command: "53 41 4C 4C 54 53 43 4E 30 30 30 31 DB 0D" # SALLTSCN0001
- id: set_channel
label: Channel Up/Down
kind: action
command: "53 41 4C 4C 43 48 41 4E 30 30 30 30 FA 0D" # SALLCHAN0000 = down
params:
- name: direction
type: enum
values: [0, 1]
description: "0=down; 1=up"
# ===== Captions, Language, Reset, Standby LED =====
- id: set_caption_control
label: Set Closed Caption Mode
kind: action
command: "53 41 4C 4C 43 43 23 23 30 30 30 30 48 0D" # SALLCC##0000 = off
params:
- name: mode
type: enum
values: [0, 2, 3]
description: "0=off; 2=on; 3=on when mute"
- id: query_caption_control
label: Query Caption Control
kind: query
command: "51 41 4C 4C 43 43 23 23 3F 3F 3F 3F 0E 0D" # QALLCC##????
- id: restore_factory_settings
label: Restore Factory Settings
kind: action
command: "53 41 4C 4C 52 53 45 54 39 39 39 39 B2 0D" # SALLRSET9999
- id: set_osd_language
label: Set OSD Language
kind: action
command: "53 41 4C 4C 4C 41 4E 47 30 30 30 30 F2 0D" # SALLLANG0000 = English
params:
- name: language
type: enum
values: [0, 2, 3]
description: "0=English; 2=Español; 3=Français"
- id: query_osd_language
label: Query OSD Language
kind: query
command: "51 41 4C 4C 4C 41 4E 47 3F 3F 3F 3F B8 0D" # QALLLANG????
- id: set_standby_led
label: Set Standby LED
kind: action
command: "53 41 4C 4C 50 4C 45 44 30 30 30 30 EF 0D" # SALLPLED0000 = Off
params:
- name: state
type: enum
values: [0, 2]
description: "0=Off; 2=On"
- id: query_standby_led
label: Query Standby LED
kind: query
command: "51 41 4C 4C 50 4C 45 44 3F 3F 3F 3F B5 0D" # QALLPLED????
# ===== Lock / Lock-down Controls =====
- id: set_volume_control_mode
label: Set Volume Control Mode (lock/persistence)
kind: action
command: "53 41 4C 4C 53 56 4F 4C 30 30 30 30 D0 0D" # SALLSVOL0000 = LOCKED
params:
- name: mode
type: enum
values: [0, 1, 2, 3]
description: "0=LOCKED; 1=LAST VOLUME; 2=AC RESET; 3=STANDBY RESET"
- id: query_volume_control_mode
label: Query Volume Control Mode
kind: query
command: "51 41 4C 4C 53 56 4F 4C 3F 3F 3F 3F 96 0D" # QALLSVOL????
- id: set_max_volume
label: Set Max Volume Range
kind: action
command: "53 41 4C 4C 4D 41 56 4C 30 30 30 30 E6 0D" # SALLMAVL0000 (pattern)
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100)"
- id: query_max_volume
label: Query Max Volume Range
kind: query
command: "51 41 4C 4C 4D 41 56 4C 3F 3F 3F 3F AA 0D" # QALLMAVL????
returns:
type: integer
description: "0-100"
- id: set_volume_locked_level
label: Set Volume Locked Level
kind: action
command: "53 41 4C 4C 56 4C 46 4C 30 30 30 30 E2 0D" # SALLVLFL0000 (pattern)
params:
- name: value
type: integer
description: "0-100 (encoded as 0000-0100)"
- id: query_volume_locked_level
label: Query Volume Locked Level
kind: query
command: "51 41 4C 4C 56 4C 46 4C 3F 3F 3F 3F A6 0D" # QALLVLFL????
returns:
type: integer
description: "0-100"
- id: set_remote_key
label: Set Remote Key Lock
kind: action
command: "53 41 4C 4C 52 4D 4F 54 30 30 30 30 D2 0D" # SALLRMOT0000 = ENABLE
params:
- name: mode
type: enum
values: [0, 1, 2]
description: "0=ENABLE; 1=DISABLE; 2=PARTIAL"
- id: query_remote_key
label: Query Remote Key Lock
kind: query
command: "51 41 4C 4C 52 4D 4F 54 3F 3F 3F 3F 98 0D" # QALLRMOT????
- id: set_panel_key
label: Set Panel Button Lock
kind: action
command: "53 41 4C 4C 50 41 4E 4C 30 30 30 30 E9 0D" # SALLPANL0000 = ENABLE
params:
- name: mode
type: enum
values: [0, 1]
description: "0=ENABLE; 1=DISABLE"
- id: query_panel_key
label: Query Panel Button Lock
kind: query
command: "51 41 4C 4C 50 41 4E 4C 3F 3F 3F 3F AF 0D" # QALLPANL????
- id: set_menu_access
label: Set Menu Access Lock
kind: action
command: "53 41 4C 4C 4D 45 4E 55 30 30 30 30 DF 0D" # SALLMENU0000 = ENABLE
params:
- name: mode
type: enum
values: [0, 1]
description: "0=ENABLE; 1=DISABLE"
- id: query_menu_access
label: Query Menu Access Lock
kind: query
command: "51 41 4C 4C 4D 45 4E 55 3F 3F 3F 3F A5 0D" # QALLMENU????
- id: set_av_setting_menu
label: Set AV Setting Menu Lock
kind: action
command: "53 41 4C 4C 41 56 4D 4E 30 30 30 30 E2 0D" # SALLAVMN0000 = DISABLE
params:
- name: mode
type: enum
values: [0, 1]
description: "0=DISABLE; 1=ENABLE"
- id: query_av_setting_menu
label: Query AV Setting Menu Lock
kind: query
command: "51 41 4C 4C 41 56 4D 4E 3F 3F 3F 3F A8 0D" # QALLAVMN????
- id: set_osd_mode
label: Set OSD Mode (visibility lock)
kind: action
command: "53 41 4C 4C 4F 53 44 23 30 30 30 30 0B 0D" # SALLOSD#0000 = ENABLE
params:
- name: mode
type: enum
values: [0, 1]
description: "0=ENABLE; 1=DISABLE"
- id: query_osd_mode
label: Query OSD Mode
kind: query
command: "51 41 4C 4C 4F 53 44 23 3F 3F 3F 3F D1 0D" # QALLOSD#????
# ===== Remote Control Button Simulator (BTTN) =====
# BTTN is a single command with 4-digit DATA field. Each row in the source is
# a different button code; they collapse to one parameterized action.
- id: send_remote_button
label: Simulate Remote Button Press
kind: action
command: "53 41 4C 4C 42 54 54 4E 31 30 31 32 D8 0D" # SALLBTTN1012 = POWER (example)
params:
- name: button_code
type: enum
description: "4-digit ASCII button code from source table"
values:
- "1000" # 0
- "1001" # 1
- "1002" # 2
- "1003" # 3
- "1004" # 4
- "1005" # 5
- "1006" # 6
- "1007" # 7
- "1008" # 8
- "1009" # 9
- "1010" # - (DASH)
- "1012" # POWER
- "1015" # FRW <<
- "1016" # PLAY
- "1017" # FFW >>
- "1018" # PAUSE
- "1019" # PREVIOUS <<
- "1020" # STOP
- "1021" # NEXT >>
- "1023" # Media Player (HiMedia)
- "1024" # SLEEP
- "1027" # CC
- "1031" # MUTE
- "1032" # VOL-
- "1033" # VOL+
- "1034" # CH+
- "1035" # CH-
- "1036" # INPUT
- "1038" # MENU
- "1039" # HiSmart (Connected Home)
- "1040" # OK/ENTER
- "1041" # UP
- "1042" # DOWN
- "1043" # LEFT
- "1044" # RIGHT
- "1045" # BACK
- "1046" # EXIT
- "1050" # Red
- "1051" # Green
- "1052" # Blue
- "1053" # Yellow
- "1054" # MTS/SAP
- "1055" # Live TV
Feedbacks
# ACKs returned in the 4-byte ACK field of the acknowledgement frame
- id: ack_okay
type: enum
values: [OKAY]
description: "Command accepted. Source: 'The most common ACK are OKAY,EROR,WAIT'"
- id: ack_error
type: enum
values: [EROR]
description: "Command rejected or parse error."
- id: ack_wait
type: enum
values: [WAIT]
description: "Command accepted, processing; client should re-query."
# Query responses return DATA in the acknowledgement frame.
# Mappings are documented per-action above (see `returns:`).
Variables
# Continuous, settable values exposed as 0-100 (or 0-20 for sharpness) levels.
- id: volume_level
type: integer
range: [0, 100]
set_action: set_volume
query_action: query_volume
- id: brightness_level
type: integer
range: [0, 100]
set_action: set_brightness
query_action: query_brightness
- id: contrast_level
type: integer
range: [0, 100]
set_action: set_contrast
query_action: query_contrast
- id: color_saturation_level
type: integer
range: [0, 100]
set_action: set_color_saturation
query_action: query_color_saturation
- id: tint_level
type: integer
range: [0, 100]
set_action: set_tint
query_action: query_tint
- id: sharpness_level
type: integer
range: [0, 20]
set_action: set_sharpness
query_action: query_sharpness
- id: backlight_level
type: integer
range: [0, 100]
set_action: set_backlight
query_action: query_backlight
- id: max_volume
type: integer
range: [0, 100]
set_action: set_max_volume
query_action: query_max_volume
- id: volume_locked_level
type: integer
range: [0, 100]
set_action: set_volume_locked_level
query_action: query_volume_locked_level
Safety
confirmation_required_for:
- restore_factory_settings # RSET9999 wipes user configuration
interlocks: []
# UNRESOLVED: no explicit safety warnings, interlock procedures, or power-on
# sequencing requirements documented in source beyond the custom-install
# enable steps for the RS-232 port itself (see Notes).
Notes
Source is the "RS-232/IR Protocol for Hisense® Prosumer TV" document (RS-232/IR guide). The refined excerpt's "## Models" section is empty in this extract and the 5U9LUA model number does not appear in the body. The 5U9LUA is asserted as covered by operator context (filename + prior B2B memo for HiSense Prosumer TV line); the actual model-to-protocol binding should be re-verified against a model list in the full document.
The protocol is case-sensitive ASCII. The frame is exactly 14 bytes on the wire (OPERATION + CLIENT_ID + COMMAND + DATA + CHECKSUM = 1+3+4+4+1) followed by CR (0x0D). Checksum is 8-bit; the sum of all 13 bytes BEFORE the CR (i.e., the entire frame including the CHECKSUM byte) must equal 0 mod 256. Implementers must recompute the checksum whenever DATA is parameterized.
Per the source, two CLIENT_ID forms are supported: "ALL" (broadcast) and a 3-character suffix drawn from the TV's Ethernet MAC address (e.g. "5FA" for a MAC ending in ...:5F:A). The protocol uses the Ethernet MAC only as a client identifier; the source describes no IP-based control plane. The Hisense B2B portal hosts a separate IP Control Guide (downloadId=784 per prior operator memo) that is NOT in this source extract. Treat IP control as UNRESOLVED until that document is refined and merged.
The RS-232 port on the TV is a female DB9 D-sub chassis-mount connector. The source instructs installers to enable the port via the TV's Custom Install menu (Settings → Quick Settings → enter 7-3-1-0 → scroll to Custom Installation → Enable). For wake-from-standby over RS-232, the "Power On Command" setting must also be Enable in the same menu (this is what the PWRE command toggles).
IR control uses discrete NEC-format codes (e.g. POWER ON = 04 FB 71 8E) and is documented in the same source but is not covered in this serial spec. Discrete IR codes reference the data byte / complement pair (e.g. HDMI.1 = 04 FB 7C 83) and are emitted as Pronto CCF strings. The full IR table has ~70 functions; an IR-only sibling spec could be generated from the same source if needed.
The BTTN command set is a remote-control simulator: every key on the user's remote has a numeric code. The codes listed in the actions are exhaustive of the source's BTTN table.
POIS (Power-On Input Selection) table in the source is partially truncated in the refined excerpt — only values 0 (LAST), 1 (Air), 2 (AV), 3 (Component) are visible. Other values likely include HDMIx and VGA but are not in the source extract.
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-05-04T15:18:08.216Z
last_checked_at: 2026-06-02T21:41:59.063Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:41:59.063Z
matched_actions: 68
action_count: 68
confidence: medium
summary: "All 68 spec actions matched verbatim in source command tables; transport parameters confirmed; 4 source-only commands (SPKM, B2BM, USBM, PSHF) below the 5-command short threshold. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- SPKM
- B2BM
- USBM
- PSHF
- "source refined excerpt does not enumerate which Prosumer TV models are covered; the 5U9LUA is not named in the source body. The 5U9LUA is asserted by operator context (filename + prior B2B memo)."
- "source documents no IP/Telnet/REST control plane. The operator flagged \"TCP/IP\" as the known protocol, but the supplied refined document only covers RS-232. IP control may exist in a separate Hisense B2B document (downloadId=784) that was not in this source extract."
- "source lists TV-Specific HEX columns (per-MAC-suffix targeting) and a Generic HEX column (broadcast client ID \"ALL\"). Only the Generic HEX form is included in the spec; per-MAC addressing is a frame-level substitution."
- "no explicit safety warnings, interlock procedures, or power-on"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0