Summary
The Sonance C4630 SE is a six-zone home audio system controller with keypad, IR, and RS-232 control. This spec covers the inbound RS-232 serial command protocol (fixed 19200 8N1, no flow control), which provides zone power, source select, volume, page volume, mute, balance, bass, treble, button-press simulation, and status queries. Commands start with a colon (:), end with a carriage return (<cr>), and are acknowledged with +OK or +ERR.
Transport
protocols:
- serial
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
# inferred from command examples in source
traits:
- powerable # inferred from zone power commands (:Zxy)
- routable # inferred from per-zone source select (:Sxy)
- queryable # inferred from status queries (:Zx?, :Sx?, etc.)
- levelable # inferred from volume/balance/bass/treble commands
Actions
# Serial settings commands. Syntax verbatim from source; x = Zone 1-6 unless noted.
- id: zone_power
label: Zone Power
kind: action
command: ":Zxy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: y
type: enum
description: State - 1 = On, 0 = Off
- id: all_zones_set
label: All Zones Off (Global Setting)
kind: action
command: ":Zy<cr>"
params:
- name: y
type: enum
description: State - 1 = On, 0 = Off (Global Setting Only)
- id: source_select
label: Source Select
kind: action
command: ":Sxy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: y
type: integer
description: Source 1 - 4
- id: volume_set
label: Volume
kind: action
command: ":Vxyy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: yy
type: integer
description: Volume 0 - 60
- id: volume_step_up
label: Volume Step Up
kind: action
command: ":Vx++<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: volume_step_down
label: Volume Step Down
kind: action
command: ":Vx--<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: page_volume_set
label: Page Volume
kind: action
command: ":Gxyy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: yy
type: integer
description: Page Volume 0 - 60
- id: page_volume_step_up
label: Page Volume Step Up
kind: action
command: ":Gx++<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: page_volume_step_down
label: Page Volume Step Down
kind: action
command: ":Gx--<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: mute
label: Mute
kind: action
command: ":Mxy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: y
type: enum
description: 1 = Mute On, 0 = Mute Off
- id: balance_set
label: Balance
kind: action
command: ":Bxyyy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: yyy
type: integer
description: Balance -10 to +10, Center = 0
- id: balance_bump_right
label: Balance Bump Step Right
kind: action
command: ":Bx++<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: balance_bump_left
label: Balance Bump Step Left
kind: action
command: ":Bx--<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: bass_set
label: Bass
kind: action
command: ":Lxyy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: yy
type: integer
description: Bass -8 to +8, Flat = 0
- id: bass_step_up
label: Bass Bump Step Up
kind: action
command: ":Lx++<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: bass_step_down
label: Bass Bump Step Down
kind: action
command: ":Lx--<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: treble_set
label: Treble
kind: action
command: ":Hxyy<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- name: yy
type: integer
description: Treble -8 to +8, Flat = 0
- id: treble_step_up
label: Treble Bump Step Up
kind: action
command: ":Hx++<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: treble_step_down
label: Treble Bump Step Down
kind: action
command: ":Hx--<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: simulate_button_press
label: Simulate Button Press
kind: action
command: ":Pzxyyy<cr>"
params:
- name: z
type: integer
description: Zone number 1 - 6
- name: x
type: enum
description: Command layer - 1 = PRESS, 2 = PRESS-AND-HOLD, 3 = DOUBLE-PRESS, 4 = EXTRA COMMANDS
- name: yyy
type: integer
description: "Keypad button code (see Notes): Numeric 1-9 = 1-9, Numeric 0 = 10, Numeric - = 11, Numeric + = 12, Main Volume Up = 13, Main Mute = 14, Main Volume Down = 15, Main Off = 16, Main Source 1-4 = 17-20, Main Pause = 21, Main Play = 22, Main Backward = 23, Main Forward = 24, Remote OK = 25, Extra Commands = 001-200"
- id: zone_power_query
label: Zone Power Query
kind: query
command: ":Zx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: any_zones_on_query
label: Any Zones On Query
kind: query
command: ":Z?<cr>"
params: []
- id: source_query
label: Source Query
kind: query
command: ":Sx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: volume_query
label: Volume Query
kind: query
command: ":Vx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: page_volume_query
label: Page Volume Query
kind: query
command: ":Gx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: mute_query
label: Mute Query
kind: query
command: ":Mx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: balance_query
label: Balance Query
kind: query
command: ":Bx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: bass_query
label: Bass Query
kind: query
command: ":Lx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
- id: treble_query
label: Treble Query
kind: query
command: ":Hx?<cr>"
params:
- name: x
type: integer
description: Zone 1 - 6
Feedbacks
- id: command_ack
type: enum
values: ["+OK", "+ERR"]
description: "'+OK' if command recognized and executed; '+ERR' if invalid OR if unit cannot process it (e.g. turned OFF)"
- id: zone_power_response
type: string
format: "+Zxy"
description: "x = zone, y = 1 if On, 0 if Off"
- id: any_zones_on_response
type: string
format: "+Zy"
description: "y = 1 if any zone On, 0 if all zones Off"
- id: source_response
type: string
format: "+Sxy"
description: "x = zone, y = current source (1 - 4)"
- id: volume_response
type: string
format: "+Vxy"
description: "x = zone, y = current volume (0 - 60)"
- id: page_volume_response
type: string
format: "+Gxy"
description: "x = zone, y = current page volume (0 - 60)"
- id: mute_response
type: string
format: "+Mxy"
description: "x = zone, y = 1 if Mute On, 0 if Mute Off"
- id: balance_response
type: string
format: "+Bxy"
description: "x = zone, y = current balance (-10 to +10)"
- id: bass_response
type: string
format: "+Lxy"
description: "x = zone, y = current bass (-8 to +8)"
- id: treble_response
type: string
format: "+Hxy"
description: "x = zone, y = current treble (-8 to +8)"
Variables
# All settable parameters (volume, page volume, balance, bass, treble, mute,
# power, source) are covered as discrete Actions above. No additional variables.
Events
# No unsolicited notifications documented in source.
Macros
# Macro programming (keypad macros, outbound RS-232, Stop Macro, Repeat Steps)
# is done via Sonance Control Manager software, not via the inbound serial
# protocol. Not representable as serial-command macros.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in refined source.
Notes
- One-directional serial only (critical): the C4630 SE operates EITHER inbound OR outbound via RS-232, never both. Placing a single RS-232 command in any macro configures the unit as an OUTBOUND serial device that will NOT respond to inbound commands. To enable inbound control, remove all RS-232 commands from all macros (use the System Configuration Report to find them).
- Even valid commands return
+ERRif the unit cannot process them (e.g. turned OFF). - No POWER ON button/command exists — pressing (or simulating) a Source Select button in an inactive zone turns the zone ON.
- Multi-unit systems: all commands work on any unit by inserting the Unit ID between the colon and the command letter, e.g.
:3V1++<cr>= Volume Up, Zone 1, Unit 3. Units are linked via SYNC connections (up to four units). - Command format: colon (
:) + single command letter + parameters + carriage return (<cr>). Status queries replace the SETTING with?. - RS-232 pinout: female DB-9 — Pin 2 = Receive (Rx), Pin 3 = Transmit (Tx), Pin 5 = Ground (Gnd).
- Outbound serial (macros) has adjustable baud rate and format (8N1/7E1/7O1/7M1/7S1); inbound protocol is fixed at 19200 8N1 no flow control.
- Programmed IR Port defaults match the four input sources (Port 1 = Source 1, etc.).
Provenance
source_domains:
- usermanual.wiki
- manualslib.com
- driverstore.rticontrol.com
source_urls:
- https://usermanual.wiki/Sonance/SonanceC4630SeUsersManual447381.609049138.pdf
- https://www.manualslib.com/manual/157446/Sonance-C4630-Se.html
- https://usermanual.wiki/Sonance/SonanceDab1UsersManual447348.960920957.pdf
- https://driverstore.rticontrol.com/driver/sonance-c4630-dab-1
retrieved_at: 2026-06-02T03:13:13.198Z
last_checked_at: 2026-09-21T22:17:38.566Z
Verification Summary
verdict: verified
checked_at: 2026-09-21T22:17:38.566Z
matched_actions: 29
action_count: 29
confidence: medium
summary: "All 29 spec actions match source command/query tables verbatim; transport parameters (19200 8N1 none) match line 226 exactly; bidirectional coverage complete. (5 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "firmware version compatibility not stated in source. Keypad button macro programming via Sonance Control Manager software is out of scope for serial control."
- "no safety warnings or interlock procedures in refined source."
- "firmware version compatibility not stated in source."
- "no response timing/latency specs in source."
- "source covers C4630 SE only; DAB-1 coverage not present in this document."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0