Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental config shows deprecated fields, hides advanced #15000

Closed
andig opened this issue Jul 23, 2024 · 10 comments · Fixed by #15038 or evcc-io/docs#592
Closed

Experimental config shows deprecated fields, hides advanced #15000

andig opened this issue Jul 23, 2024 · 10 comments · Fixed by #15038 or evcc-io/docs#592
Assignees
Labels
bug Something isn't working experimental Experimental feature ux User experience/ interface

Comments

@andig
Copy link
Member

andig commented Jul 23, 2024

@naltatis das kommt vom vehicle api:

{
    "result": {
        "Template": "tesla",
        "Covers": [
            "tesla-command",
            "tesla-proxy"
        ],
        "Products": [
            {
                "Brand": "Tesla",
                "Description": ""
            }
        ],
        "Params": [
            {
                "Name": "title",
                "Description": "Title",
                "Help": "Will be displayed in the user interface",
                "Type": "String"
            },
            {
                "Name": "icon",
                "Description": "Icon",
                "Help": "Icon as shown in user interface",
                "Advanced": true,
                "Default": "car",
                "Type": "Choice",
                "ValidValues": [
                    "car",
                    "bike",
                    "bus",
                    "moped",
                    "motorcycle",
                    "scooter",
                    "tractor",
                    "shuttle",
                    "van",
                    "heater",
                    "heatpump",
                    "waterheater",
                    "laundry",
                    "dishwasher",
                    "airpurifier",
                    "climate",
                    "cooler",
                    "generic",
                    "device",
                    "meter",
                    "compute",
                    "tool"
                ]
            },
            {
                "Name": "accessToken",
                "Description": "",
                "Help": "",
                "Required": true,
                "Mask": true,
                "Type": "String"
            },
            {
                "Name": "refreshToken",
                "Description": "",
                "Help": "",
                "Required": true,
                "Mask": true,
                "Type": "String"
            },
            {
                "Name": "vin",
                "Description": "Vehicle Identification Number",
                "Help": "Required if you own multiple vehicles of the same brand",
                "Example": "W...",
                "Type": "String"
            },
            {
                "Name": "capacity",
                "Description": "Battery capacity in kWh",
                "Help": "Battery capacity in kWh",
                "Example": "50",
                "Usages": [
                    "vehicle",
                    "battery"
                ],
                "Type": "Float"
            },
            {
                "Name": "phases",
                "Description": "Maximum number of phases",
                "Help": "The maximum number of phases which can be used",
                "Advanced": true,
                "Example": "3",
                "Type": "Number"
            },
            {
                "Name": "control",
                "Description": "",
                "Help": "",
                "Deprecated": true,
                "Type": "String"
            },
            {
                "Name": "commandProxy",
                "Description": "",
                "Help": "When using a TWC3 (or other 'dumb' charger not capable of control), evcc can manage the charge directly by communicating with the vehicle through a Command Proxy. By default, the proxy provided by evcc is used. With this parameter, you set the base URL of a custom Command Proxy to use instead of the default evcc one. See for example https://github.com/wimaha/TeslaBleHttpProxy for a proxy sending commands via bluetooth.",
                "Advanced": true,
                "Default": "https://tesla.evcc.io/",
                "Type": "String"
            },
            {
                "Name": "mode",
                "Description": "Default charging mode when a vehicle is connected",
                "Help": "Possible values are Off, Now, MinPV and PV, or empty if none should be set",
                "Advanced": true,
                "Type": "ChargeModes"
            },
            {
                "Name": "minCurrent",
                "Description": "Minimum amperage (A)",
                "Help": "The minimum amperage per connected phase with which the car should be charged",
                "Advanced": true,
                "Example": "6",
                "Type": "Number"
            },
            {
                "Name": "maxCurrent",
                "Description": "Maximum amperage (A)",
                "Help": "The maximum amperage per connected phase with which the car shuold be charged",
                "Advanced": true,
                "Example": "16",
                "Type": "Number"
            },
            {
                "Name": "identifiers",
                "Description": "Identification",
                "Help": "Mostly this can be added later, see: https://docs.evcc.io/en/docs/features/vehicle",
                "Advanced": true,
                "Type": "StringList"
            },
            {
                "Name": "priority",
                "Description": "Priority",
                "Help": "Priority of the loadpoint or vehicle in relation to other loadpoints or vehicles for allocating pv energy",
                "Advanced": true,
                "Type": "Number"
            }
        ]
    }
}

