Summary
HiSense Prosumer TV (used here for 65U78K Series) exposes two parallel control surfaces: discrete IR (NEC/RC5-style Pronto CCF codes) and wired RS-232 (DB9 female, 9600 8N1, ASCII framing with 8-bit checksum). Wired serial protocol is fixed-length 14-byte frames: S/Q [CLIENT ID 3B] [COMMAND 4B] [DATA 4B] [CHECKSUM 1B] CR. CLIENT ID ALL is broadcast; MAC-last-3 form is per-TV. Source revision: V3.6 (2017-04-17).
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
electrical: RS-232C
connector: DB9 female chassis mount
auth:
type: none # inferred: no auth/login procedure in source
Traits
- powerable # inferred from POWR0000/POWR0001 power on/off commands
- routable # inferred from INPT input select commands
- queryable # inferred from Q??? query commands
- levelable # inferred from VOLM/BRIT/CONT range commands
Actions
# IR discrete commands (Pronto CCF / NEC 04FB prefix). Each IR button = one action.
# RS-232 commands are grouped by mnemonic; data field is a 4-digit numeric parameter.
# ===== IR: Power =====
- id: ir_power_toggle
label: IR Power Toggle
kind: action
command: "04FB 708F"
params: []
- id: ir_power_on
label: IR Power On
kind: action
command: "04FB 718E"
params: []
- id: ir_power_off
label: IR Power Off
kind: action
command: "04FB 728D"
params: []
# ===== IR: Input =====
- id: ir_input_toggle
label: IR Input Toggle
kind: action
command: "04FB 738C"
params: []
- id: ir_input_tv_tuner1
label: IR TV Tuner 1
kind: action
command: "04FB 748B"
params: []
- id: ir_input_hdmi1
label: IR HDMI 1
kind: action
command: "04FB 7C83"
params: []
- id: ir_input_hdmi2
label: IR HDMI 2
kind: action
command: "04FB 7D82"
params: []
- id: ir_input_hdmi3
label: IR HDMI 3
kind: action
command: "04FB 7E81"
params: []
- id: ir_input_hdmi4
label: IR HDMI 4
kind: action
command: "04FB 7F80"
params: []
- id: ir_input_hdmi5
label: IR HDMI 5
kind: action
command: "04FB 807F"
params: []
- id: ir_input_vga
label: IR VGA
kind: action
command: "04FB 817E"
params: []
- id: ir_input_usb
label: IR USB
kind: action
command: "04FB 827D"
params: []
# ===== IR: Picture/Sound/Aspect =====
- id: ir_picture_mode_toggle
label: IR Picture Mode Toggle
kind: action
command: "04FB 837C"
params: []
- id: ir_sound_mode_toggle
label: IR Sound Mode Toggle
kind: action
command: "04FB 847B"
params: []
- id: ir_aspect_wide_169
label: IR Aspect Wide 16:9
kind: action
command: "04FB 857A"
params: []
- id: ir_aspect_normal_43
label: IR Aspect Normal 4:3
kind: action
command: "04FB 8679"
params: []
- id: ir_aspect_cinema
label: IR Aspect Cinema
kind: action
command: "04FB 8778"
params: []
- id: ir_aspect_panorama
label: IR Aspect Panorama
kind: action
command: "04FB 8877"
params: []
- id: ir_aspect_zoom
label: IR Aspect Zoom
kind: action
command: "04FB 8976"
params: []
# ===== IR: Channel/Navigation =====
- id: ir_channel_list
label: IR Channel List
kind: action
command: "04FB 8A75"
params: []
- id: ir_fav_channel
label: IR Favorite Channel
kind: action
command: "04FB 8B74"
params: []
- id: ir_sleep
label: IR Sleep
kind: action
command: "04FB 8C73"
params: []
- id: ir_tv_menu_toggle
label: IR TV Menu Toggle
kind: action
command: "04FB 8D72"
params: []
- id: ir_home
label: IR Home
kind: action
command: "04FB 8E71"
params: []
- id: ir_tools
label: IR Tools (Second Menu)
kind: action
command: "04FB 8F70"
params: []
- id: ir_digit_0
label: IR Digit 0
kind: action
command: "04FB 906F"
params: []
- id: ir_digit_1
label: IR Digit 1
kind: action
command: "04FB 916E"
params: []
- id: ir_digit_2
label: IR Digit 2
kind: action
command: "04FB 926D"
params: []
- id: ir_digit_3
label: IR Digit 3
kind: action
command: "04FB 936C"
params: []
- id: ir_digit_4
label: IR Digit 4
kind: action
command: "04FB 946B"
params: []
- id: ir_digit_5
label: IR Digit 5
kind: action
command: "04FB 956A"
params: []
- id: ir_digit_6
label: IR Digit 6
kind: action
command: "04FB 9669"
params: []
- id: ir_digit_7
label: IR Digit 7
kind: action
command: "04FB 9768"
params: []
- id: ir_digit_8
label: IR Digit 8
kind: action
command: "04FB 9867"
params: []
- id: ir_digit_9
label: IR Digit 9
kind: action
command: "04FB 9966"
params: []
- id: ir_dash
label: IR Dash
kind: action
command: "04FB 9A65"
params: []
- id: ir_previous_channel
label: IR Previous Channel
kind: action
command: "04FB 9B64"
params: []
- id: ir_arrow_up
label: IR Up Arrow
kind: action
command: "04FB 9C63"
params: []
- id: ir_arrow_down
label: IR Down Arrow
kind: action
command: "04FB 9D62"
params: []
- id: ir_arrow_left
label: IR Left Arrow
kind: action
command: "04FB 9E61"
params: []
- id: ir_arrow_right
label: IR Right Arrow
kind: action
command: "04FB 9F60"
params: []
- id: ir_enter
label: IR Enter
kind: action
command: "04FB A05F"
params: []
- id: ir_select_ok
label: IR Select OK
kind: action
command: "04FB A15E"
params: []
- id: ir_return
label: IR Return
kind: action
command: "04FB A25D"
params: []
- id: ir_exit
label: IR Exit
kind: action
command: "04FB A35C"
params: []
- id: ir_info_display_toggle
label: IR Info/Display Toggle
kind: action
command: "04FB A45B"
params: []
- id: ir_volume_down
label: IR Volume Down
kind: action
command: "04FB A55A"
params: []
- id: ir_volume_up
label: IR Volume Up
kind: action
command: "04FB A659"
params: []
- id: ir_channel_down
label: IR Channel Down
kind: action
command: "04FB A758"
params: []
- id: ir_channel_up
label: IR Channel Up
kind: action
command: "04FB A857"
params: []
# ===== IR: PIP / Guide / Freeze =====
- id: ir_pip_toggle
label: IR PIP Toggle
kind: action
command: "04FB A956"
params: []
- id: ir_pip_input
label: IR PIP Input
kind: action
command: "04FB AA55"
params: []
- id: ir_pip_swap
label: IR PIP Swap
kind: action
command: "04FB AB54"
params: []
- id: ir_pip_position
label: IR PIP Position
kind: action
command: "04FB AC53"
params: []
- id: ir_pip_size
label: IR PIP Size
kind: action
command: "04FB AD52"
params: []
- id: ir_guide_toggle
label: IR Guide Toggle
kind: action
command: "04FB AE51"
params: []
- id: ir_freeze_toggle
label: IR Freeze Toggle
kind: action
command: "04FB AF50"
params: []
# ===== RS-232: Power =====
- id: pwre_set
label: Set RS-232 Power-On Enable
kind: action
command: "S{CID}PWRE{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID, 3 hex chars (e.g. "465" for MAC last-3, or "ALL" for broadcast)
- name: data
type: string
description: "0000 = disable, 0001 = enable RS-232 power-on"
- name: cs
type: string
description: 8-bit checksum byte (low byte of sum so full frame = 0x00)
- id: pwre_query
label: Query RS-232 Power-On Enable
kind: query
command: "Q{CID}PWRE????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: powr_set
label: Set Power On/Off
kind: action
command: "S{CID}POWR{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = standby, 0001 = power on"
- name: cs
type: string
description: 8-bit checksum byte
# ===== RS-232: Input =====
- id: inpt_set
label: Set Input Source
kind: action
command: "S{CID}INPT{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = next input, 0001 = TV, 0003 = Component, 0004 = AV, 0006 = VGA, 0009 = HDMI1, 0010 = HDMI2, 0011 = HDMI3, 0012 = HDMI4"
- name: cs
type: string
description: 8-bit checksum byte
- id: inpt_query
label: Query Current Input
kind: query
command: "Q{CID}INPT????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
# ===== RS-232: Picture =====
- id: pmod_set
label: Set Picture Mode
kind: action
command: "S{CID}PMOD{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = Standard, 0002 = Vivid, 0003 = EnergySaving, 0004 = Theater, 0005 = Game, 0006 = Sport"
- name: cs
type: string
description: 8-bit checksum byte
- id: pmod_query
label: Query Picture Mode
kind: query
command: "Q{CID}PMOD????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: brit_set
label: Set Brightness
kind: action
command: "S{CID}BRIT{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 (hex 0-100 decimal) brightness value"
- name: cs
type: string
description: 8-bit checksum byte
- id: brit_query
label: Query Brightness
kind: query
command: "Q{CID}BRIT????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: cont_set
label: Set Contrast
kind: action
command: "S{CID}CONT{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 contrast value"
- name: cs
type: string
description: 8-bit checksum byte
- id: cont_query
label: Query Contrast
kind: query
command: "Q{CID}CONT????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: colr_set
label: Set Color Saturation
kind: action
command: "S{CID}COLR{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 color saturation value"
- name: cs
type: string
description: 8-bit checksum byte
- id: colr_query
label: Query Color Saturation
kind: query
command: "Q{CID}COLR????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: tint_set
label: Set Tint
kind: action
command: "S{CID}TINT{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 tint value"
- name: cs
type: string
description: 8-bit checksum byte
- id: tint_query
label: Query Tint
kind: query
command: "Q{CID}TINT????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: shrp_set
label: Set Sharpness
kind: action
command: "S{CID}SHRP{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0020 sharpness value"
- name: cs
type: string
description: 8-bit checksum byte
- id: shrp_query
label: Query Sharpness
kind: query
command: "Q{CID}SHRP????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: aspt_set
label: Set Aspect Ratio
kind: action
command: "S{CID}ASPT{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = Auto, 0002 = Normal, 0003 = Zoom, 0004 = Wide, 0005 = Direct, 0006 = 1-to-1 pixel map, 0007 = Panoramic, 0008 = Cinema"
- name: cs
type: string
description: 8-bit checksum byte
- id: aspt_query
label: Query Aspect Ratio
kind: query
command: "Q{CID}ASPT????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: ovsn_set
label: Set Overscan
kind: action
command: "S{CID}OVSN{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = On, 0002 = Off"
- name: cs
type: string
description: 8-bit checksum byte
- id: ovsn_query
label: Query Overscan
kind: query
command: "Q{CID}OVSN????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: rstp_set
label: Reset Picture Settings
kind: action
command: "S{CID}RSTP1000{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: ctem_set
label: Set Color Temperature
kind: action
command: "S{CID}CTEM{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = High, 0002 = Middle, 0003 = Mid-Low, 0004 = Low"
- name: cs
type: string
description: 8-bit checksum byte
- id: ctem_query
label: Query Color Temperature
kind: query
command: "Q{CID}CTEM????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: bklv_set
label: Set Backlight
kind: action
command: "S{CID}BKLV{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 backlight value"
- name: cs
type: string
description: 8-bit checksum byte
- id: bklv_query
label: Query Backlight
kind: query
command: "Q{CID}BKLV????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
# ===== RS-232: Sound =====
- id: amod_set
label: Set Sound Mode
kind: action
command: "S{CID}AMOD{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = Standard, 0002 = Theater, 0003 = Music, 0004 = Speech, 0005 = Late night"
- name: cs
type: string
description: 8-bit checksum byte
- id: amod_query
label: Query Sound Mode
kind: query
command: "Q{CID}AMOD????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: rsta_set
label: Reset Audio Settings
kind: action
command: "S{CID}RSTA2000{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: volm_set
label: Set Volume
kind: action
command: "S{CID}VOLM{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 volume value"
- name: cs
type: string
description: 8-bit checksum byte
- id: volm_query
label: Query Volume
kind: query
command: "Q{CID}VOLM????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: mute_set
label: Set Mute
kind: action
command: "S{CID}MUTE{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = off, 0001 = on"
- name: cs
type: string
description: 8-bit checksum byte
- id: mute_query
label: Query Mute
kind: query
command: "Q{CID}MUTE????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: aspk_set
label: Set TV Speaker
kind: action
command: "S{CID}ASPK{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = off, 0002 = on"
- name: cs
type: string
description: 8-bit checksum byte
- id: aspk_query
label: Query TV Speaker
kind: query
command: "Q{CID}ASPK????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
# ===== RS-232: Tuner/Channel =====
- id: tunr_set
label: Set Tuner Mode
kind: action
command: "S{CID}TUNR{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = Antenna, 0002 = Cable"
- name: cs
type: string
description: 8-bit checksum byte
- id: tunr_query
label: Query Tuner Mode
kind: query
command: "Q{CID}TUNR????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: tscn_set
label: Automatic Channel Search
kind: action
command: "S{CID}TSCN0001{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: chan_set
label: Channel Up/Down
kind: action
command: "S{CID}CHAN{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = channel down, 0001 = channel up"
- name: cs
type: string
description: 8-bit checksum byte
# ===== RS-232: Closed Caption / Language =====
- id: cc_set
label: Set Closed Caption
kind: action
command: "S{CID}CC##{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = off, 0002 = on, 0003 = on when mute"
- name: cs
type: string
description: 8-bit checksum byte
- id: cc_query
label: Query Closed Caption
kind: query
command: "Q{CID}CC##????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: lang_set
label: Set OSD Language
kind: action
command: "S{CID}LANG{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = English, 0002 = Espanol, 0003 = Francais"
- name: cs
type: string
description: 8-bit checksum byte
- id: lang_query
label: Query OSD Language
kind: query
command: "Q{CID}LANG????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
# ===== RS-232: System =====
- id: rset_set
label: Restore Factory Settings
kind: action
command: "S{CID}RSET9999{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: pled_set
label: Set Standby LED
kind: action
command: "S{CID}PLED{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = off, 0002 = on"
- name: cs
type: string
description: 8-bit checksum byte
- id: pled_query
label: Query Standby LED
kind: query
command: "Q{CID}PLED????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: pbtn_set
label: Set Power Off Control Mode
kind: action
command: "S{CID}PBTN{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = AC only, 0001 = ALL"
- name: cs
type: string
description: 8-bit checksum byte
- id: pbtn_query
label: Query Power Off Control Mode
kind: query
command: "Q{CID}PBTN????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: mavl_set
label: Set Volume Range
kind: action
command: "S{CID}MAVL{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 max volume"
- name: cs
type: string
description: 8-bit checksum byte
- id: mavl_query
label: Query Volume Range
kind: query
command: "Q{CID}MAVL????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: svol_set
label: Set Volume Control Mode
kind: action
command: "S{CID}SVOL{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = locked, 0001 = last volume, 0002 = AC reset, 0003 = standby reset"
- name: cs
type: string
description: 8-bit checksum byte
- id: svol_query
label: Query Volume Control Mode
kind: query
command: "Q{CID}SVOL????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: vlfl_set
label: Set Volume Locked Level
kind: action
command: "S{CID}VLFL{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000-0100 locked volume level"
- name: cs
type: string
description: 8-bit checksum byte
- id: vlfl_query
label: Query Volume Locked Level
kind: query
command: "Q{CID}VLFL????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: rmot_set
label: Set Remote Key Lock
kind: action
command: "S{CID}RMOT{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = enable, 0001 = disable, 0002 = partial"
- name: cs
type: string
description: 8-bit checksum byte
- id: rmot_query
label: Query Remote Key Lock
kind: query
command: "Q{CID}RMOT????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: panl_set
label: Set Panel Key Lock
kind: action
command: "S{CID}PANL{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = enable, 0001 = disable"
- name: cs
type: string
description: 8-bit checksum byte
- id: panl_query
label: Query Panel Key Lock
kind: query
command: "Q{CID}PANL????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: menu_set
label: Set Menu Access
kind: action
command: "S{CID}MENU{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = enable, 0001 = disable"
- name: cs
type: string
description: 8-bit checksum byte
- id: menu_query
label: Query Menu Access
kind: query
command: "Q{CID}MENU????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: avmn_set
label: Set AV Setting Menu
kind: action
command: "S{CID}AVMN{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = disable, 0001 = enable"
- name: cs
type: string
description: 8-bit checksum byte
- id: avmn_query
label: Query AV Setting Menu
kind: query
command: "Q{CID}AVMN????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: osd_set
label: Set OSD Mode
kind: action
command: "S{CID}OSD#{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = enable, 0001 = disable"
- name: cs
type: string
description: 8-bit checksum byte
- id: osd_query
label: Query OSD Mode
kind: query
command: "Q{CID}OSD#????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: inpm_set
label: Set Input Mode
kind: action
command: "S{CID}INPM{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = locked, 0001 = selectable, 0002 = AC reset, 0003 = standby reset"
- name: cs
type: string
description: 8-bit checksum byte
- id: inpm_query
label: Query Input Mode
kind: query
command: "Q{CID}INPM????{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: cs
type: string
description: 8-bit checksum byte
- id: pois_set
label: Set Power-On Input Source
kind: action
command: "S{CID}POIS{data}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: data
type: string
description: "0000 = last, 0001 = Air, 0002 = AV, 0003 = Component"
- name: cs
type: string
description: 8-bit checksum byte
# ===== RS-232: Remote Button Simulator =====
- id: bttn_set
label: Remote Button Simulator
kind: action
command: "S{CID}BTTN{code}{cs}\r"
params:
- name: CID
type: string
description: Client ID
- name: code
type: string
description: "4-digit button code: 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=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=LiveTV"
- name: cs
type: string
description: 8-bit checksum byte
Feedbacks
- id: power_state
type: enum
values: [on, standby]
- id: input_state
type: enum
values: [tv, av, component, vga, hdmi1, hdmi2, hdmi3, hdmi4]
- id: picture_mode
type: enum
values: [standard, vivid, energysaving, theater, game, sport]
- id: sound_mode
type: enum
values: [standard, theater, music, speech, late_night]
- id: aspect_ratio
type: enum
values: [auto, normal, zoom, wide, direct, pixel_map, panoramic, cinema]
- id: color_temp
type: enum
values: [high, middle, mid_low, low]
- id: overscan
type: enum
values: [on, off]
- id: mute_state
type: enum
values: [on, off]
- id: tv_speaker
type: enum
values: [on, off]
- id: tuner_mode
type: enum
values: [antenna, cable]
- id: closed_caption
type: enum
values: [off, on, on_when_mute]
- id: osd_language
type: enum
values: [english, espanol, francais]
- id: standby_led
type: enum
values: [on, off]
- id: ack_status
type: enum
values: [OKAY, WAIT, EROR]
Variables
- 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: locked_volume
type: integer
range: [0, 100]
Events
# UNRESOLVED: source describes query/response model only, no unsolicited event/notification stream documented.
Macros
# Source describes Custom Install menu entries (PWRE enable required for standby power-on)
# and the TV setup procedure but not as named multi-step macros.
- id: enable_rs232_standby_power
label: Enable RS-232 Power-On from Standby
steps:
- id: pwre_set
args: { data: "0001" }
notes: Custom Install menu must also have "Custom Installation = Enable" (TV menu, code 7 3 1 0).
Safety
confirmation_required_for:
- rset_set # Restore Factory Settings
- tscn_set # Automatic Channel Search (re-scans, clears tuned channels)
interlocks: []
# UNRESOLVED: no explicit safety warnings or interlock procedures in source beyond factory-reset caution.
Notes
- Protocol is case-sensitive (per source note 1).
- Two CLIENT ID forms: MAC-last-3 hex (per-TV addressing) or
ALL(broadcast). - Checksum = low byte of 8-bit sum so total frame (including checksum byte) = 0x00.
- Each command uses ASCII framing; byte count per field: 1 (S/Q) + 3 (CID) + 4 (CMD) + 4 (DATA) + 1 (CS) + 1 (CR) = 14 bytes.
- IR carrier: NEC-style 38 kHz (Pronto CCF code
0000 006C= frequency word 0x006C = 108 = 38000 Hz / 1000 / 0.241246). - DB9 pinout: TV female DCE-style with TXD on pin 3, RXD on pin 2.
- Source is dated 2017 (V3.6) and targets "Hisense Prosumer TV" generically; specific 65U78K firmware support not stated.
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:23:27.599Z
last_checked_at: 2026-06-02T22:07:55.458Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:07:55.458Z
matched_actions: 125
action_count: 125
confidence: medium
summary: "All 125 spec actions traced to source (dip-safe re-verify). (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source does not list specific 65U78K firmware support; documents \"Hisense Prosumer TV\" generically."
- "source describes query/response model only, no unsolicited event/notification stream documented."
- "no explicit safety warnings or interlock procedures in source beyond factory-reset caution."
- "firmware version compatibility not stated in source; specific 65U78K model name not in source (applies generically to \"Prosumer TV\")."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0