Summary
RS-232 and IR control protocol for the HiSense Prosumer TV line, as documented in the vendor "RS-232/IR Protocol for Hisense® Prosumer TV" manual (rev V3.6, 17-Apr-2017). The 75U75QGB Series is not explicitly named in the source — the document is generic across the "Prosumer TV" product line and instructs the integrator to consult the device User Manual for model-specific support. Transport is RS-232 (DB9 D-sub female) at 9600 8N1, ASCII command/ack protocol, with a 3-byte client ID derived from the TV's Ethernet MAC address (last 3 hex bytes) or a broadcast ALL token.
Transport
# Source documents RS-232 only. No TCP/UDP/HTTP/port number present.
# IR section is documented but the spec format targets machine protocols;
# IR codes (Pronto CCF / NEC data) are listed in the source as a separate
# catalogue and are NOT serialized as AI4AV Actions.
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
# Source: "Communication Code: ASCII code"
auth:
type: none # inferred: no login/password procedure in source
Traits
- powerable # POWR, PWRE documented
- routable # INPT documented (TV/AV/Component/HDMI1-4/VGA)
- queryable # ??/???? query form on every command
- levelable # VOLM, BRIT, CONT, COLR, TINT, SHRP, BKLV documented
Actions
# Source protocol frame (fixed length, 14 bytes + CR):
# S/Q + 3-byte CLIENT_ID + 4-byte COMMAND + 4-byte DATA + 1-byte CHECKSUM + 0x0D
# "S" = Set, "Q" = Query. Checksum = 8-bit sum so the total frame (incl. CHECKSUM byte) = 0x00.
# Below, "command" uses ASCII form with placeholder; "checksum" / hex form are
# documented in the source per-row but are command-specific - the source does
# NOT expose a single formula. Implementers must compute the checksum per the
# rule above and consult the source's per-row hex columns.
#
# Generic (broadcast) variant: client_id = "ALL" - hex `41 4C 4C`.
# TV-specific variant: client_id = last 3 hex bytes of TV's Ethernet MAC.
- id: pwre_set
label: Set RS-232 Remote Power On
kind: action
command: "{OP}{CID}PWRE{ENABLE}{CSUM}{CR}"
params:
- name: OP
type: string
description: Operation direction - use "S" for set
- name: CID
type: string
description: 3-byte client ID ("ALL" for broadcast, or last 3 hex bytes of TV MAC)
- name: ENABLE
type: string
description: "0000 = disable RS-232 remote power on, 0001 = enable"
- name: CSUM
type: string
description: 8-bit checksum such that the entire 14-byte frame (incl. CHECKSUM byte) sums to 0x00
- name: CR
type: string
description: Carriage return (0x0D)
- id: pwre_query
label: Query RS-232 Remote Power On Setting
kind: query
command: "Q{CID}PWRE????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: powr_set
label: Set Power On/Off
kind: action
command: "S{CID}POWR{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = standby, 0001 = power on"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: inpt_set
label: Set Input Source
kind: action
command: "S{CID}INPT{SRC}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: SRC
type: string
description: "0000 = next input, 0001 = TV, 0003 = Component, 0004 = AV, 0006 = VGA, 0009 = HDMI1, 0010 = HDMI2, 0011 = HDMI3, 0012 = HDMI4"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: inpt_query
label: Query Current Input Source
kind: query
command: "Q{CID}INPT????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: pmod_set
label: Set Picture Mode
kind: action
command: "S{CID}PMOD{MODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: MODE
type: string
description: "0000 = Standard, 0002 = Vivid, 0003 = EnergySaving, 0004 = Theater, 0005 = Game, 0006 = Sport"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: pmod_query
label: Query Picture Mode
kind: query
command: "Q{CID}PMOD????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: brit_set
label: Set Brightness
kind: action
command: "S{CID}BRIT{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100 (4 ASCII hex digits, 0-256 dec)"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: brit_query
label: Query Brightness
kind: query
command: "Q{CID}BRIT????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: cont_set
label: Set Contrast
kind: action
command: "S{CID}CONT{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: cont_query
label: Query Contrast
kind: query
command: "Q{CID}CONT????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: colr_set
label: Set Color Saturation
kind: action
command: "S{CID}COLR{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: colr_query
label: Query Color Saturation
kind: query
command: "Q{CID}COLR????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: tint_set
label: Set Tint
kind: action
command: "S{CID}TINT{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: tint_query
label: Query Tint
kind: query
command: "Q{CID}TINT????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: shrp_set
label: Set Sharpness
kind: action
command: "S{CID}SHRP{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0020 (0-32 dec)"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: shrp_query
label: Query Sharpness
kind: query
command: "Q{CID}SHRP????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: aspt_set
label: Set Aspect Ratio
kind: action
command: "S{CID}ASPT{RATIO}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: RATIO
type: string
description: "0000 = Auto, 0002 = Normal, 0003 = Zoom, 0004 = Wide, 0005 = Direct, 0006 = 1-to-1 pixel map, 0007 = Panoramic, 0008 = Cinema"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: aspt_query
label: Query Aspect Ratio
kind: query
command: "Q{CID}ASPT????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: ovsn_set
label: Set Overscan
kind: action
command: "S{CID}OVSN{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = On, 0002 = Off"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: ovsn_query
label: Query Overscan
kind: query
command: "Q{CID}OVSN????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: rstp_picture
label: Reset Picture Settings
kind: action
command: "S{CID}RSTP1000{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: ctem_set
label: Set Color Temperature
kind: action
command: "S{CID}CTEM{TEMP}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: TEMP
type: string
description: "0000 = High, 0002 = Middle, 0003 = Mid-Low, 0004 = Low"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: ctem_query
label: Query Color Temperature
kind: query
command: "Q{CID}CTEM????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: bklv_set
label: Set Backlight
kind: action
command: "S{CID}BKLV{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100 (0-100 dec)"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: bklv_query
label: Query Backlight
kind: query
command: "Q{CID}BKLV????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: amod_set
label: Set Sound Mode
kind: action
command: "S{CID}AMOD{MODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: MODE
type: string
description: "0000 = Standard, 0002 = Theater, 0003 = Music, 0004 = Speech, 0005 = Late night"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: amod_query
label: Query Sound Mode
kind: query
command: "Q{CID}AMOD????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: rsta_audio
label: Reset Audio Settings
kind: action
command: "S{CID}RSTA2000{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: volm_set
label: Set Volume
kind: action
command: "S{CID}VOLM{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100 (0-100 dec)"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: volm_query
label: Query Volume
kind: query
command: "Q{CID}VOLM????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: mute_set
label: Set Mute
kind: action
command: "S{CID}MUTE{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = mute off, 0001 = mute on"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: mute_query
label: Query Mute Status
kind: query
command: "Q{CID}MUTE????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: aspk_set
label: Set TV Speaker
kind: action
command: "S{CID}ASPK{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = Off, 0002 = On"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: aspk_query
label: Query TV Speaker State
kind: query
command: "Q{CID}ASPK????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: tunr_set
label: Set Tuner Mode
kind: action
command: "S{CID}TUNR{MODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: MODE
type: string
description: "0000 = Antenna, 0002 = Cable"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: tunr_query
label: Query Tuner Mode
kind: query
command: "Q{CID}TUNR????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: tscn_auto_search
label: Automatic Channel Search
kind: action
command: "S{CID}TSCN0001{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: chan_set
label: Channel Up/Down
kind: action
command: "S{CID}CHAN{DIR}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: DIR
type: string
description: "0000 = channel down, 0001 = channel up"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: cc_set
label: Set Closed Caption
kind: action
command: "S{CID}CC##{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = CC off, 0002 = CC on, 0003 = CC on when mute"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: cc_query
label: Query Closed Caption State
kind: query
command: "Q{CID}CC##????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: rset_factory
label: Restore Factory Settings
kind: action
command: "S{CID}RSET9999{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: lang_set
label: Set OSD Language
kind: action
command: "S{CID}LANG{LANG}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: LANG
type: string
description: "0000 = English, 0002 = Espanol, 0003 = Francais"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: lang_query
label: Query OSD Language
kind: query
command: "Q{CID}LANG????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: pled_set
label: Set Standby LED
kind: action
command: "S{CID}PLED{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = Off, 0002 = On"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: pled_query
label: Query Standby LED
kind: query
command: "Q{CID}PLED????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: bttn_press
label: Remote Control Button Simulator
kind: action
command: "S{CID}BTTN{CODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CODE
type: string
description: 4-digit button code (1000-1099). Source enumerates: 1010 dash, 1012 power, 1015 frw, 1016 play, 1017 ffw, 1018 pause, 1019 prev, 1020 stop, 1021 next, 1023 HiMedia, 1024 sleep, 1027 CC, 1031 mute, 1032 vol-, 1033 vol+, 1034 ch+, 1035 ch-, 1036 input, 1038 menu, 1039 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, 1000-1009 digits 0-9
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: pbtn_set
label: Set Power Off Control Mode
kind: action
command: "S{CID}PBTN{MODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: MODE
type: string
description: "0000 = AC only, 0001 = ALL"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: pbtn_query
label: Query Power Off Control Mode
kind: query
command: "Q{CID}PBTN????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: mavl_set
label: Set Maximum Volume Range
kind: action
command: "S{CID}MAVL{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: mavl_query
label: Query Maximum Volume Range
kind: query
command: "Q{CID}MAVL????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: svol_set
label: Set Volume Control Behavior
kind: action
command: "S{CID}SVOL{MODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: MODE
type: string
description: "0000 = locked, 0001 = last volume, 0002 = AC reset, 0003 = standby reset"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: svol_query
label: Query Volume Control Behavior
kind: query
command: "Q{CID}SVOL????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: vlfl_set
label: Set Volume Locked Level
kind: action
command: "S{CID}VLFL{VAL}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: VAL
type: string
description: "0000-0100"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: vlfl_query
label: Query Volume Locked Level
kind: query
command: "Q{CID}VLFL????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: rmot_set
label: Set Remote Key Lock
kind: action
command: "S{CID}RMOT{MODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: MODE
type: string
description: "0000 = enable, 0001 = disable, 0002 = partial"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: rmot_query
label: Query Remote Key Lock
kind: query
command: "Q{CID}RMOT????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: panl_set
label: Set Panel Key Lock
kind: action
command: "S{CID}PANL{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = enable, 0001 = disable"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: panl_query
label: Query Panel Key Lock
kind: query
command: "Q{CID}PANL????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: menu_set
label: Set Menu Access
kind: action
command: "S{CID}MENU{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = enable, 0001 = disable"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: menu_query
label: Query Menu Access
kind: query
command: "Q{CID}MENU????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: avmn_set
label: Set AV Setting Menu
kind: action
command: "S{CID}AVMN{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = disable, 0001 = enable"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: avmn_query
label: Query AV Setting Menu
kind: query
command: "Q{CID}AVMN????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: osd_set
label: Set OSD Display Mode
kind: action
command: "S{CID}OSD#{STATE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: STATE
type: string
description: "0000 = enable, 0001 = disable"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: osd_query
label: Query OSD Display Mode
kind: query
command: "Q{CID}OSD#????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: inpm_set
label: Set Input Mode
kind: action
command: "S{CID}INPM{MODE}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: MODE
type: string
description: "0000 = locked, 0001 = selectable, 0002 = AC reset, 0003 = standby reset"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: inpm_query
label: Query Input Mode
kind: query
command: "Q{CID}INPM????{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
- id: pois_set
label: Set Power On Input Source
kind: action
command: "S{CID}POIS{SRC}{CSUM}{CR}"
params:
- name: CID
type: string
description: 3-byte client ID
- name: SRC
type: string
description: "0000 = last, 0001 = Air, 0002 = AV, 0003 = Component (additional values implied by source - see line 427 truncated)"
- name: CSUM
type: string
description: 8-bit checksum
- name: CR
type: string
description: Carriage return (0x0D)
Feedbacks
- id: input_source
type: enum
values: [TV, AV, Component, HDMI1, HDMI2, HDMI3, HDMI4, VGA]
- id: picture_mode
type: enum
values: [standard, vivid, energy_saving, theater, game, sport]
- id: aspect_ratio
type: enum
values: [auto, normal, zoom, wide, direct, one_to_one, panoramic, cinema]
- id: sound_mode
type: enum
values: [standard, theater, music, speech, late_night]
- id: mute_state
type: enum
values: [off, on]
- id: speaker_state
type: enum
values: [off, on]
- id: tuner_mode
type: enum
values: [antenna, cable]
- id: closed_caption
type: enum
values: [off, on, on_when_mute]
- id: language
type: enum
values: [english, spanish, french]
- id: standby_led
type: enum
values: [off, on]
- id: overscan
type: enum
values: [on, off]
- id: color_temp
type: enum
values: [high, middle, mid_low, low]
- id: power_on_command_enabled
type: enum
values: [disabled, enabled]
- id: power_state
type: enum
values: [standby, on]
- id: remote_key_lock
type: enum
values: [enable, disable, partial]
- id: panel_key_lock
type: enum
values: [enable, disable]
- id: menu_access
type: enum
values: [enable, disable]
- id: av_setting_menu
type: enum
values: [disable, enable]
- id: osd_mode
type: enum
values: [enable, disable]
- id: input_mode_lock
type: enum
values: [locked, selectable, ac_reset, standby_reset]
- id: power_off_control_mode
type: enum
values: [ac_only, all]
- id: volume_control_behavior
type: enum
values: [locked, last_volume, ac_reset, standby_reset]
- id: brightness
type: integer
range: [0, 100]
- id: contrast
type: integer
range: [0, 100]
- id: color_saturation
type: integer
range: [0, 100]
- id: tint
type: integer
range: [0, 100]
- id: sharpness
type: integer
range: [0, 20]
- id: backlight
type: integer
range: [0, 100]
- id: volume
type: integer
range: [0, 100]
- id: max_volume
type: integer
range: [0, 100]
- id: volume_locked_level
type: integer
range: [0, 100]
Variables
# No settable scalar parameters distinct from the action set above. All settable
# values are exposed as parameterized actions in the Actions section.
# UNRESOLVED: remove this section if not applicable
Events
# UNRESOLVED: source does not document unsolicited notifications from the TV.
# The protocol is strictly command/response - controller sends a frame, TV sends
# one ACK back. There is no asynchronous event stream.
Macros
# UNRESOLVED: source does not document multi-step sequences. The closest analog
# is the TV Setup procedure (enable Custom Installation menu, set RS-232 port
# active, optionally enable Power On Command for wake-from-standby), but that
# is installer setup, not a device-driven macro.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no explicit safety warnings, interlock procedures,
# or hazardous-state definitions. RSET9999 (factory reset) and POWR0000 (standby)
# are reversible; no parameter-set combination in the source is flagged as
# destructive or operator-confirmation-required.
Notes
- The source document is the generic "RS-232/IR Protocol for Hisense® Prosumer TV" (rev V3.6, 17-Apr-2017), not a 75U75QGB-specific manual. The doc itself states "Check User Manual for your specific TV to identify supported IR commands by model." This spec therefore represents the protocol as documented for the Prosumer TV product line; model applicability to the 75U75QGB is operator-assumed and not directly confirmed by the source.
- User-supplied metadata tagged "Known protocol: TCP/IP" — the source does not document any TCP/IP port, HTTP endpoint, or REST path. Only RS-232 (DB9 D-sub female, 9600 8N1 ASCII) is documented. The Ethernet MAC address derivation for the 3-byte client ID is the only networking-related evidence and is not sufficient to infer a transport. IP-based control is not serialized in this spec.
- IR section in the source documents ~50 discrete NEC-format codes (POWER, HDMI.1-5, VOL±, CH±, digit 0-9, navigation, etc.) plus their full Pronto CCF hex strings. These are out of scope for AI4AV Actions (IR is a separate transport, not a machine protocol) and are not serialized.
- Protocol frame: 14 bytes + CR(0x0D). Layout:
OP(1) + CID(3) + COMMAND(4) + DATA(4) + CHECKSUM(1). CHECKSUM is the 8-bit sum such that the entire 14-byte frame including the CHECKSUM byte equals 0x00. The source does not give a closed-form expression — implementers must compute the checksum per row, or recompute from the per-command hex columns the source lists. - Acknowledgement (ACK) format from TV:
{CID(3)} : ACK(A-Z) {DATA(4)} {CHECKSUM(1)} CR. Common ACKs:OKAY(success),EROR(error),WAIT(busy). For example, the TV returns5FA:OKAYHDM1[0xCB][0x0D]when the input query for client5FAresolves to HDMI1. - Per-row hex in the source distinguishes "TV-specific" (last 3 hex bytes of MAC =
465shown) from "Generic" (ALL=41 4C 4Cshown) command forms — same command/data, different CID. Implementations targeting a single known TV should use the MAC-derived CID; broadcast scenarios useALL. - The protocol is case-sensitive (per source note).
- The source notes that the TV must have Custom Installation set to "Enable" in the on-screen menu (and "Power On Command" set to "Enable" if RS-232 wake-from-standby is required) before the RS-232 port becomes active.
Provenance
source_domains:
- assets.hisense-usa.com
- hisense-b2b.com
source_urls:
- https://assets.hisense-usa.com/assets/ProductDownloads/18/5342defe83/Hisense-RS-232-and-IR-Protocol-English_2.pdf
- "https://www.hisense-b2b.com/Attachment/DownloadFile?downloadId=784"
- https://www.hisense-b2b.com
retrieved_at: 2026-05-04T21:41:00.893Z
last_checked_at: 2026-06-02T17:22:30.749Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T17:22:30.749Z
matched_actions: 68
action_count: 68
confidence: medium
summary: "All 68 spec actions matched to source commands with correct opcodes and shapes; 4 source commands (SPKM, B2BM, USBM, PSHF) not in spec but ratio 38/42=0.905 is above 0.9 floor and extra count ≤5. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- SPKM
- B2BM
- USBM
- PSHF
- "source does not explicitly name the 75U75QGB; the model is being associated with this Prosumer TV protocol doc on operator-supplied evidence. The doc explicitly states \"Check User Manual for your specific TV to identify supported IR commands by model.\""
- "remove this section if not applicable"
- "source does not document unsolicited notifications from the TV."
- "source does not document multi-step sequences. The closest analog"
- "source contains no explicit safety warnings, interlock procedures,"
- "75U75QGB-specific model applicability — the source doc is the generic Prosumer TV protocol manual; no statement in the source confirms or denies that the 75U75QGB implements this exact command set. Operator should validate against the device User Manual or a live device."
- "TCP/IP control — user metadata claims TCP/IP as a known protocol, but the source contains no port number, no HTTP path, no JSON-RPC method, and no other TCP/IP evidence beyond the Ethernet MAC address being used as a client identifier. A separate network control protocol (if it exists for 75U75QGB) would need a different source document."
- "firmware version compatibility — source revision is V3.6 (2017); the 75U75QGB is a 2025-era product. No statement in the source or in the operator-supplied metadata confirms whether the 75U75QGB firmware implements this exact command set, a superset, or a subset. The 75U75QGB may use a different (Roku TV / Google TV / VIDAA) control path entirely."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0