Yinyin Liu
3fbb2eeee0
add notificiation system to ticket dashboard
2026-04-15 16:15:03 +02:00
Yinyin Liu
5d6c9a886c
allow to upload pictures and pdf in ticket and specific tab
2026-04-08 15:58:57 +02:00
Yinyin Liu
706e0674fb
a lot of fixes to report system
2026-03-30 14:36:50 +02:00
Yinyin Liu
b0bcf06d4e
allow more flexible email frequency
2026-03-28 17:19:22 +01:00
Yinyin Liu
3521da7a1d
add sodistore pro as a new product
2026-03-26 08:05:49 +01:00
Yinyin Liu
d59027a277
email the assignee when a ticket is assigend
2026-03-24 15:47:30 +01:00
Yinyin Liu
baaabbecd0
add AI and cookies usage acknowledgement
2026-03-24 12:35:50 +01:00
Yinyin Liu
33fc7fff01
unify report email and pdf download and add inesco logo
2026-03-19 12:22:48 +01:00
Yinyin Liu
876a82bf82
allow create ticket for instalation not on monitor and link installation live page from ticket and allow type Other to create new category
2026-03-18 15:45:09 +01:00
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