This website requires JavaScript.
c61fc2d4ba
M6-T08: add energy_cost expose provider + post-billing state publish
tliu93
2026-06-23 22:44:41 +02:00
d35ac7d752
M6-T07: add metering billing engine + period job + summary + recompute
tliu93
2026-06-23 22:26:56 +02:00
ef48032adb
M6-T06: extend MqttManager with subscribe + DSMR ingest
tliu93
2026-06-23 21:52:57 +02:00
7e266a21eb
M6-T05: add Tibber GraphQL client + price refresh service + schedule
tliu93
2026-06-23 21:35:29 +02:00
4284bd40a7
M6-T04: add EnergyContract CRUD + versions + profile validation API
tliu93
2026-06-23 21:19:25 +02:00
bedea196c3
M6-T03: add pricing profile framework + strategy registry
tliu93
2026-06-23 20:58:34 +02:00
df54f5518b
M6-T02: add DSMR + Tibber flat config fields
tliu93
2026-06-23 20:43:46 +02:00
18fe18281b
M6-T01: add 5 energy tables, models, and migration
tliu93
2026-06-23 20:33:35 +02:00
355c8eb8b8
fix: add paho-mqtt and pymodbus to dev-requirements lock (CI install was missing M5 deps)
tliu93
2026-06-23 20:06:13 +02:00
1ffdaebbbd
M6: add Tibber API + NL energy pricing + DSMR reference doc
tliu93
2026-06-23 19:56:02 +02:00
c64693b8e5
M6: add design doc — generic pricing layer (manual/tibber) + DSMR cost engine
tliu93
2026-06-23 19:53:26 +02:00
c89d083942
M5: add read-only per-meter readings tabs to Records page; English-only UI strings
tliu93
2026-06-22 22:16:55 +02:00
6090b98ab0
M5: enable SQLite foreign_keys pragma for DB-level FK enforcement
tliu93
2026-06-22 20:45:47 +02:00
489cd7df3d
M5: default Modbus polling to off (opt-in) to avoid unnecessary DB writes
tliu93
2026-06-22 20:28:12 +02:00
35cdc7f22a
M5: use DB-merged runtime settings for MQTT/discovery; add MQTT test button; move Expose panel into config accordion
tliu93
2026-06-22 20:11:54 +02:00
75d685f04d
M5: roll Energy chart window for live auto-refresh (English label); render boolean config fields as switches
tliu93
2026-06-22 19:40:18 +02:00
935e68846c
M5: Energy view — per-metric decimal formatting and chart auto-refresh toggle
tliu93
2026-06-22 19:18:29 +02:00
4767a7af60
M5-T13: document Modbus/Energy/MQTT, mark M5 done, finalize OpenAPI
tliu93
2026-06-22 16:10:11 +02:00
45d87f36f7
M5-T12: add expose toggle API and Home Assistant Expose settings panel
tliu93
2026-06-22 15:50:49 +02:00
35b95f5c88
M5-T11: add HA discovery and state publishing wired to polling
tliu93
2026-06-22 15:32:43 +02:00
9d05f5ea62
M5-T10: add paho MQTT client with lifespan connect/reconnect and mqtt/test endpoint
tliu93
2026-06-22 15:06:30 +02:00
360cddc05b
M5-T09: add exposed_entities table and ExposableEntity provider framework
tliu93
2026-06-22 14:50:40 +02:00
14b846549e
M5-T08: add MQTT, HA Discovery, and Modbus polling config fields
tliu93
2026-06-22 14:27:21 +02:00
68165f0e01
M5-T07: add latest-reading cards and Recharts trend charts; readings return most-recent rows
tliu93
2026-06-22 14:17:59 +02:00
2dc469274a
M5-T06: add Energy device management UI and sidebar entry
tliu93
2026-06-22 13:52:33 +02:00
702a1cec00
M5-T05: add Modbus JSON API (device CRUD, readings, metrics, test)
tliu93
2026-06-22 13:37:48 +02:00
49d15d8ffe
M5-T04: add Modbus poll service and APScheduler polling job
tliu93
2026-06-22 13:24:11 +02:00
c89cea4953
M5-T03: add Modbus TCP driver, YAML profile framework, sdm120, modbus_cli
tliu93
2026-06-22 13:03:50 +02:00
d9c82e39fb
M5-T02: add modbus_device and modbus_reading tables and models
tliu93
2026-06-22 12:45:50 +02:00
eac7860b51
M5-T01B: render ConfigPage sections as Mantine Accordion
tliu93
2026-06-22 12:34:04 +02:00
da7d0f9d62
M5-T01: refactor AppLayout from top bar to sidebar navigation
tliu93
2026-06-22 12:26:52 +02:00
e49a6ad963
M5(design): generic modbus_device + JSON readings; YAML profiles; Accordion config; manual CLI/MQTT testing
tliu93
2026-06-22 11:55:39 +02:00
d70b985eb0
fix(ci): recompile dev-requirements.txt to include pyotp (pytest CI install)
tliu93
2026-06-22 11:08:06 +02:00
e3c47b2762
docs(CLAUDE): switch to direct-on-main workflow for this single-user repo
tliu93
2026-06-22 10:37:34 +02:00
dbf17f3592
docs(CLAUDE): pin default sub-agent models (Implementer/Fixer=Sonnet, Reviewer=Opus) with manual-override clause
tliu93
2026-06-22 09:50:46 +02:00
ae75e4582d
M4-T09: document login hardening, finalize OpenAPI and roadmap
tliu93
2026-06-21 23:01:50 +02:00
ee1264b66b
M4-T08: add two-step login and TOTP settings panel (qrcode.react)
tliu93
2026-06-21 22:42:41 +02:00
51da8c5716
M4-T07: add admin_cli disable-totp and reissue-totp escape commands
tliu93
2026-06-21 22:27:07 +02:00
81bd32f613
M4-T06: add TOTP second factor to login (totp_code + recovery codes)
tliu93
2026-06-21 22:08:55 +02:00
ee3031013e
M4-T05: add TOTP service and setup/enable/disable/status API
tliu93
2026-06-21 21:55:17 +02:00
5026967cee
M4-T04: add AuthUser TOTP columns and auth_recovery_code table
tliu93
2026-06-21 21:38:22 +02:00
5481fbc99c
M4-T03: add admin_cli escape hatch (reset-password, unlock, list-admin)
tliu93
2026-06-21 21:28:41 +02:00
e480a84a44
M4-T02: add exponential login back-off service and wire into login endpoint
tliu93
2026-06-21 21:20:28 +02:00
64d3882c16
M4-T01: add auth_login_throttle table + LoginThrottle model
tliu93
2026-06-21 21:03:20 +02:00
6b67b8e0f8
modify compose dev port
tliu93
2026-06-21 20:49:24 +02:00
0cb94d85ec
docs(design): plan M4 login-hardening (first) + M5 IoT/energy
tliu93
2026-06-21 20:46:12 +02:00
9da88db221
docs(roadmap): graduate next-phase work out of Future Ideas
tliu93
2026-06-13 17:38:50 +02:00
1a3aaea933
fix(docker): pin frontend-build to $BUILDPLATFORM to avoid QEMU V8 crash
v1.2.0
tliu93
2026-06-13 17:21:05 +02:00
bf7fd71a21
Merge pull request 'Feature/m2 frontend v2' (#8 ) from feature/m2-frontend-v2 into main
tliu93
2026-06-13 17:00:19 +02:00
962ba26c7c
docs(roadmap): add Future Ideas — TOTP 2FA for the public dashboard
feature/m2-frontend-v2
tliu93
2026-06-13 15:29:20 +02:00
da236643f2
M2: frontend walkthrough fixes + explicit dev compose stack
tliu93
2026-06-13 15:20:35 +02:00
bd09523e94
M2-T13: docs wrap-up + retire frontend constraints + dependency cleanup
tliu93
2026-06-13 12:01:34 +02:00
53f1245d83
docs(m2): mark M2-T12 done
tliu93
2026-06-13 11:53:32 +02:00
51f712f602
M2-T12: multi-stage Dockerfile (node build -> python runtime) + frontend CI
tliu93
2026-06-13 11:48:32 +02:00
f8b1e5fc71
docs(m2): mark M2-T11 done
tliu93
2026-06-13 11:42:13 +02:00
a9830c42d8
M2-T11: serve React SPA from FastAPI and remove Jinja pages
tliu93
2026-06-13 11:29:14 +02:00
8aa7316b26
docs(m2): mark M2-T09 done
tliu93
2026-06-13 11:19:20 +02:00
32d93bba2a
M2-T09: build data visualization UI (heatmap map as home page)
tliu93
2026-06-13 11:02:11 +02:00
0d988a9b28
docs(m2): mark M2-T10 done
tliu93
2026-06-13 10:48:18 +02:00
ef7ea6b971
M2-T10: build records management UI (paginated lists + single-record CRUD)
tliu93
2026-06-13 10:32:02 +02:00
6cc6382515
docs(m2): mark M2-T08 done
tliu93
2026-06-13 10:25:20 +02:00
ef2bd3c9c5
M2-T08: build config UI (replaces Jinja config page)
tliu93
2026-06-13 10:21:10 +02:00
cc2c02a2e2
docs(m2): mark M2-T07 done
tliu93
2026-06-13 10:15:00 +02:00
b2e26f0b17
M2-T07: build auth UI (login, session bootstrap, forced password change, logout)
tliu93
2026-06-13 10:04:14 +02:00
8975acc48b
docs(m2): mark M2-T06 done
tliu93
2026-06-13 09:57:07 +02:00
6cfeb2b865
M2-T06: scaffold React SPA frontend with typed OpenAPI client
tliu93
2026-06-13 09:52:56 +02:00
dba9e28540
docs(m2): mark M2-T05 done
tliu93
2026-06-12 23:48:58 +02:00
2bc5d6ea9a
M2-T05: add SMTP test action API (POST /api/config/smtp/test)
tliu93
2026-06-12 23:41:03 +02:00
3ec663e138
docs(m2): mark M2-T04 done
tliu93
2026-06-12 23:35:56 +02:00
048414c5cb
M2-T04: add single-row record CRUD API (patch/delete)
tliu93
2026-06-12 23:33:08 +02:00
9ce3f2a0b8
docs(m2): mark M2-T03 done
tliu93
2026-06-12 23:27:02 +02:00
0fba7cfe11
M2-T03: add read-only data JSON API
tliu93
2026-06-12 23:24:17 +02:00
d8303eaa3d
docs(m2): mark M2-T02 done
tliu93
2026-06-12 23:18:43 +02:00
8da1f13e60
M2-T02: add session/auth JSON API for the SPA
tliu93
2026-06-12 23:15:56 +02:00
de77019ce3
docs(m2): mark M2-T01 done
tliu93
2026-06-12 23:11:38 +02:00
c2b1b7b751
M2-T01: add config JSON API (GET/PUT /api/config)
tliu93
2026-06-12 23:08:14 +02:00
3628ac51e5
chore(m2): green the ruff baseline before M2 orchestration
tliu93
2026-06-12 22:56:21 +02:00
1756192270
docs: record future-ideas backlog and refine CLAUDE.md workflow rules
tliu93
2026-06-12 22:50:47 +02:00
66ec9979cc
docs(m2): lock M2 frontend design decisions
tliu93
2026-06-12 22:40:57 +02:00
c1a5d7a425
fix(docker): stop COPYing removed alembic_location/alembic_poo into the image
v1.1.0
tliu93
2026-06-12 20:48:34 +02:00
1e0b235cef
Merge pull request 'Feature/m1 db consolidation' (#7 ) from feature/m1-db-consolidation into main
tliu93
2026-06-12 20:33:34 +02:00
a337b06c94
M1-rework: rename leftover pk_cols param in reconciliation test stubs
feature/m1-db-consolidation
tliu93
2026-06-12 19:11:13 +02:00
1cbe6c46d2
M1-rework: harden legacy-migration reconciliation to full-row equality
tliu93
2026-06-12 19:05:56 +02:00
2f634006d2
M1-T07: align docs to single-DB reality and re-export OpenAPI
tliu93
2026-06-12 17:13:28 +02:00
dc624bb7e5
M1-T06: remove Grafana from compose and delete provisioning
tliu93
2026-06-12 17:02:49 +02:00
af8c602988
M1-T05: drop location/poo database config from Settings and tests
tliu93
2026-06-12 16:57:54 +02:00
0d898e09f2
M1-T04: converge startup chain onto the single app DB
tliu93
2026-06-12 16:50:05 +02:00
3d3c2bcc57
M1-T03: unify data layer, models, deps and routes onto single app DB
tliu93
2026-06-12 16:35:07 +02:00
bc8dd062d5
M1-T02: add idempotent legacy data migration script
tliu93
2026-06-12 16:13:55 +02:00
427a491380
M1-T01: add app-chain revision creating location + poo_records tables
tliu93
2026-06-12 16:02:46 +02:00
b359bbe3bf
docs: add next-phase roadmap, milestone design docs, and CLAUDE.md
tliu93
2026-06-12 15:37:17 +02:00
636bb2b80b
Merge pull request 'add get public and storage feature' (#6 ) from feature/public_ip into main
v1.0.3
tliu93
2026-04-29 13:16:58 +02:00
eda49489e0
update reademe and docs
tliu93
2026-04-29 13:07:59 +02:00
779e160b95
add ip change notification and refine sender display
tliu93
2026-04-29 13:03:12 +02:00
3ea3498e58
add smtp module and testing
tliu93
2026-04-29 12:11:10 +02:00
5a420bd37b
add get public and storage feature
tliu93
2026-04-29 11:45:49 +02:00
a24e402d47
add grafana provisioning
tliu93
2026-04-23 00:12:51 +02:00
8565534b73
Merge pull request 'fix ci test' (#5 ) from feature/add_separate_migration_container into main
v1.0.2
tliu93
2026-04-22 13:35:40 +02:00
4acdd2dc60
fix ci test
tliu93
2026-04-22 13:31:26 +02:00
c9af7530e5
Merge pull request 'change adoption to separate step' (#4 ) from feature/add_separate_migration_container into main
v1.0.1
tliu93
2026-04-22 13:28:30 +02:00