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