-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.yaml
More file actions
77 lines (64 loc) · 3.1 KB
/
config.example.yaml
File metadata and controls
77 lines (64 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
hue:
bridge: "192.168.10.12"
token: "${HUE_TOKEN:replace-me}"
timeout: "30s" # HTTP timeout for Hue API requests
database:
path: "./hueplanner.sqlite"
log:
level: "${LOG_LEVEL:info}"
use_json: false # Use JSON log format (default: false)
colors: ${LOG_COLORS:true} # Colorize text output (ignored when use_json is true)
reconciler:
enabled: true # Enable/disable reconciler (default: true)
periodic_interval: 0 # Periodic reconciliation interval (0 = disabled, default)
debounce_ms: 0 # Delay before reconciliation in ms (0 = immediate)
rate_limit_rps: 10.0 # Hue API rate limit (requests per second)
ledger:
enabled: true # Enable/disable ledger (default: true)
retention_period: "72h" # How long to retain ledger entries (default: 30 days)
retention_interval: "24h" # How often to run cleanup (default: 24h)
healthcheck:
enabled: true
host: "0.0.0.0"
port: 9090
eventbus:
workers: 4 # Number of worker goroutines for event processing
queue_size: 100 # Event queue size (events dropped if full)
kv:
cleanup_interval: "5m" # Interval for cleaning expired KV entries
shutdown_timeout: "5s" # Timeout for graceful shutdown of all services
events:
webhook:
enabled: true
host: "0.0.0.0"
port: 8081
sse:
enabled: true # Enable/disable Hue SSE event stream
min_retry_backoff: "1s" # Minimum backoff between reconnects
max_retry_backoff: "2m" # Maximum backoff between reconnects
retry_multiplier: 2.0 # Backoff multiplier
max_reconnects: 0 # Max reconnect attempts, 0 = infinite
scheduler:
enabled: true # Enable/disable scheduling
timezone: "Europe/Amsterdam" # Timezone for all schedule times (required)
geo:
enabled: true # Enable/disable geocoding for astronomical times
use_cache: true # Use cached location coordinates
location: "Amsterdam" # City name for geocoding (uses Nominatim API)
http_timeout: "10s" # Timeout for geocoding HTTP requests
# lat: 52.3676 # Pre-configured coordinates (avoids Nominatim calls)
# lon: 4.9041 # If not set, will geocode 'location' at startup
# =============================================================================
# CLIENTS
# External service clients available to Lua scripts
# =============================================================================
clients:
http:
enabled: true # Enable HTTP client module
timeout: "30s" # Default request timeout
allow_domains: "" # Comma-separated whitelist, e.g. "*.home-assistant.io,homeassistant.local"
# Supports wildcards: *.example.com matches any subdomain
# Empty = all domains allowed
insecure_skip_verify: false # Skip TLS certificate verification
max_response_size: 1048576 # Max response body size in bytes (1MB)
script: "main.lua"