Commit Graph

98 Commits

Author SHA1 Message Date
Yinyin Liu bf47a82b25 ticket dashboard beta version 2026-03-16 12:07:18 +01:00
Yinyin Liu 88173303d9 added ticket dashboard frontend: Detail & AI 2026-03-16 10:13:25 +01:00
Yinyin Liu 50bc85ff2a unified daily report data from S3 and then db and fallback to xlsx and the container size is consistent among 4 tubs 2026-03-12 14:39:24 +01:00
Yinyin Liu 1306ae6b9f digested hourly and daily data from S3 for Sinexcel 2026-03-11 11:43:55 +01:00
Yinyin Liu a1911325ad added installation name in monthly and yearly email service 2026-03-10 13:11:20 +01:00
Yinyin Liu 6cf14e3483 daily tab design with hourly data and last week quick entry with self-efficiency on top 2026-03-10 12:32:01 +01:00
Yinyin Liu f7ee347fc5 cahched weekly report 2026-03-10 10:50:17 +01:00
Yinyin Liu 8cd602c5cd added weather API to generate predition for weekly report 2026-03-09 16:24:29 +01:00
Yinyin Liu 98abd68366 Added network provider in Information tab 2026-03-09 13:43:11 +01:00
Yinyin Liu 9cee5398d4 added ticket dashboard backend: data models, CRUD, AI diagnosis service, and 9 controller endpoints
Week 1 of ticket dashboard MVP — backend only:
- 4 new SQLite tables: Ticket, TicketComment, TicketAiDiagnosis, TicketTimelineEvent
- CRUD methods in Database/ partial classes with cascade delete
- TicketDiagnosticService for async Mistral AI diagnosis (fire-and-forget)
- 9 admin-only Controller endpoints for ticket CRUD, comments, and detail view
- Ticket cleanup integrated into Delete(Installation) cascade
2026-03-05 14:03:34 +01:00
Yinyin Liu 4ac1bc78ab automatically delete S3 files which are over 1 year 2026-03-04 14:04:13 +01:00
Yinyin Liu 7aacddd761 Added SodistoreGrid as an empty templated and built S3 bucket creation pipeline 2026-03-04 10:59:08 +01:00
Yinyin Liu 1761914f24 restructured data pipeline for report system and updated the way to create monthly and yearly report 2026-03-02 12:49:46 +01:00
Yinyin Liu 78b9c2dc72 generate monthly and yearly report based on xlsx files 2026-02-27 11:48:05 +01:00
Yinyin Liu 7476c939c3 fixed issue failed to revoke grant access of the user 2026-02-27 09:04:54 +01:00
Yinyin Liu 062fd5141f added pause and resume alarm diagnosis review campaign service 2026-02-26 08:25:15 +01:00
Yinyin Liu e72f16f26b improve alarm diagnosis review service 2026-02-25 20:08:40 +01:00
Yinyin Liu 2f8eda5e7e build easy form to collect sodistore home alarm diagnosis review 2026-02-25 06:48:23 +01:00
Yinyin Liu 3bffe70a75 translated all Sinexcel and Growatt Alarm now it also shows in the frontend of UI 2026-02-23 17:59:03 +01:00
Yinyin Liu 8e50220242 added language support for monitor AI and non-AI content and email delivery 2026-02-18 12:12:58 +01:00
Yinyin Liu 77f6e0de6c AI-P1: Weekly Performance Report 1.0 2026-02-18 07:36:00 +01:00
Yinyin Liu c076d55407 AI diagnosis UX improvements: status-aware, time-filtered, simpler explanations
- Only show AI diagnosis when installation status is red/orange (not green/offline)
- Filter alarms to last 24 hours to avoid showing outdated issues
- Show alarm name first with "Last seen" timestamp instead of "AI Diagnosis" label
- Update Mistral prompt for shorter, non-technical bullet-point explanations
- Fix Mistral JSON parsing when response wrapped in markdown code fences
- Add TestDiagnoseError endpoint for testing full AI flow without auth

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 12:16:35 +01:00
Yinyin Liu 6460328eb0 Safe mode for AI diagnostics, align alarm keys with device enums, and multi-diagnosis frontend
- Remove API key gate so knowledge base works without Mistral key
- Return 204 No Content instead of 500 when no diagnosis available
- Rewrite AlarmKnowledgeBase keys to match Sinexcel property names and Growatt enum names
- Fix SQLite OrderBy crash in DiagnosticService
- Frontend: show latest 3 unique alarms with independent expand/collapse and handle 204

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 11:32:49 +01:00
Yinyin Liu 2da2ded84c Merge branch 'main' into integrated_AI 2026-02-12 07:45:22 +01:00
Yinyin Liu 68f4006f55 Switch AI diagnostics from OpenAI to Mistral and use .env for API key
- Changed API endpoint to api.mistral.ai, model to mistral-small-latest
- Replaced openAiConfig.json with .env file for secure API key storage
- Added .env loader in Program.cs, added .env to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 07:45:16 +01:00
Yinyin Liu 1b6d5a5916 added Overview Page without last week button for SodistoreHome 2026-02-11 13:30:34 +01:00
Yinyin Liu e7f8aacc34 Integrate AI on Alarm 2026-02-06 12:57:12 +01:00
Yinyin Liu 617ab2f782 fixed the bug of Sodistore Home Product not show on side bar and added related backend logs and more accurate frontend error messages 2026-02-03 13:52:20 +01:00
Yinyin Liu bcaac92e34 Fixed Monitor Mailer Issue and added debug logs 2026-02-02 10:20:33 +01:00
Yinyin Liu 4b35fca8f2 fixed Configuration timestamp issue when added to History of Action 2025-11-19 11:22:44 +01:00
Yinyin Liu e4674b41e5 added product_based configuration in the backend of the monitor 2025-10-20 16:32:47 +02:00
Noe 3795287124 Fixed bug in status update in Backend, update controller to support remote configuration for SodistoreHome installations 2025-09-25 15:07:28 +02:00
Noe 076dcda4a2 Update backend to support SodioHome installations, update backend controller to support new user access management features 2025-09-01 13:05:39 +02:00
Noe cf9c96377f Update SodistoreMax code.
Fixed the product to value 3 when sending heartbits.
Deleted prints during aggregation
Updated backend code to support SodistoreMax
2025-04-29 15:08:06 +02:00
Noe d6267952e9 Frontend supports json for salidomo 2025-02-21 15:25:40 +01:00
Noe ac54fc6e2e frontend ready to implement topology view for sodiohome 2025-01-23 14:33:21 +01:00
Noe 25310a4250 frontend ready to implement index.tsx for Sodiohome 2025-01-21 09:24:35 +01:00
Noe 7045648622 updated frontend-backend 2025-01-14 13:56:12 +01:00
Noe f03325a6a2 Update logos in frontend
Fixed delete installation method (delete read/write keys, read/write roles, buckets)
Fixed bug in not-connected installation in frontend
2024-11-28 14:43:47 +01:00
Noe 29a0071881 Updated dbus-fzsonic script for Cerbo and Venus
Fixed main stats in front end
2024-08-16 09:40:19 +02:00
Noe 7db44785be Inserted folder view in backend-frontend
Clients can have access to both products
Apply 20min chunk logic for Salidomo installations
2024-08-12 09:48:16 +02:00
Noe a47314bdf5 Fixed bug when deleting an installation
Set date button works using s3cmd
2024-08-05 16:31:57 +02:00
Noe cce3a6f9bd Enabled set date button in front end
Use s3cmd in backend to search the corresponding timestamps
2024-08-02 16:15:12 +02:00
Noe 95798ba904 History of actions testing mode is enabled in the backend.
All the other connections are updated through the websocket manager
Fixed bug with status value in the front-end
2024-07-23 14:52:10 +02:00
Noe 44f9fb7f7d Fixed bug in database backup.
Updated view with icons in history actions
Increased performance when deleting an action
2024-07-18 11:38:15 +02:00
Yinyin Liu ce50b7ef3e test: edit user action backend 2024-07-18 09:37:40 +02:00
Yinyin Liu 40ba5c7bba backend for download battery log button 2024-07-11 13:56:13 +02:00
Yinyin Liu 7f5ea79d16 add backend codes for upload bms firmware 2024-06-27 12:01:01 +02:00
Noe abe69193e2 Updated backend to provide support for the overview tab
Updated frontend to parse chunks
2024-06-26 17:05:27 +02:00
Noe 48de0805b9 Add history button 2024-06-18 16:19:40 +02:00