Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

SC010 Controller Library

A Python library for controlling and managing SC010 AV over IP controllers using Telnet.

Features

  • Easy-to-use interface for SC010 controller management
  • Automatic device discovery on the network
  • Comprehensive device and system information retrieval
  • Matrix switching control
  • Video wall configuration
  • Device status monitoring
  • Scene management
  • CEC control support
  • Robust error handling and connection management

Installation

pip install sc010-controller

Quick Start

from sc010 import Controller, ConnectionConfig

# Find controller on network
controller_info = Controller.find_controller()
if controller_info:
    print(f"Found controller at IP: {controller_info['ip']}")
    print(f"Controller MAC: {controller_info['mac']}")

# Connect to controller
config = ConnectionConfig(
    ip="192.168.50.200",
    timeout=2.0,
    max_retries=3,
    retry_delay=1.0,
    gather_info=True
)

# Using context manager for automatic connection/disconnection
with Controller(config=config) as controller:
    # Get device list
    devices = controller.get_devicelist()
    print("Available devices:", devices)

    # Get device names and aliases
    device_names = controller.get_device_name()
    for device in device_names:
        print(f"{device['trueName']} -> {device['alias']}")

    # Control matrix switching
    controller.set_matrix("TX1 RX1 RX2", "TX2 RX3 RX4")

    # Get video wall configuration
    vw_config = controller.get_vw()
    print("Video wall config:", vw_config)

Documentation

Connection Configuration

The ConnectionConfig class allows you to customize the connection settings:

config = ConnectionConfig(
    ip="192.168.50.200",  # Controller IP address
    port=23,              # Telnet port (default: 23)
    timeout=1.0,          # Connection timeout in seconds
    max_retries=3,        # Number of connection retries
    retry_delay=1.0,      # Delay between retries in seconds
    gather_info=True      # Whether to gather device info on connection
)

Main Features

  • Device Discovery: Find controllers on the network
  • Device Management: Get device lists, names, and status
  • Matrix Control: Configure video routing
  • Video Wall: Set up and manage video walls
  • CEC Control: Send CEC commands to displays
  • System Configuration: Manage network settings and system parameters

Error Handling

The library includes comprehensive error handling:

from sc010 import SC010Error, ConnectionError, CommandError, ParseError

try:
    with Controller(config=config) as controller:
        # Your code here
except ConnectionError as e:
    print(f"Connection failed: {e}")
except CommandError as e:
    print(f"Command failed: {e}")
except ParseError as e:
    print(f"Parse error: {e}")
except SC010Error as e:
    print(f"General error: {e}")

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Developed for use with SC010 AV over IP controllers
  • Compatible with various IP-based video distribution systems

Metadata

Release files for sc010-controller 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sc010-controller 0.1.0
File Size Uploaded
sc010_controller-0.1.0.tar.gz 16.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sc010-controller 0.1.0
File Interpreter ABI Platform
sc010_controller-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.8 kB

Release files / sc010_controller-0.1.0.tar.gz

Download URL sc010_controller-0.1.0.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f5d6b5dbb566f32db67abc03dbac9b6485b9179db18e237fd415976715e7190d
BLAKE2b-256 checksum
How to use checksums
840305232e95b2b669ea9aafac05853c694e28ce5b66dc2cc7c90e6bf63870da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 30, 2025.

Transparency log

Release files / sc010_controller-0.1.0-py3-none-any.whl

Download URL sc010_controller-0.1.0-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35b2703247d841fa372fa5f844359bd3c365789e97e251f2ef83929ee39dd03c
BLAKE2b-256 checksum
How to use checksums
422afbb55a44be42b54a8a39ac1ad06c36511ad42ac0283b1b42a63b1cff8c54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 30, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page