Add .env file support for UI client configuration

- Use python-dotenv to load environment variables
- Add CONTROL_SERVER_URI environment variable for WebSocket connection
- Create .env.example with configuration examples
- Update Pipfile to include python-dotenv dependency
- Allows easy configuration for running UI on desktop pointing to Pi
This commit is contained in:
Pi User
2025-10-03 20:08:36 +13:00
parent e4a83e8f0d
commit 0906cb22e6
3 changed files with 15 additions and 1 deletions

9
.env.example Normal file
View File

@@ -0,0 +1,9 @@
# Lighting Controller UI Client Configuration
# WebSocket URI for the control server
# For local development (running UI on same machine as control server):
CONTROL_SERVER_URI=ws://localhost:8765
# For remote connection (running UI on desktop, control server on Pi):
# Replace with your Raspberry Pi's IP address
# CONTROL_SERVER_URI=ws://10.1.1.117:8765

View File

@@ -13,6 +13,7 @@ python-rtmidi = "*"
pyaudio = "*" pyaudio = "*"
aubio = "*" aubio = "*"
websocket-client = "*" websocket-client = "*"
python-dotenv = "*"
[dev-packages] [dev-packages]

View File

@@ -15,10 +15,14 @@ import logging
from async_tkinter_loop import async_handler, async_mainloop from async_tkinter_loop import async_handler, async_mainloop
import websockets import websockets
import websocket import websocket
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
# Configuration # Configuration
CONFIG_FILE = "config.json" CONFIG_FILE = "config.json"
CONTROL_SERVER_URI = "ws://localhost:8765" CONTROL_SERVER_URI = os.getenv("CONTROL_SERVER_URI", "ws://localhost:8765")
# Dark theme colors # Dark theme colors
bg_color = "#2e2e2e" bg_color = "#2e2e2e"