Commit Graph

  • 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