Summary
RS-232C serial control protocol for the HiSense 5A53HUA Prosumer TV. Frame format: ASCII, 14 bytes fixed length (Operation, Client ID, Command, Data, Checksum, CR). Query commands return ACK with OKAY/EROR/WAIT plus data. Document also covers a discrete IR code set (out of scope for this serial spec).
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
connector: DB9 D-sub female on TV
auth:
type: none # inferred: no auth/login procedure in source
Frame structure (per source, 14 bytes fixed):
- OPERATION (1 byte):
S= Set,Q= Query - CLIENT ID (3 bytes ASCII):
0-9,A-F. For Smart TV use last 3 bytes of Ethernet MAC; for Feature TV use value selected in TV Menu;ALL= broadcast. - COMMAND (4 bytes ASCII,
A-Z): mnemonic from "Command & Data" table - DATA (4 bytes ASCII,
0-9,A-Z,#,?):????for queries - CHECKSUM (1 byte): 8-bit checksum such that the 8-bit sum of the entire command string including the CHECKSUM byte equals
0x00 - TERMINATION (1 byte): Carriage Return
0x0D
ACK from TV: <CLIENT_ID>:<ACK><DATA><CHECKSUM><CR> where ACK is one of OKAY, EROR, WAIT.
Traits
- powerable # inferred: POWER ON/OFF control present (POWR, PWRE)
- routable # inferred: input source selection present (INPT, POIS)
- queryable # inferred: extensive QUERY command set present
- levelable # inferred: volume/brightness/contrast/sharpness/color/tint/backlight settable
Actions
# Frame template:
# SET: S<CLIENT_ID><COMMAND><DATA><CKSUM>\r
# QUERY: Q<CLIENT_ID><COMMAND>????<CKSUM>\r
# {CLIENT_ID}: 3 ASCII chars (last 3 of MAC, or "ALL")
# {CKSUM}: 1 byte; 8-bit sum of all preceding bytes plus checksum = 0x00
# \r = 0x0D (CR)
- id: pwre_disable
label: Disable RS-232 Remote Power On
kind: action
command: "S{ID}PWRE0000{CKSUM}\r"
params:
- name: ID
type: string
description: 3-char ASCII client ID
- name: CKSUM
type: byte
description: 1-byte checksum (sum including this byte ≡ 0x00)
notes: "Function: POWER ON COMMAND ENABLE/QUERY POWER ON COMMAND SETTING"
- id: pwre_enable
label: Enable RS-232 Remote Power On
kind: action
command: "S{ID}PWRE0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Must be set to Enable before RS-232 can power the TV on from standby."
- id: powr_standby
label: Set Power Standby
kind: action
command: "S{ID}POWR0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: powr_on
label: Set Power On
kind: action
command: "S{ID}POWR0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_cycle
label: Input Signal: Change One at a Time
kind: action
command: "S{ID}INPT0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_tv
label: Set Input Signal: TV
kind: action
command: "S{ID}INPT0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_component
label: Set Input Signal: Component
kind: action
command: "S{ID}INPT0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_av
label: Set Input Signal: AV
kind: action
command: "S{ID}INPT0004{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_vga
label: Set Input Signal: VGA
kind: action
command: "S{ID}INPT0006{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_hdmi1
label: Set Input Signal: HDMI1
kind: action
command: "S{ID}INPT0009{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_hdmi2
label: Set Input Signal: HDMI2
kind: action
command: "S{ID}INPT0010{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_hdmi3
label: Set Input Signal: HDMI3
kind: action
command: "S{ID}INPT0011{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpt_hdmi4
label: Set Input Signal: HDMI4
kind: action
command: "S{ID}INPT0012{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pmod_standard
label: Set Picture Mode: Standard
kind: action
command: "S{ID}PMOD0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pmod_vivid
label: Set Picture Mode: Vivid
kind: action
command: "S{ID}PMOD0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pmod_energy_saving
label: Set Picture Mode: EnergySaving
kind: action
command: "S{ID}PMOD0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pmod_theater
label: Set Picture Mode: Theater
kind: action
command: "S{ID}PMOD0004{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pmod_game
label: Set Picture Mode: Game
kind: action
command: "S{ID}PMOD0005{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pmod_sport
label: Set Picture Mode: Sport
kind: action
command: "S{ID}PMOD0006{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: brit_set
label: Set Brightness Value
kind: action
command: "S{ID}BRIT{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded (e.g. 0035, 0100)
- name: CKSUM
type: byte
- id: cont_set
label: Set Contrast Value
kind: action
command: "S{ID}CONT{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded
- name: CKSUM
type: byte
- id: colr_set
label: Set Color Saturation Value
kind: action
command: "S{ID}COLR{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded
- name: CKSUM
type: byte
- id: tint_set
label: Set Tint Value
kind: action
command: "S{ID}TINT{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded
- name: CKSUM
type: byte
- id: shrp_set
label: Set Sharpness Value
kind: action
command: "S{ID}SHRP{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-20, 4-digit zero-padded
- name: CKSUM
type: byte
- id: aspt_auto
label: Set Aspect Ratio: Auto
kind: action
command: "S{ID}ASPT0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspt_normal
label: Set Aspect Ratio: Normal
kind: action
command: "S{ID}ASPT0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspt_zoom
label: Set Aspect Ratio: Zoom
kind: action
command: "S{ID}ASPT0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspt_wide
label: Set Aspect Ratio: Wide
kind: action
command: "S{ID}ASPT0004{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspt_direct
label: Set Aspect Ratio: Direct
kind: action
command: "S{ID}ASPT0005{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspt_pixel_map
label: Set Aspect Ratio: 1-to-1 Pixel Map
kind: action
command: "S{ID}ASPT0006{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspt_panoramic
label: Set Aspect Ratio: Panoramic
kind: action
command: "S{ID}ASPT0007{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspt_cinema
label: Set Aspect Ratio: Cinema
kind: action
command: "S{ID}ASPT0008{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: ovsn_on
label: Set Overscan: On
kind: action
command: "S{ID}OVSN0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: ovsn_off
label: Set Overscan: Off
kind: action
command: "S{ID}OVSN0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: rstp_picture
label: Reset Picture Settings
kind: action
command: "S{ID}RSTP1000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: ctem_high
label: Set Color Temp: High
kind: action
command: "S{ID}CTEM0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: ctem_middle
label: Set Color Temp: Middle
kind: action
command: "S{ID}CTEM0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: ctem_mid_low
label: Set Color Temp: Mid-Low
kind: action
command: "S{ID}CTEM0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: ctem_low
label: Set Color Temp: Low
kind: action
command: "S{ID}CTEM0004{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: bklv_set
label: Set Backlight Value
kind: action
command: "S{ID}BKLV{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded
- name: CKSUM
type: byte
- id: amod_standard
label: Set Sound Mode: Standard
kind: action
command: "S{ID}AMOD0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: amod_theater
label: Set Sound Mode: Theater
kind: action
command: "S{ID}AMOD0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: amod_music
label: Set Sound Mode: Music
kind: action
command: "S{ID}AMOD0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: amod_speech
label: Set Sound Mode: Speech
kind: action
command: "S{ID}AMOD0004{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: amod_late_night
label: Set Sound Mode: Late Night
kind: action
command: "S{ID}AMOD0005{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: rsta_audio
label: Reset Audio Settings
kind: action
command: "S{ID}RSTA2000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: volm_set
label: Set Volume
kind: action
command: "S{ID}VOLM{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded
- name: CKSUM
type: byte
- id: mute_off
label: Set Mute: Off
kind: action
command: "S{ID}MUTE0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: mute_on
label: Set Mute: On
kind: action
command: "S{ID}MUTE0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspk_off
label: Set TV Speaker: Off
kind: action
command: "S{ID}ASPK0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: aspk_on
label: Set TV Speaker: On
kind: action
command: "S{ID}ASPK0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: tunr_antenna
label: Tuner Mode: Antenna
kind: action
command: "S{ID}TUNR0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: tunr_cable
label: Tuner Mode: Cable
kind: action
command: "S{ID}TUNR0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: tscn_auto
label: Automatic Search
kind: action
command: "S{ID}TSCN0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: chan_down
label: Channel Down
kind: action
command: "S{ID}CHAN0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: chan_up
label: Channel Up
kind: action
command: "S{ID}CHAN0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: cc_off
label: Caption Control: Off
kind: action
command: "S{ID}CC##0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Source shows mnemonic as `CC##` (literal two hash characters)."
- id: cc_on
label: Caption Control: On
kind: action
command: "S{ID}CC##0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: cc_on_when_mute
label: Caption Control: On When Mute
kind: action
command: "S{ID}CC##0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: rset_factory
label: Restore Factory Settings
kind: action
command: "S{ID}RSET9999{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: lang_english
label: OSD Language: English
kind: action
command: "S{ID}LANG0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: lang_spanish
label: OSD Language: Español
kind: action
command: "S{ID}LANG0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: lang_french
label: OSD Language: Français
kind: action
command: "S{ID}LANG0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pled_off
label: Standby LED: Off
kind: action
command: "S{ID}PLED0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pled_on
label: Standby LED: On
kind: action
command: "S{ID}PLED0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: bttn_press
label: Remote Control Button Press
kind: action
command: "S{ID}BTTN{code}{CKSUM}\r"
params:
- name: ID
type: string
- name: code
type: string
description: |
4-digit button code. From source:
1012=POWER, 1000-1009=0-9, 1010=Dash, 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=Connected Home (HiSmart), 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
- name: CKSUM
type: byte
- id: pbtn_ac_only
label: Power Off Control Mode: AC Only
kind: action
command: "S{ID}PBTN0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pbtn_all
label: Power Off Control Mode: All
kind: action
command: "S{ID}PBTN0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: mavl_set
label: Set Volume Range
kind: action
command: "S{ID}MAVL{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded
- name: CKSUM
type: byte
- id: svol_locked
label: Volume Control: Locked
kind: action
command: "S{ID}SVOL0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: svol_last
label: Volume Control: Last Volume
kind: action
command: "S{ID}SVOL0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: svol_ac_reset
label: Volume Control: AC Reset
kind: action
command: "S{ID}SVOL0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: svol_standby_reset
label: Volume Control: Standby Reset
kind: action
command: "S{ID}SVOL0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: vlfl_set
label: Set Volume Locked Level
kind: action
command: "S{ID}VLFL{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: integer
description: 0-100, 4-digit zero-padded
- name: CKSUM
type: byte
- id: rmot_enable
label: Remote Key: Enable
kind: action
command: "S{ID}RMOT0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: rmot_disable
label: Remote Key: Disable
kind: action
command: "S{ID}RMOT0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: rmot_partial
label: Remote Key: Partial
kind: action
command: "S{ID}RMOT0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: panl_enable
label: Panel Key: Enable
kind: action
command: "S{ID}PANL0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: panl_disable
label: Panel Key: Disable
kind: action
command: "S{ID}PANL0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: menu_enable
label: Menu Access: Enable
kind: action
command: "S{ID}MENU0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: menu_disable
label: Menu Access: Disable
kind: action
command: "S{ID}MENU0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: avmn_disable
label: AV Setting Menu: Disable
kind: action
command: "S{ID}AVMN0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: avmn_enable
label: AV Setting Menu: Enable
kind: action
command: "S{ID}AVMN0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: osd_enable
label: OSD Mode: Enable
kind: action
command: "S{ID}OSD#0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Source shows mnemonic as `OSD#` (literal hash character)."
- id: osd_disable
label: OSD Mode: Disable
kind: action
command: "S{ID}OSD#0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpm_locked
label: Input Mode: Locked
kind: action
command: "S{ID}INPM0000{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpm_selectable
label: Input Mode: Selectable
kind: action
command: "S{ID}INPM0001{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpm_ac_reset
label: Input Mode: AC Reset
kind: action
command: "S{ID}INPM0002{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: inpm_standby_reset
label: Input Mode: Standby Reset
kind: action
command: "S{ID}INPM0003{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
- id: pois_set
label: Set Power-On Input Source
kind: action
command: "S{ID}POIS{value}{CKSUM}\r"
params:
- name: ID
type: string
- name: value
type: string
description: |
4-digit value. From source: 0000=LAST, 0001=Air, 0002=AV, 0003=Component.
Additional input values (HDMI1..HDMI4, VGA, etc.) are listed in INPT command set.
- name: CKSUM
type: byte
# === QUERIES ===
- id: query_pwre
label: Query Power On Command Setting
kind: query
command: "Q{ID}PWRE????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Disable, 1=Enable. Per source V3.1 note, not available in STANDBY mode."
- id: query_inpt
label: Query Current Input Source
kind: query
command: "Q{ID}INPT????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 1=TV, 3=Component, 4=AV, 6=VGA, 9=HDMI1, 10=HDMI2, 11=HDMI3, 12=HDMI4."
- id: query_pmod
label: Query Picture Mode
kind: query
command: "Q{ID}PMOD????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Standard, 2=Vivid, 3=EnergySaving, 4=Theater, 5=Game, 6=Sport."
- id: query_brit
label: Query Brightness Value
kind: query
command: "Q{ID}BRIT????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_cont
label: Query Contrast Value
kind: query
command: "Q{ID}CONT????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_colr
label: Query Color Saturation Value
kind: query
command: "Q{ID}COLR????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_tint
label: Query Tint Value
kind: query
command: "Q{ID}TINT????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_shrp
label: Query Sharpness Value
kind: query
command: "Q{ID}SHRP????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-20."
- id: query_aspt
label: Query Current Aspect Ratio
kind: query
command: "Q{ID}ASPT????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Auto, 2=Normal, 3=Zoom, 4=Wide, 5=Direct, 6=1-to-1 pixel map, 7=Panoramic, 8=Cinema."
- id: query_ovsn
label: Query Overscan
kind: query
command: "Q{ID}OVSN????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=On, 2=Off."
- id: query_ctem
label: Query Color Temp
kind: query
command: "Q{ID}CTEM????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=High, 2=Middle, 3=Mid-Low, 4=Low."
- id: query_bklv
label: Query Backlight Value
kind: query
command: "Q{ID}BKLV????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_amod
label: Query Sound Mode
kind: query
command: "Q{ID}AMOD????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Standard, 2=Theater, 3=Music, 4=Speech, 5=Late night."
- id: query_volm
label: Query Current Volume
kind: query
command: "Q{ID}VOLM????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_mute
label: Query Mute Status
kind: query
command: "Q{ID}MUTE????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Not Mute, 1=Mute."
- id: query_aspk
label: Query TV Speaker
kind: query
command: "Q{ID}ASPK????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Off, 2=On."
- id: query_tunr
label: Query Tuner Mode
kind: query
command: "Q{ID}TUNR????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Antenna, 2=Cable."
- id: query_cc
label: Query Caption Control
kind: query
command: "Q{ID}CC##????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Off, 2=On, 3=On when mute. Mnemonic contains literal `##`."
- id: query_lang
label: Query OSD Language
kind: query
command: "Q{ID}LANG????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=English, 2=Español, 3=Français."
- id: query_pled
label: Query Standby LED
kind: query
command: "Q{ID}PLED????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Off, 2=On."
- id: query_pbtn
label: Query Power Off Control Mode
kind: query
command: "Q{ID}PBTN????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=AC Only, 1=All."
- id: query_mavl
label: Query Volume Range
kind: query
command: "Q{ID}MAVL????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_svol
label: Query Volume Control
kind: query
command: "Q{ID}SVOL????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Locked, 1=Last Volume, 2=AC Reset, 3=Standby Reset."
- id: query_vlfl
label: Query Volume Locked Level
kind: query
command: "Q{ID}VLFL????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0-100."
- id: query_rmot
label: Query Remote Key
kind: query
command: "Q{ID}RMOT????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Enable, 1=Disable, 2=Partial."
- id: query_panl
label: Query Panel Key
kind: query
command: "Q{ID}PANL????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Enable, 1=Disable."
- id: query_menu
label: Query Menu Access
kind: query
command: "Q{ID}MENU????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Enable, 1=Disable."
- id: query_avmn
label: Query AV Setting Menu
kind: query
command: "Q{ID}AVMN????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Disable, 1=Enable."
- id: query_osd
label: Query OSD Mode
kind: query
command: "Q{ID}OSD#????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Enable, 1=Disable. Mnemonic contains literal `#`."
- id: query_inpm
label: Query Input Mode
kind: query
command: "Q{ID}INPM????{CKSUM}\r"
params:
- name: ID
type: string
- name: CKSUM
type: byte
notes: "Returns 0=Locked, 1=Selectable, 2=AC Reset, 3=Standby Reset."
Feedbacks
- id: power_on_command_enable
type: enum
values: [disable, enable]
source_query: query_pwre
- id: input_source
type: enum
values: [tv, av, component, vga, hdmi1, hdmi2, hdmi3, hdmi4]
source_query: query_inpt
- id: picture_mode
type: enum
values: [standard, vivid, energy_saving, theater, game, sport]
source_query: query_pmod
- id: aspect_ratio
type: enum
values: [auto, normal, zoom, wide, direct, pixel_map, panoramic, cinema]
source_query: query_aspt
- id: overscan
type: enum
values: [on, off]
source_query: query_ovsn
- id: color_temp
type: enum
values: [high, middle, mid_low, low]
source_query: query_ctem
- id: sound_mode
type: enum
values: [standard, theater, music, speech, late_night]
source_query: query_amod
- id: mute_state
type: enum
values: [not_mute, mute]
source_query: query_mute
- id: tv_speaker
type: enum
values: [off, on]
source_query: query_aspk
- id: tuner_mode
type: enum
values: [antenna, cable]
source_query: query_tunr
- id: caption_control
type: enum
values: [off, on, on_when_mute]
source_query: query_cc
- id: osd_language
type: enum
values: [english, spanish, french]
source_query: query_lang
- id: standby_led
type: enum
values: [off, on]
source_query: query_pled
- id: power_off_control_mode
type: enum
values: [ac_only, all]
source_query: query_pbtn
- id: volume_control
type: enum
values: [locked, last_volume, ac_reset, standby_reset]
source_query: query_svol
- id: remote_key_lock
type: enum
values: [enable, disable, partial]
source_query: query_rmot
- id: panel_key_lock
type: enum
values: [enable, disable]
source_query: query_panl
- id: menu_access
type: enum
values: [enable, disable]
source_query: query_menu
- id: av_setting_menu
type: enum
values: [disable, enable]
source_query: query_avmn
- id: osd_mode
type: enum
values: [enable, disable]
source_query: query_osd
- id: input_mode
type: enum
values: [locked, selectable, ac_reset, standby_reset]
source_query: query_inpm
Variables
- id: brightness
type: integer
range: [0, 100]
setter: brit_set
query: query_brit
- id: contrast
type: integer
range: [0, 100]
setter: cont_set
query: query_cont
- id: color_saturation
type: integer
range: [0, 100]
setter: colr_set
query: query_colr
- id: tint
type: integer
range: [0, 100]
setter: tint_set
query: query_tint
- id: sharpness
type: integer
range: [0, 20]
setter: shrp_set
query: query_shrp
- id: backlight
type: integer
range: [0, 100]
setter: bklv_set
query: query_bklv
- id: volume
type: integer
range: [0, 100]
setter: volm_set
query: query_volm
- id: volume_range
type: integer
range: [0, 100]
setter: mavl_set
query: query_mavl
- id: volume_locked_level
type: integer
range: [0, 100]
setter: vlfl_set
query: query_vlfl
Events
# RS-232 is request/response - no unsolicited events documented in source.
# UNRESOLVED: any device-initiated notifications not described in source.
Macros
# UNRESOLVED: no multi-step sequences documented in source.
Safety
confirmation_required_for:
- rset_factory # Restore Factory Settings - wipes all user config
- tscn_auto # Automatic Search - rescans tuner channels
interlocks:
- description: |
RS-232 port must be enabled in the TV's Custom Install menu before any
serial command will be accepted. Procedure (per source):
1. Power on TV, press Quick Settings Menu on remote.
2. Enter "7 3 1 0" on the number pad to open Custom Install menu.
3. Scroll to "Custom Installation", set to Enable (Left/Right arrow, then OK).
4. For RS-232 power-on from standby, also set "Power On Command" to Enable.
- description: |
Protocol is case-sensitive. All command mnemonics and data must be
uppercase ASCII.
Notes
- Source document title is "RS-232/IR Protocol for Hisense® Prosumer TV" (V3.6, 17-Apr-2017). Models field lists 5A53HUA among supported Prosumer TV series.
- Physical interface: DB9 D-sub female on TV chassis. Pinout per source: 1=RI, 2=TXD, 3=RXD, 4=DSR, 5=GND, 6=DTR, 7=CTS, 8=RTS, 9=Power Input/DCD. Use a straight-through or USB-to-serial cable (sold separately).
- Checksum algorithm: 8-bit sum of all preceding bytes (S or Q + 3-byte ID + 4-byte command + 4-byte data) plus the checksum byte itself =
0x00. Equivalently, checksum = two's complement (mod 256) of the 8-bit sum of all preceding bytes. - Example literal command (ASCII):
S5FAPOWR0001<cksum>\r. Example literal hex:53 35 46 41 50 4F 57 52 30 30 30 31 05 0D. - ACK payload (ASCII):
5FA:OKAY####<cksum>\rwhere####carries query response data. - Generic "broadcast" client ID is
ALLper source. - This document also defines a discrete IR code set (Presto CCF format, low custom 04FB, function codes 70-99 and 70-A9 hex range covering HDMI1..HDMI4, VGA, USB, picture/sound modes, aspect ratios, digits, arrows, volume/channel, PIP, transport, etc.). IR is one-way and not part of this RS-232 spec.
- Caller suggested "Known protocol: TCP/IP" but the source document only documents RS-232 and IR. No IP-based command set is present in the refined source.
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-06-01T22:10:09.323Z
last_checked_at: 2026-06-02T21:41:53.938Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:41:53.938Z
matched_actions: 120
action_count: 120
confidence: medium
summary: "All 120 spec actions confirmed verbatim in source command table; transport 9600 8N1 matches; 4 source commands (SPKM,B2BM,USBM,PSHF) not in spec but count is 4, under the >5 short threshold. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- SPKM
- B2BM
- USBM
- PSHF
- "IP/Ethernet control not documented in source (caller suggested TCP/IP but no IP commands appear in the refined document). Only RS-232 and IR are covered."
- "any device-initiated notifications not described in source."
- "no multi-step sequences documented in source."
- "firmware version compatibility not stated in source."
- "voltage, current, and power specifications not stated in source."
- "full list of supported Prosumer TV model numbers — source Models field is blank."
- "POIS query command not listed in source (only set values 0000-0003 explicit, plus references to INPT-set inputs)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0