This website requires JavaScript.
b405aea88b
docs: require frontend codegen alongside the OpenAPI export in the gates
main
v1.5.0
tliu93
2026-07-27 19:03:03 +02:00
bfc7aa3031
chore(frontend): regenerate API schema after sell_fee docstring change
tliu93
2026-07-27 18:29:54 +02:00
2f63b9630c
fix(prices): keep hover marker on the hovered slot past midnight
tliu93
2026-07-27 18:29:08 +02:00
d07a083e03
fix(tibber): deduct verkoopvergoeding (sell_fee) from feed-in sell price
v1.4.3
tliu93
2026-07-20 13:50:13 +02:00
b65f700d56
fix(tibber): fetch forward-looking today+tomorrow via priceInfo(QUARTER_HOURLY)
v1.4.2
tliu93
2026-07-18 20:20:33 +02:00
f4cea3874b
test(energy-cost): pin local_now in future-window summarize test
v1.4.1
tliu93
2026-07-17 18:49:26 +02:00
134f0abb5f
fix(tibber): fetch newest price slots via priceInfoRange last:192
tliu93
2026-07-17 18:49:26 +02:00
3e04b15656
feat(modbus): add DDSU666 profile and select read function code per profile
v1.4.0
tliu93
2026-06-29 18:20:35 +02:00
f2e8f6a8e7
docs(roadmap): queue Authentication next-steps — sliding session renewal + long-lived token targets (location/poo ingestion)
tliu93
2026-06-27 22:16:02 +02:00
90a03e7fd6
FUE-T09: grace-shift *_today daily reset past local midnight + dedicated 00:00:10 publish
v1.3.0
tliu93
2026-06-26 12:04:33 +02:00
d3fc90b320
FUE-T08: defer daily fixed-fee/heffingskorting settlement to local 01:05 in summarize()
tliu93
2026-06-26 11:44:34 +02:00
d4acfc438a
FUE-T07: use meter label directly as energy-cost HA device name (drop 'Energy Cost' prefix)
tliu93
2026-06-25 21:28:13 +02:00
c26160b10b
FUE-T06: trigger HA discovery republish after meter declare/update
tliu93
2026-06-25 20:54:42 +02:00
efbe36d7c0
FUE-T05: anchor energy-cost HA device identity to active meter (uuid id, label name, empty when none)
tliu93
2026-06-25 20:43:07 +02:00
f663981cdb
FUE-T04: add Meter.uuid (stable HA identity anchor) + backfill migration
tliu93
2026-06-25 20:20:01 +02:00
da05fd2f09
FUE-T03: correct meters POST docstring (no recomputed_periods field) and inaccurate test comments
tliu93
2026-06-25 18:33:19 +02:00
188168b16a
FUE-T02: fix EditMeterForm timestamp parsing to use shared parseBackendTimestamp (handles offset form)
tliu93
2026-06-25 18:17:24 +02:00
f1e7ce3133
FUE-T01: count billing window start day in full for fixed-fee/credit accrual (symmetric with end day)
tliu93
2026-06-25 17:57:55 +02:00
e3d0d17cac
M7-T07: finalize M7 docs (roadmap entry, design index, status done, meter-epochs module doc)
tliu93
2026-06-25 16:56:51 +02:00
33f5de0591
M7-T06: add meter management UI (timeline, declare swap, edit) to Energy view
tliu93
2026-06-25 16:45:11 +02:00
839faaf95b
M7-T05: add meter CRUD API + retroactive recompute + OpenAPI regen
tliu93
2026-06-25 16:29:09 +02:00
82bb329500
M7-T04: anchor cumulative cost entities to active meter start (per-meter reset)
tliu93
2026-06-25 15:59:36 +02:00
17057ed41e
M7-T03: make billing engine meter-aware (no cross-meter delta, delta sanity guard, period.meter_id)
tliu93
2026-06-25 15:38:21 +02:00
227b146c2c
M7-T02: add meter service layer (declare/swap/close/edit, meter_at, mutual exclusion)
tliu93
2026-06-25 15:02:19 +02:00
32a20785ee
M7-T01: add meter table + model + energy_cost_period.meter_id + backfill migration
tliu93
2026-06-25 14:48:39 +02:00
2544514f52
M7: add meter-epochs / meter-swap-archival milestone design doc
tliu93
2026-06-25 14:23:25 +02:00
96e85fb48e
FU11: anchor cumulative cost at recording start; add daily-reset cost entities; prefill add-version form
tliu93
2026-06-25 12:45:24 +02:00
b71009620a
compose add tz
tliu93
2026-06-25 11:48:45 +02:00
8b91146c29
FU10: localize energy time math to server tz; accrue fixed/credit per elapsed local day
tliu93
2026-06-25 11:13:30 +02:00
682e06d256
modbus: add explicit cascade delete (device + readings + toggles + HA cleanup)
tliu93
2026-06-24 17:27:52 +02:00
d7f0731d1c
ha_discovery: publish state/availability under home_automation prefix
tliu93
2026-06-24 16:21:15 +02:00
9bc46f8d2d
expose: buy/sell_price_now follow the live dual-tariff slot
tliu93
2026-06-24 15:39:21 +02:00
6f8cb05eab
expose: fold standing fee into import cost, tax credit into export revenue
tliu93
2026-06-24 14:26:32 +02:00
effe434637
frontend: show Energy/DSMR/meter times in local timezone, 24h
tliu93
2026-06-24 13:22:07 +02:00
9d3e28a529
Billing fix: don't bill periods from stale/out-of-range DSMR readings
tliu93
2026-06-24 12:44:05 +02:00
7e61b0a938
HA Discovery fix: energy-cost sensors are always-available
tliu93
2026-06-24 11:54:49 +02:00
e8521351d7
frontend: add DSMR data panel to Energy page
tliu93
2026-06-24 11:02:42 +02:00
8d4f496ff4
DSMR hardening: restart-free config + decouple from telegram id
tliu93
2026-06-24 11:02:32 +02:00
78f3cc4776
M6-T11: document M6 (energy pricing + DSMR + Tibber) across README/roadmap/arch
tliu93
2026-06-23 23:52:07 +02:00
96e88861d4
M6-T10: frontend contract management + price/cost views + Tibber test
tliu93
2026-06-23 23:32:39 +02:00
57f2459f60
M6-T09: add Energy data API (prices/costs/summary/dsmr-latest/recompute/tibber-test)
tliu93
2026-06-23 23:05:45 +02:00
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