Python · Qt6

Qt6 AV Control Centre

The desktop administration tool for SkyMatrixControl. It gives authorised engineers a central way to manage tablet deployments over Tailscale, including configuration, diagnostics, licensing and remote APK updates.

Python / PyQt6 / Tailscale / Networking

The engineering side of the Android platform

Sky Matrix Control Centre is the Python and PyQt6 desktop companion to SkyMatrixControl. Venue staff see only the streamlined Android kiosk interface; authorised administrators use this application for the technical configuration, diagnostics and deployment work behind it.

Private connections to deployed tablets

The Control Centre maintains a list of sites and connects to their Android tablets through Tailscale addresses. That private encrypted network reaches tablets behind ordinary routers and firewalls without exposing a public administration service. The tablet and desktop exchange commands through a custom TCP protocol with HMAC-SHA256 challenge-response authentication and a unique secret per installation.

Configuration that survives hardware changes

Administrators can retrieve and update matrix and Sky box addresses, television names and active states, source names and physical input ports, the number of televisions, two-Sky and three-Sky presets, remote tabs, matrix synchronisation, Wi-Fi settings, interface themes, page layouts, site and licence information, plus device location and diagnostics. Faulty outputs can be disabled and sources remapped without making staff learn a new interface.

Licensing and software delivery

The application creates device-specific licence payloads containing the site number, device identifier, issue date and optional expiry date. OpenSSL signs the payload with an RSA private key, while the Android app verifies it with its embedded public key. Administrators can also transfer an APK directly, monitor progress and verify its SHA-256 checksum before installation, or trigger an update from a hosted download URL.

Operational controls and implementation

The Control Centre supports application restarts, tablet reboots and preference resets, alongside common configuration presets and diagnostics. It uses Python 3, PyQt6, Qt Designer, TCP sockets, Tailscale, HMAC-SHA256, RSA and OpenSSL, SHA-256 verification, JSON site inventory and a custom client/server command protocol. On-site engineers can still make essential changes through the password-protected settings area on the tablet.