Skip to main content

A Python library for controlling SC010 AV over IP controllers

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

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

Project details


Download files

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

Source Distribution

sc010_controller-0.1.0.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sc010_controller-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file sc010_controller-0.1.0.tar.gz.

File metadata

  • Download URL: sc010_controller-0.1.0.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sc010_controller-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f5d6b5dbb566f32db67abc03dbac9b6485b9179db18e237fd415976715e7190d
MD5 55f7013307329990ce5f1a4d61d2e2f3
BLAKE2b-256 840305232e95b2b669ea9aafac05853c694e28ce5b66dc2cc7c90e6bf63870da

See more details on using hashes here.

Provenance

The following attestation bundles were made for sc010_controller-0.1.0.tar.gz:

Publisher: publish.yml on JFaulk1434/wrapper_sc010

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sc010_controller-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sc010_controller-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35b2703247d841fa372fa5f844359bd3c365789e97e251f2ef83929ee39dd03c
MD5 0be18fecd4b1e66f35744cb0a28b2342
BLAKE2b-256 422afbb55a44be42b54a8a39ac1ad06c36511ad42ac0283b1b42a63b1cff8c54

See more details on using hashes here.

Provenance

The following attestation bundles were made for sc010_controller-0.1.0-py3-none-any.whl:

Publisher: publish.yml on JFaulk1434/wrapper_sc010

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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