shrink root README into a landing page with a docs map and focused contributor guidance add TV_POWER_RUNBOOK as the canonical TV power rollout and canary runbook add CHANGELOG and move project history out of README-style docs refactor src README into a developer-focused guide (architecture, runtime files, MQTT, debugging) prune redundant older HDMI docs and keep a canonical HDMI_CEC_SETUP path update copilot instructions to a high-signal policy format with strict anti-shadow-README design rules align references across docs to current files, scripts, and TV power behavior
64 lines
3.2 KiB
Plaintext
64 lines
3.2 KiB
Plaintext
# Screenshot capture behavior
|
|
# Set to 1 to force captures even when no display is active (useful for testing)
|
|
# In production, prefer 0 so captures only occur when a presentation/video/webpage is running
|
|
SCREENSHOT_ALWAYS=0
|
|
# Infoscreen Client Configuration Template
|
|
# Copy this file to .env and adjust values for your setup
|
|
|
|
# Environment (set for small prod-like test)
|
|
# IMPORTANT: CEC TV control is automatically DISABLED when ENV=development
|
|
# to avoid constantly switching the TV on/off during testing.
|
|
# Set to 'production' to enable automatic CEC TV control.
|
|
ENV=development # development | production
|
|
DEBUG_MODE=0 # 1 to enable debug mode
|
|
LOG_LEVEL=INFO # DEBUG | INFO | WARNING | ERROR
|
|
|
|
# MQTT Broker Configuration
|
|
MQTT_BROKER=<your-mqtt-broker-host-or-ip> # Change to your MQTT server IP
|
|
MQTT_PORT=1883
|
|
|
|
# Timing Configuration (quieter intervals for productive test)
|
|
HEARTBEAT_INTERVAL=60 # Heartbeat frequency in seconds
|
|
SCREENSHOT_INTERVAL=180 # Screenshot transmission (simclient)
|
|
SCREENSHOT_CAPTURE_INTERVAL=180 # Screenshot capture (display_manager)
|
|
DISPLAY_CHECK_INTERVAL=15 # Display Manager event check frequency in seconds
|
|
|
|
# File/API Server (used to download presentation files)
|
|
# By default, the client rewrites incoming file URLs that point to 'server' to this host.
|
|
# If not set, FILE_SERVER_HOST defaults to the same host as MQTT_BROKER.
|
|
# You can also set FILE_SERVER_BASE_URL (e.g., http://192.168.1.10:8000) to override entirely.
|
|
FILE_SERVER_HOST= # optional: e.g., 192.168.43.100
|
|
FILE_SERVER_PORT=8000 # default port for API server
|
|
FILE_SERVER_SCHEME=http # http or https
|
|
# FILE_SERVER_BASE_URL= # optional: takes precedence over the above when set
|
|
|
|
# HDMI-CEC TV Control (optional)
|
|
# Automatically turn TV on/off based on event scheduling
|
|
# NOTE: CEC is automatically DISABLED when ENV=development to avoid constantly switching TV on/off during testing
|
|
CEC_ENABLED=true # Enable automatic TV power control in production (true/false)
|
|
CEC_DEVICE=0 # Target CEC device (TV, 0, etc.)
|
|
CEC_TURN_OFF_DELAY=30 # Seconds to wait before turning off TV after last event ends
|
|
CEC_POWER_ON_WAIT=5 # Seconds to wait after power ON command (for TV to boot up)
|
|
CEC_POWER_OFF_WAIT=5 # Seconds to wait after power OFF command (increased for slower TVs)
|
|
|
|
# TV Power Intent (MQTT-based coordinated power control, Phase 1)
|
|
# Controls how the display manager decides whether to use local CEC or server-issued intent.
|
|
# local — ignore MQTT intents; all power decisions are local (safe default for rollout)
|
|
# hybrid — prefer MQTT intent when present and valid; fall back to local CEC if not
|
|
# mqtt — MQTT intent is authoritative; local CEC only fires as last-resort guard
|
|
# See README.md "TV Power Intent — Rollout Runbook" before changing from 'local'.
|
|
POWER_CONTROL_MODE=local # local | hybrid | mqtt
|
|
|
|
# Optional: MQTT authentication (if your broker requires username/password)
|
|
#MQTT_USERNAME=
|
|
#MQTT_PASSWORD=
|
|
|
|
# Optional TLS settings (if using secure MQTT)
|
|
#MQTT_TLS_CA_CERT=
|
|
#MQTT_TLS_CERT=
|
|
#MQTT_TLS_KEY=
|
|
|
|
# Notes:
|
|
# - Keep actual secrets and host-specific values in a local .env file that is NOT committed.
|
|
# - This template is safe to check into version control.
|