TANVEER HUSSAIN / AI ENGINEER
← All work Experience Certs Get in touch →
Case Study · Hardware + Software Systems

Unified TV Control
& Monitoring System

One system that controls and monitors a fleet of displays across three completely different protocols, HDMI-CEC, legacy RS232, and network IP, from a single codebase. Scheduled automation, one consistent data model, one dashboard. Built solo, end to end.

Role: Sole Engineer & Architect Domain: AV Control & Monitoring Type: Hardware-meets-software

[ 01 ] The business problem

A fleet of displays spanned different TV generations, modern sets on HDMI-CEC, older ones on RS232 serial, others on network IP. Each spoke a different control language, with no unified way to schedule them, switch them on and off automatically, or see their status in one place.

[ 02 ] The technical solution

A single system with one abstract controller that drives any display, whatever its protocol, through the same commands. It automates power, input, and volume on an operating-hours schedule, logs every device into one consistent data model, and shows the whole mixed fleet on one dashboard.

// architecture

How the system works

1

Operating-hours schedule

The system queries a digital-signage CMS on a short interval for each site's operating hours, with timezone awareness and a safe fallback if the API is unavailable.

CMS APISchedulingTimezone-AwareFallback
2

Unified controller abstraction

A single abstract interface defines power, input, and volume. Three implementations sit behind it, one per protocol, so the rest of the system never needs to know how a given TV is actually controlled.

Abstraction LayerHDMI-CECRS232IP Control
3

Command execution

The right driver sends the actual commands to the display, over serial, CEC, or network, with retry logic and timeouts so a flaky device doesn't take the system down.

Serial CommsRetry LogicTimeoutsError Handling
4

Unified time-series logging

Every device, regardless of protocol, writes to one time-series database with an identical schema: site, TV, control method, power state, input, volume, and command success.

InfluxDBTime-SeriesUnified Schema
5

Centralized dashboard

A single dashboard shows the entire fleet, CEC, RS232, and IP together, with filtering by site or device, historical power timelines, and live error monitoring.

GrafanaFilteringHistoryAlerts
6

Production service

Packaged as a background daemon with auto-restart, cross-platform service integration, health checks, and structured logging, built to run unattended.

DaemonsystemdHealth ChecksLogging
cec | rs232 | ip → one interface → one dashboard

Three protocols, one system. Any display, old or new, is controlled and monitored through the same commands and the same schema, no separate tools per TV type.

// engineering depth

Hard problems solved

~ abstraction

Three protocols, one API

HDMI-CEC, RS232 serial, and IP work completely differently. A clean abstract controller hides those differences so the whole system speaks one language.

~ hardware

The hardware-software bridge

This isn't just code, it's serial cables, CEC adapters, and network devices. Bridging real hardware control with clean software is the rare part.

~ data

One schema for a mixed fleet

Forcing heterogeneous devices into a single, consistent time-series schema is what makes unified monitoring and history possible at all.

~ reliability

Physical devices fail

Displays drop, adapters glitch, APIs time out. Retries, timeouts, and fallbacks keep the system stable when the real world misbehaves.

~ automation

Schedule-driven control

Power and inputs follow real operating hours pulled from a CMS, timezone-aware, with a safe default when the schedule source is unreachable.

~ ops

Built to run unattended

A production daemon with auto-restart, health checks, and cross-platform service integration, deployed to run on-site without babysitting.

// stack

Built with

Language
PythonOOP / AbstractionJSON Config
Hardware / Protocols
HDMI-CECRS232 SerialIP ControlUSB-CEC AdapterUSB-Serial Adapter
Data & Monitoring
InfluxDBTime-SeriesGrafanaDashboardsAlerting
Integration
Signage CMS APIRESTSchedulingTimezone Handling
Ops / Deployment
Daemon ServicesystemdTask SchedulerHealth ChecksLogging
Domain
AV ControlDigital SignageFleet MonitoringEmbedded / IoTSystem Architecture
// outcome

The result

3 → 1
Protocols unified into one system
Auto
Scheduled on/off, hands-off
1
Dashboard for the whole fleet
100%
Designed & built solo, end to end
// let's build

Have a problem that needs a system?

I turn messy business problems into reliable systems, hardware control, voice agents, content platforms, RAG, and automation, designed and shipped solo.

Tanveer Hussain · AI Engineer · Building systems that never sleep.