mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-11-13 01:03:45 +01:00
feat(eosdash): add the profile page for battery and inverter profiles
The new Profiles page of EOSdash lists the user and packaged battery and inverter profiles and edits them as JSON: preview without saving, save, save as and delete, or revert a user profile to the packaged one. Saved profiles apply at once. One toolbar row holds the profile kind and profile selection, the Edit button, the Share link and the status of the last action. A compact grid summarizes the profile. A battery profile shows its charge and discharge limit maps as heat maps as EOS evaluates them (with the exact hard cutoffs) and its efficiency curves; an inverter profile its power at 45 degC, the DC→AC and AC→DC efficiency curves over the load fraction and the power derating over the ambient temperature with 45 degC marked. Both show the profile as highlighted JSON with a copy button. The sections are collapsible and keep their state across actions. The editor is shown only in edit mode: Edit in the toolbar opens it above the plots, Close in the editor or Close editor in the toolbar ends it. Edit mode is kept after preview, save and save as and across profile changes. Share opens a new issue with the battery or inverter profile issue form, filled in with the profile, so users can propose their profiles for packaging with EOS; each form asks for consent to publish the values under Apache-2.0. EOS sends nothing itself. Additional changes - Add a compact variant to ConfigSection and status messages in the theme colors, readable in dark mode, to the EOSdash components. - Use the muted theme color for explanatory texts. - Check profile names before saving. - Show the paste instruction for profiles too large for the share URL as text, not only as tooltip; name the selections for screen readers. - Keep the toolbar layout when the profiles cannot be listed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assisted-by: Claude Code (claude-opus-5-5)
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
faf37abfe7
commit
3bcc902104
@@ -0,0 +1,79 @@
|
||||
name: Battery profile
|
||||
description: Share a battery profile so that it can be packaged with EOS for other users.
|
||||
title: "[PROFILE]: ..."
|
||||
labels: [battery-profile]
|
||||
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
Thank you for sharing a battery profile. EOSdash fills this form for you:
|
||||
open **Profiles**, select the profile and press **Share**.
|
||||
The profile is reviewed before it is packaged with EOS. See the
|
||||
[battery profile documentation](https://akkudoktor-eos.readthedocs.io/en/latest/akkudoktoreos/resource.html)
|
||||
for the meaning of the values.
|
||||
|
||||
- type: input
|
||||
id: battery_model
|
||||
attributes:
|
||||
label: "Battery model"
|
||||
description: Manufacturer and model of the battery, as on the name plate.
|
||||
placeholder: "e.g. BYD Battery-Box Premium HVS 7.7"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: profile_name
|
||||
attributes:
|
||||
label: "Profile name"
|
||||
description: >
|
||||
Suggested name of the packaged profile: letters, digits, '.', '_' and '-',
|
||||
starting with a letter or digit.
|
||||
placeholder: "e.g. byd-hvs-7.7"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: data_source
|
||||
attributes:
|
||||
label: "Source of the values"
|
||||
description: Where do the limits and efficiencies of the profile come from?
|
||||
options:
|
||||
- Manufacturer datasheet
|
||||
- Own measurements
|
||||
- Datasheet and own measurements
|
||||
- Estimated
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: profile
|
||||
attributes:
|
||||
label: "Profile document"
|
||||
description: >
|
||||
The profile as JSON. If the field is empty, copy the JSON from the profile
|
||||
page of EOSdash and paste it here.
|
||||
render: json
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: notes
|
||||
attributes:
|
||||
label: "Notes"
|
||||
description: >
|
||||
Anything reviewers should know, e.g. links to the datasheet, how you
|
||||
measured, or values you are unsure about.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: consent
|
||||
attributes:
|
||||
label: "Publication"
|
||||
options:
|
||||
- label: >
|
||||
I may share these values, and they may be published with EOS under its
|
||||
license (Apache-2.0).
|
||||
required: true
|
||||
@@ -0,0 +1,80 @@
|
||||
name: Inverter profile
|
||||
description: Share an inverter profile so that it can be packaged with EOS for other users.
|
||||
title: "[PROFILE]: ..."
|
||||
labels: [inverter-profile]
|
||||
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
Thank you for sharing an inverter profile. EOSdash fills this form for you:
|
||||
open **Profiles**, choose the inverter profiles, select the profile and press
|
||||
**Share**.
|
||||
The profile is reviewed before it is packaged with EOS. See the
|
||||
[inverter profile documentation](https://akkudoktor-eos.readthedocs.io/en/latest/akkudoktoreos/resource.html)
|
||||
for the meaning of the values.
|
||||
|
||||
- type: input
|
||||
id: inverter_model
|
||||
attributes:
|
||||
label: "Inverter model"
|
||||
description: Manufacturer and model of the inverter, as on the name plate.
|
||||
placeholder: "e.g. Fronius Symo GEN24 10.0 Plus"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: profile_name
|
||||
attributes:
|
||||
label: "Profile name"
|
||||
description: >
|
||||
Suggested name of the packaged profile: letters, digits, '.', '_' and '-',
|
||||
starting with a letter or digit.
|
||||
placeholder: "e.g. fronius-gen24-10"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: data_source
|
||||
attributes:
|
||||
label: "Source of the values"
|
||||
description: Where do the efficiencies and the power derating of the profile come from?
|
||||
options:
|
||||
- Manufacturer datasheet
|
||||
- Own measurements
|
||||
- Datasheet and own measurements
|
||||
- Estimated
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: profile
|
||||
attributes:
|
||||
label: "Profile document"
|
||||
description: >
|
||||
The profile as JSON. If the field is empty, copy the JSON from the profile
|
||||
page of EOSdash and paste it here.
|
||||
render: json
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: notes
|
||||
attributes:
|
||||
label: "Notes"
|
||||
description: >
|
||||
Anything reviewers should know, e.g. links to the datasheet, how you
|
||||
measured, or values you are unsure about.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: consent
|
||||
attributes:
|
||||
label: "Publication"
|
||||
options:
|
||||
- label: >
|
||||
I may share these values, and they may be published with EOS under its
|
||||
license (Apache-2.0).
|
||||
required: true
|
||||
Reference in New Issue
Block a user