1.5 KiB
1.5 KiB
Home Automation UI
FastAPI-based web interface with Jinja2 templates for the home automation system.
Features
- Jinja2 Templates: Dynamic HTML rendering
- Responsive Design: Modern, clean UI
- FastAPI Backend: Fast and reliable serving
Port Configuration
- Development Port: 8002
- Access URL: http://localhost:8002
Running the UI
Using uvicorn directly
poetry run uvicorn apps.ui.main:app --reload --port 8002
Using Python module
poetry run python -m apps.ui.main
Project Structure
apps/ui/
├── __init__.py
├── main.py # FastAPI application
├── templates/ # Jinja2 templates
│ └── index.html # Main page
└── README.md # This file
Templates
Templates are located in apps/ui/templates/ and use Jinja2 syntax.
Available Routes
GET /- Main UI page (rendersindex.html)
Development
The server runs with auto-reload enabled during development. Any changes to:
- Python files (
.py) - Template files (
.html)
will trigger an automatic restart.
Dependencies
- FastAPI: Web framework
- Jinja2: Template engine
- Uvicorn: ASGI server
Template Variables
Templates receive the following context variables:
request: FastAPI Request object (required by Jinja2Templates)
Future Enhancements
- Add static file serving (CSS, JS, images)
- Implement WebSocket support for real-time updates
- Add device control interface
- Integrate with API for capability discovery