Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

teeheesmart

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

teeheesmart

API for controlling a TESmart media switch using Hex protocol

  • 0.8.0
  • PyPI
  • Socket score

Maintainers
1

teeheesmart

Python library for controlling a TESmart media switch over a TCP connection using their un-named Hex protocol.

It's primarily intended for use as a device driver for a Home Assistant integration.

USAGE

from teeheesmart import get_media_switch

device_url = '10.0.0.1'
media_switch = get_media_switch(device_url)

media_switch.select_source(3) # Change to input 3
media_switch.update() # Refreshes device state

See src/teeheesmart/media_switch.py for full MediaSwitch capabilities.

Device URL format

The URL takes the form of <scheme>://<host>:<port>#<protocol> with all but host being optional.

Default scheme is tcp, with a default port of 5000.

Default protocol is Hex (identifier: hex.)

Examples:

  • 10.0.0.1 -> Scheme: tcp, Host: 10.0.0.1, Port: 5000, Protocol: hex
  • localhost:1337 -> Scheme: tcp, Host: localhost, Port: 1337, Protocol: hex
  • localhost:1337#hex -> Scheme: tcp, Host: localhost, Port: 1337, Protocol: hex
  • tcp://10.0.0.1 -> Scheme: tcp, Host: 10.0.0.1, Port: 5000, Protocol: hex
  • tcp://switch.local:8080 -> Scheme: tcp, Host: switch.local, Port: 8080, Protocol: hex

Limitations

The library was tested and developed using a TESmart HSW-1601, but should work for any TESmart switch using their Hex protocol.

It does not currently support:

  • Matrix switch operations, since I don't have a device to test with
  • Serial communication, since TCP is the more likely control mechanism for home automation purposes

The library has extension points for adding the support above should an opportunity or need to do so arise.

Development workflow

Python environment

Workflow scripts assume a working Python environment, including pip.

Remember to be kind to yourself and use a virtual environment.

python3 -m venv env
env/bin/activate

Setup

Install development and runtime dependencies. This also installs the library as an editable path, so that it can be loaded in the REPL and pytest.

script/setup

Tests

Run unit tests:

script/test

Tests can also be continuously run while developing with:

ptw .

Build

To build distributables:

script/build

Build artifacts will be placed in the dist directory.

Publishing

Build the distribution.

script/build

Publish the library to TestPyPI.

script/publish_test

Publish the library to PyPI.

script/publish

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc