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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5d6b5dbb566f32db67abc03dbac9b6485b9179db18e237fd415976715e7190d
|
|
| MD5 |
55f7013307329990ce5f1a4d61d2e2f3
|
|
| BLAKE2b-256 |
840305232e95b2b669ea9aafac05853c694e28ce5b66dc2cc7c90e6bf63870da
|
Provenance
The following attestation bundles were made for sc010_controller-0.1.0.tar.gz:
Publisher:
publish.yml on JFaulk1434/wrapper_sc010
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sc010_controller-0.1.0.tar.gz -
Subject digest:
f5d6b5dbb566f32db67abc03dbac9b6485b9179db18e237fd415976715e7190d - Sigstore transparency entry: 225906293
- Sigstore integration time:
-
Permalink:
JFaulk1434/wrapper_sc010@643072e23660a74fa659fd638d497e1f3aef8b04 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JFaulk1434
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@643072e23660a74fa659fd638d497e1f3aef8b04 -
Trigger Event:
release
-
Statement type:
File details
Details for the file sc010_controller-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sc010_controller-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35b2703247d841fa372fa5f844359bd3c365789e97e251f2ef83929ee39dd03c
|
|
| MD5 |
0be18fecd4b1e66f35744cb0a28b2342
|
|
| BLAKE2b-256 |
422afbb55a44be42b54a8a39ac1ad06c36511ad42ac0283b1b42a63b1cff8c54
|
Provenance
The following attestation bundles were made for sc010_controller-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on JFaulk1434/wrapper_sc010
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sc010_controller-0.1.0-py3-none-any.whl -
Subject digest:
35b2703247d841fa372fa5f844359bd3c365789e97e251f2ef83929ee39dd03c - Sigstore transparency entry: 225906300
- Sigstore integration time:
-
Permalink:
JFaulk1434/wrapper_sc010@643072e23660a74fa659fd638d497e1f3aef8b04 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JFaulk1434
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@643072e23660a74fa659fd638d497e1f3aef8b04 -
Trigger Event:
release
-
Statement type: