13 Commits
Author SHA1 Message Date
Keith Solomon 8a1c74e7d6 fix: update styles for accessibility 2026-07-21 18:37:58 -05:00
Keith Solomon 2a72972b4f feat: implement probe renaming and settings management via API 2026-07-21 16:37:37 -05:00
Keith Solomon 1bd1ddc20e fix: correct installation directory path in Proxmox LXC setup script 2026-07-20 22:41:16 -05:00
Keith Solomon 6d103b0426 chore: remove stray frontend.tgz and ignore it 2026-07-20 21:26:09 -05:00
Keith Solomon 7ef6af1cf3 fix: stop probe card re-render from clearing form inputs
- Split renderProbeCards into createProbeCards (once) and updateProbeCards
  (mutates only the values: name, target, temp, status, dot color).
- Skip refreshing setpoint input values while a field has focus so typing
  is not interrupted by the 5s poll.
- Stop calling refreshDashboard after saveSetpoint to avoid clobbering input.
2026-07-20 21:23:10 -05:00
Keith Solomon 5fda27794d feat: add Proxmox LXC deployment files
- Add deploy/proxmox-lxc-setup.sh to configure the frontend inside a Debian/Ubuntu LXC.
- Add deploy/thermopro-frontend.service systemd unit.
- Add deploy/README.md with Proxmox CT creation, file transfer, setup, proxy, and update steps.
- Update frontend README.md to point to the deployment guide.
2026-07-20 20:37:02 -05:00
Keith Solomon c80de43f55 fix: run frontend without virtualenv
- Modify app.py to add vendor/ to sys.path so pip --target works.
- Add frontend/.gitignore to exclude vendor/, __pycache__, thermopro.db.
- Update README with pip --target instructions.
2026-07-20 20:28:10 -05:00
Keith Solomon 9e32b1b179 feat: add PWA frontend for CYD ThermoPro dashboard
Add a Flask backend + SQLite + HTML/CSS/JS PWA that:
- Polls the CYD /api/latest endpoint
- Stores readings, sessions, and freeform notes in SQLite
- Displays probe cards with target setpoints and preset options
- Renders temperature history with Chart.js
- Serves a PWA manifest and dark-themed dashboard

Also update cyd-bridge/README.md with verified bringup instructions.
2026-07-20 20:14:48 -05:00
Keith Solomon f03cebf322 fix: CYD BLE connection via service-UUID scan and clean connect flow
- Scan for ThermoPro by advertised service UUID instead of relying only on MAC,
  solving resolvable-private-address issues after phone pairing.
- Defer connect until after the scan is fully stopped to avoid NimBLE race.
- Add connect cleanup, state-name diagnostics, and main-loop retry.
- Switch display config to LGFX_AUTODETECT for correct CYD pinout.
- Verified: CYD connects to ThermoPro and receives temperature notifications.
2026-07-20 18:58:12 -05:00
Keith Solomon 8e007de5a1 feat: add CYD ThermoPro bridge firmware skeleton
Add PlatformIO project for the ESP32-2432S028R that:
- Reads ThermoPro BLE BBQ thermometers via NimBLE-Arduino
- Exposes /api/health, /api/latest, and /api/settings HTTP endpoints
- Serves a captive-portal setup UI and touch dashboard
- Persists WiFi/BLE/settings in NVS via Preferences

Builds cleanly with pio run.
2026-07-20 14:38:35 -05:00
Keith Solomon 9a3a8f9368 Add ThermoPro BLE support and dashboard display
- Implement ThermoproBLE class for handling BLE communication with ThermoPro BBQ thermometer.
- Create ThermoproReading structure to hold thermometer data.
- Develop Dashboard class for displaying thermometer readings and WiFi status on a TFT display.
- Configure display settings and touch input handling.
- Introduce SettingsManager for managing user settings stored in NVS.
- Implement WiFiManager for handling WiFi connections and captive portal setup.
- Add HTML interface for user to input WiFi credentials and ThermoPro MAC address.
- Ensure proper state management for WiFi and BLE connections in the main application loop.
2026-07-19 19:33:18 -05:00
Keith Solomon 801e16f7ff 📄 docs: Add readme 2026-06-06 10:31:18 -05:00
Keith Solomon 122358286d Initial proof-of-concept commit 2026-06-06 10:23:49 -05:00