Fehler ist hier

  • "Deprecated": true, wird angezeigt
  • "Advanced": true, wird nicht angezeigt

Damit ist es nicht möglich, Tesla über das UI zu konfigurieren.

@Neophyte85 du kannst das aber über die yaml machen.

Originally posted by @andig in #14951 (comment)

@andig andig added bug Something isn't working experimental Experimental feature labels Jul 23, 2024
@andig andig added the ux User experience/ interface label Jul 23, 2024
@naltatis
Copy link
Member

Problem bei dem Advanced Konzept ist, dass das bei Fahrzeugen für Standardfelder wie current, phases, icon, ... verwendet wurde und nicht wirklich Geräte-spezifische erweiterte Einstellungen sind. Siehe auch #13752.

Was wir ohnehin machen müssen, ist diese Fahrzeug-Standardwerte (current, phases, ...) in der UI anbieten. Bei Icon habe ich das bereits manuell gemacht. Die verbleibenden Werte sollten wir auch, logisch gruppiert, in der Fahrzeug Config-UI anbieten. Wenn das gemacht ist, gibts auch keinen Grund mehr, die Advanced Felder herauszufiltern.

@andig
Copy link
Member Author

andig commented Jul 24, 2024

Hier braucht es eine kurzfristige Lösung. Was schlägst du vor?

@naltatis
Copy link
Member

Eine kurzfristige Lösung für das experimentelle Config UI?

@naltatis
Copy link
Member

Ich schlage vor die oben beschriebene Änderung (Fahrzeug Standardwerte sinnvoll in Dialog aufnehmen) im Rahmen der Config UI Entwicklung umzusetzen. Müssen wir ohnehin tun. Danach löst sich das Problem mit den Advanced Feldern.

@andig
Copy link
Member Author

andig commented Jul 24, 2024

Eine kurzfristige Lösung für das experimentelle Config UI?

Siehe verlinktes Issue. Es ist ein Problem das User offensichtlich vor große Hürden stellt. Aber das können wir natürlich auch anders bewerten.

Danach löst sich das Problem mit den Advanced Feldern.

Wir sind immer sehr stolz darauf, Komplexität zu verstecken. Advanced Felder betreffen Optionen, die sehr selten oder nur bei einem Bruchteil der Anwender relevant sind. Ob die Zuordnung immer korrekt ist kann man im Einzelfall diskutieren. Was wir nicht tun sollten, ist aber alle Advanced Felder unreflektiert in die Konfiguration aufzunehmen- die damit noch schwieriger werden würde.

Für den konkreten Einzelfall aus dem verlinkten Issue heisst das zu entscheiden:

a) Einzelfall lösen (und hier zu schließen) oder
b) grundsätzliche Lösung für advanced zu finden.

Wie sollen wir vorgehen?

@Neophyte85

This comment was marked as resolved.

@naltatis
Copy link
Member

naltatis commented Jul 24, 2024

Was wir nicht tun sollten, ist aber alle Advanced Felder unreflektiert in die Konfiguration aufzunehmen- die damit noch schwieriger werden würde.

@andig Ja, sehe ich genau so. Das ist auch der Grund, warum min/maxCurrent noch nicht im Config UI sind. Aber sie müssen da ja früher oder später ohnehin rein. Ich würd dieses Issue jetzt nutzen, um mir Gedanken zu machen, wie wir diese Einstellungsmöglichkeiten im Config UI des Fahrzeuges untergebracht bekommen, ohne sie jedem Erstnutzer gleich unter die Nase zu halten. Also Weg 2.

@andig
Copy link
Member Author

andig commented Jul 24, 2024

@Neophyte85 Config UI ist explizit experimentell. Während wir hier eine gute Lösung u.a. für TWC suchen bleibt also die YAML als aktuell funktionierende Lösung.

@andig
Copy link
Member Author

andig commented Jul 24, 2024

Quick-win gemerged. Damit ist wenigstens etwas offensichtlicher dass noch etwas fehlt.

@naltatis
Copy link
Member

Gibt jetzt einen Entwurf, mit dem wir alle Felder im Vehicle UI konfigurierbar haben. ☝️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working experimental Experimental feature ux User experience/ interface
Projects
None yet
3 participants