Skip to main content

No project description provided

Project description

Python RS232 API for Multi-Zone Amps

Library for RS232 serial communication to Xantech, Monoprice, Dayton Audio, Soundavo, and other multi-zone amps. This supports any serial protocol for communicating with the amps, including RS232 ports, USB serial ports, and possibly the RS232-over-IP interface for more recent Xantech amps. See below for exactly which amplifier models are supported.

GOAL: To eventually merge this with pymonoprice and get rid of a separate implementation.

The Monoprice version was originally created by Egor Tsinko for use with Home-Assistant.

beta_badge PyPi MIT license Build Status

Support

Visit the community support discussion thread for issues with this library.

Usage

For Monoprice and Dayton Audio 6-zone amplifiers:

from pyxantech import get_amp_controller

zone = 11 # (11 = amp 1/destination 1)
amp = get_amp_controller('monoprice6', '/dev/ttyUSB0')

# Turn off zone
amp.set_power(zone, False)

# Mute zone
amp.set_mute(zone, True)

# Set volume for zone
amp.set_volume(zone, 15)

# Set source 1 for zone
amp.set_source(zone, 1)

For Xantech 8-zone amplifiers:

from pyxantech import get_amp_controller

zone = 12
amp = get_amp_controller('xantech8', '/dev/ttyUSB0')

amp.set_source(zone, 3) # select source 3

See also example.py for a more complete example.

Usage with asyncio

With the asyncio flavor, all methods of the controller objects are coroutines:

import asyncio
from pyxantech import async_get_amp_controller

async def main(loop):
    amp = await async)get_amp_controller('monoprice6', '/dev/ttyUSB0', loop)
    zone_status = await amp.zone_status(11)
    if zone_status.power:
        await amp.set_power(zone_status.zone, False)

loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))

Supported Multi-Zone Amps

Manufacturer Model(s) Zones Supported Series Notes
Xantech MRAUDIO8X8 / MRAUDIO8X8m 6+2 YES xantech8 audio only; zones 7-8 are preamp outputs only
MX88a / MX88ai 8 YES xantech8 audio only; ai = Ethernet support (MRIP)
MRC88 / MRC88m 6+2 YES xantech8 audio + video; zones 7-8 are preamp outputs only
MX88 / MX88vi 8 YES xantech8 audio + video; vi = Ethernet support (MRIP)
CM8X8 / CM8X8DR 8 UNTESTED xantech8 commercial rack mount matrix controller (BNC)
ZPR68-10 6 UNTESTED zpr68-10 6-zone output; 8 source inputs
MRAUDIO4X4 / BXAUDIO4x4 4 NO N/A audio only; only supports IR control
MRC44 / MRC44CTL 4 NO N/A audio + video; only supprots IR control
Monoprice MPR-SG6Z / 10761 6 UNTESTED monoprice6 audio only
Dayton Audio DAX66 6 UNTESTED monoprice6 audio only
DAX88 6+2 UNTESTED dax88 audio only
Sonance C4630 SE (6-zone) / 875D MKII (4-zone) 4-6 UNTESTED sonance6 audio only
Soundavo WS66i 6 UNTESTED monoprice6 audio only; see pyws66i; does not support telnet/IP control (yet)
  • The Monoprice MPR-SG6Z and Dayton Audio DAX66 appear to have licensed or copied the serial interface from Xantech. Both Monoprice and Dayton Audio use a version of the Xantech multi-zone controller protocol.
  • Soundavo WS66i is an updated version of the Monoprice 10761 which includes 2 wireless streamers, IP/telnet based control, etc. It has not been tested with this, but should use the monoprice6 integration when RS232 controlled.

Xantech High-Density Cable Models

Some Xantech MX88/MX88ai models use high-density HD15 (or DE15) connectors for rear COM ports, thus requiring Xantech's "DB15 to DB9" adapter cable (PN 05913665). The front DB9 RS232 and USB COM ports cannot be used for device control on these models. Instead, use the rear COM ports which are already wired as a 'null modem' connection, so no use of null modem cable is required as the Transmit and Receive lines have already been interchanged.

The pinouts as documented in the Xantech MX88 manual:

HDB15 Male Function DB9 Female DB9 Color Function Notes
2 Tx 2 Brown Rx
3 Rx 3 White Tx
4 DSR 4 Green DTR
5 GND 5 Yellow GND Ground
6 DTR 6 Red DSR

See Also

#@## Other

Community Engagement

Sites with active community engagement around the Xantech, Monoprice, and Daytona AUdio multi-zone amplifiers:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pyxantech-0.7.2-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file pyxantech-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: pyxantech-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for pyxantech-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 08e81830c06bd8b6b0c5574d6a45ca3798ea85e95da3442fbd7d45bc2e91d271
MD5 4de73a2575882096133b4678fa51782e
BLAKE2b-256 97ed9f92b3be4a1cf18b9b0ed5773b210c535d033c15bd422737a75d93738676

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page