Add heatpump compressor cycle analysis web app

Static page that plots Home Assistant on/off history of the heatpump
compressor with pan/zoom, per-phase hover durations and statistics
(min/max/mean/median, total on-time, duty cycle) for the visible range.
English/German UI. Served by nginx in Docker with basic auth, CSP and
a healthcheck; Plotly is vendored locally.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-26 10:21:07 +02:00
co-authored by Claude Opus 5.5
commit 77a594c3af
12 changed files with 704 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
services:
heatpump:
image: nginx:1.29-alpine
restart: unless-stopped
ports:
- "${HEATPUMP_PORT:-8080}:80"
volumes:
- ./html:/usr/share/nginx/html:ro
- ${HEATPUMP_CSV:-./history.csv}:/data/history.csv:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
- ./nginx/security-headers.conf:/etc/nginx/security-headers.conf:ro
- ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro
healthcheck:
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1/healthz"]
interval: 30s
timeout: 5s
retries: 3