Commit Graph
90 Commits
Author SHA1 Message Date
iterminate 0b893ffcbb Split dashboard into home page and battery list page 2026-06-19 21:43:10 -05:00
iterminate 1980453cab Add 110 tests; raise coverage from 85% to 99% 2026-06-12 08:32:58 -05:00
iterminate c0115aebf9 Gate sub-components section on eligible devices via can_have_subcomponents() 2026-06-12 08:32:53 -05:00
iterminate ff1a883170 Update README test count 2026-06-10 12:40:37 -05:00
iterminate 0223b820be Show parent prefix on assign page; confirm install and charge-all actions 2026-06-10 12:40:13 -05:00
iterminate 1309c2f5db Show sub-components as indented rows in device list 2026-06-10 12:40:13 -05:00
iterminate faeb8e8c04 Add tests for unretire, logbook, charge-log delete, CSV exports, sub-component edit 2026-06-10 12:36:58 -05:00
iterminate b192424978 Update CLAUDE.md models and HA sections for sub-component hierarchy 2026-06-10 12:35:18 -05:00
iterminate 6f0dfb0b7f Move shared CSS/JS from templates to static/style.css and static/app.js 2026-06-10 12:34:53 -05:00
iterminate 7ed7bb2bb0 Extract _filter_compatible helper for size-compatible battery queries 2026-06-10 12:32:03 -05:00
iterminate 17bad3f36b Validate battery percentage range on manual edit; clamp HA values to 0-100 2026-06-10 12:31:11 -05:00
iterminate a9835fee1e Block devices with sub-components from becoming sub-components via forged edit 2026-06-10 12:29:18 -05:00
iterminate 2a103f52a5 Update sub-component batteries from parent HA entity in poller and live sync 2026-06-10 12:28:27 -05:00
iterminate d41fe7f4ab Preserve sub-component hierarchy in export/import 2026-06-10 12:27:05 -05:00
iterminate d1fc80164f Reject protocol-relative URLs in next redirect validation 2026-06-10 11:45:45 -05:00
iterminate ab1340998e Charge all batteries across sub-components from parent device 2026-06-09 21:42:08 -05:00
iterminate 27ed4c9420 Redirect to device detail after create; sub-component install UI on parent detail 2026-06-09 21:18:22 -05:00
iterminate 23eeeafff7 Scope device uniqueness per parent, null type/location for sub-components, hide sub-components from list, flat battery summary for parent devices 2026-06-09 19:26:31 -05:00
iterminate 2a54cd8297 Enforce parent device hierarchy: slots/size unset, battery summary, sub-component toggle 2026-06-08 12:57:31 -05:00
iterminate 75fe4fe575 Add sub-component support via self-referential device hierarchy 2026-06-05 22:30:11 -05:00
iterminate 55ce963d79 Add device charge-all route, last-charged column, and CSRF fix for quick-assign 2026-06-05 20:08:19 -05:00
iterminate de986a9305 Add label range filter (two inputs) to dashboard 2026-05-02 03:45:45 -05:00
iterminate fa22e98060 Add page-size dropdown to pagination controls 2026-04-30 20:42:35 -05:00
iterminate 4ec7d22138 Add pagination, device detail unassign-all, and batch install with slot limit 2026-04-30 18:31:48 -05:00
iterminate 3b2029d3b8 Add logbook entries, data export page, and JSON import 2026-04-26 20:03:58 -05:00
iterminate 52d1105997 Make device.battery_size NOT NULL in schema and tests 2026-04-19 19:00:33 -05:00
iterminate 3e75bb3ab4 Add required battery_size to devices, filter install panels by size 2026-04-19 14:48:55 -05:00
iterminate aabe273172 Add location and fill-status filters to device list 2026-04-19 08:54:50 -05:00
iterminate b90ab7b2b6 Add location field to devices with dropdown selector 2026-04-18 15:36:01 -05:00
iterminate 66062faac6 Add size-in-label checkbox to battery add form 2026-04-18 11:12:37 -05:00
iterminate f64e14e713 Replace migrate_to_mariadb.py with sbin/setup_mariadb.py
Covers all 5 models/tables, prompts for credentials, snapshots SQLite,
and prints env/service config at the end.
2026-04-15 17:34:45 -05:00
iterminate 8721254476 Update README, MIGRATION.md, and CLAUDE.md for current feature set 2026-04-15 03:55:14 -05:00
iterminate 75d0e05f59 Move charge logging to bulk panel, remove per-row button 2026-04-15 03:42:11 -05:00
iterminate 4b534db605 Show checkmark and label on charge button 2026-04-15 03:39:55 -05:00
iterminate 73ee821cc1 Label charge button 'Charged' instead of checkmark 2026-04-15 03:39:18 -05:00
iterminate fa5891d073 Hide retired batteries by default, filter to show them 2026-04-14 20:09:56 -05:00
iterminate e4130bb329 Exclude retired batteries from dashboard warnings 2026-04-14 19:40:11 -05:00
iterminate 5d8fb5aa68 Make low battery summary card clickable to reveal which batteries 2026-04-14 19:05:38 -05:00
iterminate c7b7c24a7e Add needs-attention alerts, last charged, health %, quick charge, sortable columns 2026-04-14 18:49:07 -05:00
iterminate 8fb03e1fa3 Reduce HA live fetch timeout to 1s 2026-04-14 16:25:11 -05:00
iterminate 0d79972dae Enforce unique constraint on Battery.label 2026-04-14 16:03:45 -05:00
iterminate 270acc0430 Fix XSS, CSRF, input validation, and related security issues 2026-04-14 16:00:50 -05:00
iterminate e0f04ea971 Clarify BQ-CC65 measures capacity during refresh cycle only 2026-04-14 14:37:04 -05:00
iterminate ec731988e2 Add BQ-CC65 capacity-measurement tip to README 2026-04-14 14:36:16 -05:00
iterminate 86512e2c4f Update README with app icon and feature overview 2026-04-14 09:13:53 -05:00
iterminate cd3eb046d7 Collapse history sections to latest+modal; add charts and dashboard stats 2026-04-14 09:06:10 -05:00
iterminate 080768bf92 Improve icon-192.png resampling quality 2026-04-14 02:57:08 -05:00
iterminate e223a33c7b Regenerate PWA icons and favicon from updated source image 2026-04-14 02:45:45 -05:00
iterminate 3fc54cda87 Regenerate PWA icons and favicon from updated source image 2026-04-14 02:41:04 -05:00
iterminate 121e26c1a4 Update static/rawicon.png 2026-04-14 02:35:46 -05:00