Repository navigation
Setup
Get tesmartctl talking to the switch, then keep a listener running for the kit, panel, and Hubitat.
python3 -m pip install --upgrade tesmartctl
# or from a clone:
python3 -m pip install -e .Entry point: tesmartctl. Requires Python 3.10+. On Windows, confirm Python and pip first: Windows.
tesmartctl install asks whether this computer is the server or a client, then the switch or listener details. A saved env file is used as the defaults and the wizard says so; otherwise it starts from the built-in defaults. Nothing is written until you confirm. A server install stores the HTTP listen address (TESMART_HTTP) with the panel and mDNS choices. Its connection test can select input 9 and then return to the input that was active. If input 9 comes up, the switch is saved as 16 inputs. Otherwise it is saved as 8. You can keep that count or enter your own. A client install is headed Connect to Server and saves that listener separately, so a server listener already on this computer stays as it is. The Floating UI Kit question defaults to Yes. The wizard can also save startup.txt in the current directory for future reference, with tesmartctl quickstart and the client checks.
tesmartctl install
tesmartctl quickstartFull walk-through: Docs/install.md. Server start: Quick start. Another computer: Client install.
Default LAN target is 192.168.1.10:5000. Override per command or save defaults:
tesmartctl --host 192.168.1.50 status
tesmartctl config set --host 192.168.1.50 --port 5000
tesmartctl config path # where defaults liveRS232 instead of LAN:
tesmartctl --serial /dev/tty.usbserial-xxx status16-port models: add --inputs 16 (or save it with config set).
tesmartctl status
tesmartctl input 2
tesmartctl input # query currentIf status times out: confirm IP/port, that nothing else owns the TCP session, and that the switch is on the same LAN.
On the computer that talks to the HDMI switch, configure once, then start:
tesmartctl install
tesmartctl quickstartinstall saves the switch address, the HTTP listen address (TESMART_HTTP), the listen port (TESMART_HTTP_PORT), and the browser UI choice (TESMART_HTTP_PANEL). quickstart starts that listener and leaves it running. /kit is the floating UI application kit. /panel is the browser-only control panel. Both are on by default.
Leave quickstart running. CLI one-shots, Stream Deck HTTP, the kit, the panel, and Hubitat all talk through it (or open their own short-lived TCP sessions for one-shots). quickstart is the same process as tesmartctl listen with the options install saved. The wizard also prints that longer command. Page: Quick start. Walk-through: Docs/install.md.
Optional LAN discovery (pip install 'tesmartctl[mdns]'): during install, choose a listen address other computers can open, then from another machine use tesmartctl --via auto …. Limits and typed-URL fallback: mDNS.
Names are stored only on the Mac/PC (env file), not on the switch:
tesmartctl name set 2 Office
tesmartctl name list
tesmartctl input OfficeOn the server:
tesmartctl install
tesmartctl quickstartDetails, including what happens when the saved listener is missing: Quick start.
On another computer, run tesmartctl install and choose Client. Choosing mDNS scans the network and lists the listeners it finds. After that:
tesmartctl --via auto kitDetails: Client install.
-
Windows — Python and pip, double quotes on pip commands,
startfor a server and a client -
Quick start —
install, thenquickstarton the server -
Client install — another computer, then
tesmartctl --via auto kit -
Floating kit — floating UI application kit at
/kit - Hubitat — smart-home drivers
-
Control panel — browser-only control panel at
/panel - Listener & HTTP — URL cheat sheet
- mDNS — discover the listener without typing an IP
Getting started
Reference
Repo docs