Files

ThermoPro CYD Frontend

A Progressive Web App (PWA) that consumes the CYD ThermoPro Bridge API, stores session history in SQLite, and displays probe temperatures with charts, target setpoints, and freeform notes.

Architecture

LXC/container
├── Python backend (Flask)
│   ├── Polls CYD /api/latest periodically
│   ├── Stores readings + sessions + notes in SQLite
│   └── Serves the static PWA and API
└── PWA (HTML/CSS/JS)
    ├── Dashboard with probe cards
    ├── Temperature history charts
    ├── Target setpoint editor
    └── Session notes

Requirements

  • Python 3.10+ (system install or any working Python interpreter)
  • SQLite (stdlib)

Dependencies are installed locally into frontend/vendor/ so no virtual environment is required.

Installing dependencies

cd frontend
pip install --target vendor -r requirements.txt

On Windows with PowerShell:

cd "C:\Users\ksolo\Projects\House Projects\ThermoPro CYD\frontend"
pip install --target vendor -r requirements.txt

Running locally

cd frontend
CYD_BASE_URL=http://192.168.2.55 python app.py

On Windows with PowerShell:

cd "C:\Users\ksolo\Projects\House Projects\ThermoPro CYD\frontend"
$env:CYD_BASE_URL = "http://192.168.2.55"
python app.py

Then open http://localhost:5000.

Configuration

Environment variable Default Description
CYD_BASE_URL http://192.168.2.55 Base URL of the CYD bridge
POLL_INTERVAL 5 Seconds between backend polls
DATABASE_PATH thermopro.db SQLite database file
DEFAULT_CHART_MINUTES 60 Default chart time range

Deployment

See deploy/README.md for step-by-step Proxmox LXC deployment instructions.

For a quick local test:

cd frontend
pip install --target vendor -r requirements.txt
CYD_BASE_URL=http://192.168.2.55 python app.py