···4455automatically adjusts lights based on sun position. provides entry points for external systems (geofencing, bedtime routines, etc.) to override behavior.
6677-## install
77+## deploy
8899```bash
1010-uv add solux
1010+# install uv
1111+curl -LsSf https://astral.sh/uv/install.sh | sh
1212+1313+# clone
1414+git clone https://tangled.org/zzstoatzz.io/solux
1515+cd solux
1616+1717+# set your hue bridge credentials
1818+export HUE_BRIDGE_IP=192.168.0.165
1919+export HUE_BRIDGE_USERNAME=your-username-here
2020+2121+# test it works
2222+uv run solux status
2323+2424+# connect to prefect cloud (one-time)
2525+uv run prefect cloud login
2626+2727+# deploy and start worker
2828+uv run prefect deploy --all
2929+uv run prefect worker start --pool default
1130```
12311313-requires `HUE_BRIDGE_IP` and `HUE_BRIDGE_USERNAME` environment variables.
3232+the worker pulls from git and runs every 15 minutes. to run as a service, use systemd or similar.
14331534## cli
16351736```bash
1837solux # run once - apply current circadian state
1919-solux run -d # run as daemon (updates every 15m)
2038solux status # show current mode and light state
2139solux schedule # show today's lighting phases
2240···8199- **golden_hour** → **sunset** → **dusk** → **evening** → **night**
8210083101the controller interpolates smoothly between phases.
102102+103103+## configuration
104104+105105+| env var | description |
106106+|---------|-------------|
107107+| `HUE_BRIDGE_IP` | ip address of your hue bridge |
108108+| `HUE_BRIDGE_USERNAME` | hue api username ([how to get one](https://developers.meethue.com/develop/get-started-2/)) |