-
Colby Sollars
Complete sensor connect workflow warnings and wizard gating.
Degrade control health until probes are ready, show a setup banner on the control UI, and tighten the sensor setup wizard with docs aligned to the bundle teach-in flow.
Co-authored-by: Cursor <cursoragent@cursor.com>
projects/hot-tub/sensor-connect-workflow.md
projects/hot-tub/src/control/INSTALL.md
projects/hot-tub/src/control/README.md
projects/hot-tub/src/control/daemon.py
projects/hot-tub/src/control/tests/test_health_status.py
projects/hot-tub/src/web/README.md
projects/hot-tub/src/web/frontend/src/App.tsx
projects/hot-tub/src/web/frontend/src/components/ControlPage.tsx
projects/hot-tub/src/web/frontend/src/components/SensorSetupPage.tsx
projects/hot-tub/src/web/frontend/src/styles.css
ceba3e0
-
Colby Sollars
Improve control daemon event loop and add health LED smoke test.
Use Redis wait-with-timeout reconcile, non-blocking reconnect, and systemd watchdog notify; document health contracts and a GPIO LED cycle script for bench checks.
Co-authored-by: Cursor <cursoragent@cursor.com>
projects/hot-tub/deploy/control/hot-tub-control.service
projects/hot-tub/software-architecture.md
projects/hot-tub/src/control/INSTALL.md
projects/hot-tub/src/control/README.md
projects/hot-tub/src/control/daemon.py
projects/hot-tub/src/control/redis_io.py
projects/hot-tub/src/control/systemd_notify.py
projects/hot-tub/src/control/tests/test_redis_io.py
projects/hot-tub/src/health/led_test.py
projects/hot-tub/src/health/overview.md
bbc1371
-
Colby Sollars
Added initial code for daemons
projects/hot-tub/.gitignore
projects/hot-tub/deploy/web/hot-tub-web.logrotate
projects/hot-tub/deploy/web/hot-tub-web.service
projects/hot-tub/deploy/web/install.sh
projects/hot-tub/diagrams/hot-tub-electrical-v2.drawio
projects/hot-tub/diagrams/hot-tub-electrical-v3.drawio
projects/hot-tub/diagrams/hot-tub-electrical.drawio
projects/hot-tub/hardware-setup.md
projects/hot-tub/software-architecture.md
projects/hot-tub/src/control/INSTALL.md
projects/hot-tub/src/control/__main__.py
projects/hot-tub/src/control/daemon.py
projects/hot-tub/src/control/heat_fsm.py
projects/hot-tub/src/control/safety.py
projects/hot-tub/src/control/tests/test_heat_fsm.py
projects/hot-tub/src/health/overview.md
projects/hot-tub/src/temp/INSTALL.md
projects/hot-tub/src/temp/README.md
projects/hot-tub/src/temp/commands.py
projects/hot-tub/src/temp/daemon.py
projects/hot-tub/src/temp/identity.py
projects/hot-tub/src/temp/redis_out.py
projects/hot-tub/src/temp/runtime.py
projects/hot-tub/src/temp/tests/test_commands.py
projects/hot-tub/src/temp/tests/test_identity.py
projects/hot-tub/src/temp_sim/simulator.py
projects/hot-tub/src/web/INSTALL.md
projects/hot-tub/src/web/README.md
projects/hot-tub/src/web/__init__.py
projects/hot-tub/src/web/__main__.py
projects/hot-tub/src/web/commands.py
projects/hot-tub/src/web/config.example.json
projects/hot-tub/src/web/config.py
projects/hot-tub/src/web/frontend/.gitignore
projects/hot-tub/src/web/frontend/.oxlintrc.json
projects/hot-tub/src/web/frontend/README.md
projects/hot-tub/src/web/frontend/dist/assets/index-BUdY2Uw4.js
projects/hot-tub/src/web/frontend/dist/assets/index-CESZI1ev.css
projects/hot-tub/src/web/frontend/dist/favicon.svg
projects/hot-tub/src/web/frontend/dist/icons.svg
projects/hot-tub/src/web/frontend/dist/index.html
projects/hot-tub/src/web/frontend/index.html
projects/hot-tub/src/web/frontend/package-lock.json
projects/hot-tub/src/web/frontend/package.json
projects/hot-tub/src/web/frontend/public/favicon.svg
projects/hot-tub/src/web/frontend/public/icons.svg
projects/hot-tub/src/web/frontend/src/App.css
projects/hot-tub/src/web/frontend/src/App.tsx
projects/hot-tub/src/web/frontend/src/api.ts
projects/hot-tub/src/web/frontend/src/assets/hero.png
projects/hot-tub/src/web/frontend/src/assets/react.svg
projects/hot-tub/src/web/frontend/src/assets/vite.svg
projects/hot-tub/src/web/frontend/src/components/ControlPage.tsx
projects/hot-tub/src/web/frontend/src/components/DiagnosticPage.tsx
projects/hot-tub/src/web/frontend/src/components/Header.tsx
projects/hot-tub/src/web/frontend/src/components/Pump.tsx
projects/hot-tub/src/web/frontend/src/components/SensorSetupPage.tsx
projects/hot-tub/src/web/frontend/src/components/StatusLight.tsx
projects/hot-tub/src/web/frontend/src/components/TubGraphic.tsx
projects/hot-tub/src/web/frontend/src/helpers.ts
projects/hot-tub/src/web/frontend/src/index.css
projects/hot-tub/src/web/frontend/src/main.tsx
projects/hot-tub/src/web/frontend/src/styles.css
projects/hot-tub/src/web/frontend/src/types.ts
projects/hot-tub/src/web/frontend/tsconfig.app.json
projects/hot-tub/src/web/frontend/tsconfig.json
projects/hot-tub/src/web/frontend/tsconfig.node.json
projects/hot-tub/src/web/frontend/vite.config.ts
projects/hot-tub/src/web/health.py
projects/hot-tub/src/web/interface-requirements.md
projects/hot-tub/src/web/logging_setup.py
projects/hot-tub/src/web/mockup/app.js
projects/hot-tub/src/web/mockup/index.html
projects/hot-tub/src/web/mockup/mock-backend.js
projects/hot-tub/src/web/mockup/styles.css
projects/hot-tub/src/web/redis_io.py
projects/hot-tub/src/web/server.py
projects/hot-tub/src/web/tests/__init__.py
projects/hot-tub/src/web/tests/test_commands.py
projects/hot-tub/src/web/tests/test_server.py
f9db29f
-
Colby Sollars
Add control daemon, Pi deploy assets, and unit tests.
Implements Redis-driven heat/filter control with safety interlocks, systemd install, and local test coverage off the Pi.
projects/hot-tub/deploy/control/hot-tub-control.logrotate
projects/hot-tub/deploy/control/hot-tub-control.service
projects/hot-tub/deploy/control/install.sh
projects/hot-tub/src/control/INSTALL.md
projects/hot-tub/src/control/README.md
projects/hot-tub/src/control/__init__.py
projects/hot-tub/src/control/__main__.py
projects/hot-tub/src/control/commands.py
projects/hot-tub/src/control/config.example.json
projects/hot-tub/src/control/config.py
projects/hot-tub/src/control/daemon.py
projects/hot-tub/src/control/filter_policy.py
projects/hot-tub/src/control/gpio_out.py
projects/hot-tub/src/control/heat_fsm.py
projects/hot-tub/src/control/logging_setup.py
projects/hot-tub/src/control/redis_io.py
projects/hot-tub/src/control/safety.py
projects/hot-tub/src/control/state.py
projects/hot-tub/src/control/tests/__init__.py
projects/hot-tub/src/control/tests/test_commands.py
projects/hot-tub/src/control/tests/test_filter_policy.py
projects/hot-tub/src/control/tests/test_heat_fsm.py
projects/hot-tub/src/control/tests/test_safety.py
29e994a
-
Colby Sollars
Ignore Python bytecode and drop cached .pyc from the tree.
Co-authored-by: Cursor <cursoragent@cursor.com>
projects/hot-tub/.gitignore
projects/hot-tub/src/temp/tests/__pycache__/__init__.cpython-314.pyc
projects/hot-tub/src/temp/tests/__pycache__/test_identity.cpython-314.pyc
projects/hot-tub/src/temp/tests/__pycache__/test_reader.cpython-314.pyc
projects/hot-tub/src/temp_sim/__pycache__/__init__.cpython-314.pyc
projects/hot-tub/src/temp_sim/__pycache__/simulator.cpython-314.pyc
0b42a6d
-
Colby Sollars
Add temperature daemon, Pi deploy assets, and temp_sim diagnostic tool.
Implements Redis-backed DS18B20 polling with probe teach-in, systemd install, and a manual simulator for testing Control without hardware.
Co-authored-by: Cursor <cursoragent@cursor.com>
projects/hot-tub/deploy/temp/hot-tub-temp.logrotate
projects/hot-tub/deploy/temp/hot-tub-temp.tmpfiles.conf
projects/hot-tub/deploy/temp/hot-tub-temps.service
projects/hot-tub/deploy/temp/install.sh
projects/hot-tub/src/temp/INSTALL.md
projects/hot-tub/src/temp/README.md
projects/hot-tub/src/temp/__init__.py
projects/hot-tub/src/temp/__main__.py
projects/hot-tub/src/temp/config.example.json
projects/hot-tub/src/temp/config.py
projects/hot-tub/src/temp/daemon.py
projects/hot-tub/src/temp/identity.py
projects/hot-tub/src/temp/logging_setup.py
projects/hot-tub/src/temp/reader.py
projects/hot-tub/src/temp/redis_out.py
projects/hot-tub/src/temp/tests/__init__.py
projects/hot-tub/src/temp/tests/__pycache__/__init__.cpython-314.pyc
projects/hot-tub/src/temp/tests/__pycache__/test_identity.cpython-314.pyc
projects/hot-tub/src/temp/tests/__pycache__/test_reader.cpython-314.pyc
projects/hot-tub/src/temp/tests/test_identity.py
projects/hot-tub/src/temp/tests/test_reader.py
projects/hot-tub/src/temp_sim/README.md
projects/hot-tub/src/temp_sim/__init__.py
projects/hot-tub/src/temp_sim/__main__.py
projects/hot-tub/src/temp_sim/__pycache__/__init__.cpython-314.pyc
projects/hot-tub/src/temp_sim/__pycache__/simulator.cpython-314.pyc
projects/hot-tub/src/temp_sim/simulator.py
fbb9244
-
Colby Sollars
Added more documentation and a few PoC scripts
projects/hot-tub/indoor-monitor.md
projects/hot-tub/pi-zero-control-panel.md
projects/hot-tub/software-architecture.md
projects/hot-tub/src/__pycache__/read_temps.cpython-314.pyc
projects/hot-tub/src/control/README.md
projects/hot-tub/src/control_poc.py
projects/hot-tub/src/read_temps.py
projects/hot-tub/src/temp/README.md
projects/hot-tub/temp-sensor/.gitignore
projects/hot-tub/temp-sensor/app.py
projects/hot-tub/temp-sensor/config.example.json
projects/hot-tub/temp-sensor/requirements.txt
d761477
-
Anonymous
Updated famous-quotes.md (markdown)
famous-quotes.md
ddeb3f9
-
Anonymous
Updated famous-quotes.md (markdown)
famous-quotes.md
3b7e890
-
Anonymous
Updated Home.md (markdown)
private/ctsollars-dev/Home.md
c4975e9