Loadpoint UI: improve heatpump status#29667
Conversation
There was a problem hiding this comment.
Hey - I've found 1 issue, and left some high level feedback:
- The unit tests now depend on concrete English copy via en.json, which may make them brittle to purely textual changes; consider asserting against translation keys or a dedicated test locale map instead of production strings.
- In translateStatus, the three status namespaces share the same interpolation pattern; you could factor out the repeated
main.*Statusconcatenation into a small helper to avoid duplication and make future status-type additions simpler.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The unit tests now depend on concrete English copy via en.json, which may make them brittle to purely textual changes; consider asserting against translation keys or a dedicated test locale map instead of production strings.
- In translateStatus, the three status namespaces share the same interpolation pattern; you could factor out the repeated `main.*Status` concatenation into a small helper to avoid duplication and make future status-type additions simpler.
## Individual Comments
### Comment 1
<location path="assets/js/components/Loadpoints/Loadpoint.stories.ts" line_range="70-72" />
<code_context>
vehicleClimaterActive: false,
vehicleDetectionActive: false,
vehicleWelcomeActive: false,
+ chargerFeatureContinuous: false,
chargerFeatureHeating: false,
chargerFeatureIntegratedDevice: false,
chargerIcon: "",
</code_context>
<issue_to_address>
**suggestion (bug_risk):** Add a default for the new `chargerFeatureSwitchDevice` flag in the story state for consistency.
Since `Loadpoint` now includes `chargerFeatureSwitchDevice: boolean`, this should also be initialized here (e.g. `chargerFeatureSwitchDevice: false`) alongside the other feature flags to avoid `undefined` at runtime and keep the initial state consistent. Please also update any other initial state objects that construct a `Loadpoint`.
Suggested implementation:
```typescript
vehicleClimaterActive: false,
vehicleDetectionActive: false,
vehicleWelcomeActive: false,
chargerFeatureContinuous: false,
chargerFeatureHeating: false,
chargerFeatureIntegratedDevice: false,
chargerFeatureSwitchDevice: false,
chargerIcon: "",
```
Search the codebase for other initial `Loadpoint` objects (e.g. other stories, test fixtures, or default state factories) and add `chargerFeatureSwitchDevice: false` alongside `chargerFeatureContinuous`, `chargerFeatureHeating`, and `chargerFeatureIntegratedDevice` in each of them to keep the initial state shape consistent and avoid `undefined` at runtime.
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
@naltatis Nach update auf 0.306.3 steht bei mir bei der Wärmepumpe immer noch StandBy. Die Wärmepumpe ist allerdings in normalem Heizbetrieb (siehe Verbrauch). Sollte da nicht "Normal Operation" stehen?
|
|
@LeonSol Ja sollte es. Hat deine Implementierung denn das |
|
@naltatis Habe meinen alten Post gelöscht und einfach in der yaml unter "features" den Unterpunkt "continuous" eingetragen. Damit funktioniert es. Gibt man allerdings auf der Seite von EVCC unter Dokumentation->Suche "Continuous" ein, wird kein Verweis angezeigt. Ist das nicht dokumentiert? |
|
Nutzt du template oder custom? |
|
Nunmehr diesen charger: |
|
Check. Ohne template musst du die Features pflegen. woher soll evcc standby kennen? |
|
Durch eine Eingabe (siehe yaml-Eintrag) wie zum Beispiel bei "boost:" - standbypower : 40. Alles kleiner 40 Watt = StandBy. |
|
Das ist der Punkt. Heute gar nicht. |
This comment was marked as off-topic.
This comment was marked as off-topic.
Das ist genau das richtige "neue" Verhalten. Bei Aus (oder kein Überschuss, ...) überlassen wir der Wärmepumpe sich selbst. Aus Sicht von evcc ist sie im "Normalbetrieb". Was die dann intern noch macht ist für unseren Status erst einmal irrelevant. |
Doch, hierfür ist nur der Energy bzw. Power Wert des Ladepunkts relevant. Heißt wir schreiben hier alles mit.
"Ladedauer" werden wir noch einmal umbauen und Aktivität getrennt tracken. Aktuell basiert das noch auf Ladevorgängen, die nächtlich resettet werden. Das wird sich noch ändern. War nicht teil dieses PRs. Hier ging's nur um den Statustext. |
This comment was marked as outdated.
This comment was marked as outdated.
|
@naltatis Aber ist es keine gute Idee, standbypower als allgemeinen Parameter zu nutzen, um auch wirklich "StandBy" statt "Normalbetrieb" anzuzeigen? |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
@LeonSol Ich verstehe noch nicht genau, was du damit meinst. Wenn evcc kein Boost Signal gibt (off, pv+kein Überschuss, ...) macht die Wärmepumpe ihr eigenes Ding. Vor diesem PR haben wir in diesem Fall immer "Standby" angezeigt. Das ist bei Heizstäben auch korrekt gewesen, da die idR. kein Eigenleben haben, sondern direkt von uns gesteuert werden. Bei Wärmepumpen gab es immer wieder Anfragen warum wir denn da "Standby" anzeigen obwohl die Wärmepumpe doch offensichtlich arbeitet (ohne Boost). Daher sind wir jetzt hier auf den allgemeineren Begriff "Normalbetrieb" für Wärmepumpen ( |
|
Fürs Protokoll: evcc kannte und kennt heute keinen "standby" Modus. Weitere Diskussion dazu außerhalb dieses PRs. |


adresses #19753
builds upon #28025
✅ heat pumps now show "Normal operation." when running on their own logic (instead of misleading "Standby.")
🔥 heat pump
enabled=trueis labeled "Boost active.", pending boost (charging=false) shows "Boost requested…"🌡️ heating devices use "Heating…" / "Ready to heat…" / "Heater limit" consistently
🚗 vehicle charging status texts are unchanged