evcc-io / evcc

Sonne tanken ☀️🚘
https://evcc.io
MIT License
3.59k stars 662 forks source link

Experimental config shows deprecated fields, hides advanced #15000

Closed andig closed 3 months ago

andig commented 3 months ago

@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

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 https://github.com/evcc-io/evcc/issues/14951#issuecomment-2244329610

naltatis commented 3 months ago

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 https://github.com/evcc-io/evcc/issues/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 commented 3 months ago

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

naltatis commented 3 months ago

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

naltatis commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

Hey Leute ich weis ich habe in diesem Threat nicht zu suchen und haut es gerne wieder raus wenns euch stört.

Hab aber 2 Sachen die ich loswerden wollte.

Einmal habe ich nur gemacht was mir euer Update gesagt hat:

evccwarnung Hier zwang es mich ja quasi in die experimentelle Config UI und wollte komischerweise auch gar nicht mehr mit meiner config starten. Da hatte mir dann andig dankenswerterweise rausgeholfen.

Und ist es so ein Einzelfall? TWC3 und Tesla Fahrzeug wird doch kein so kleiner "Userkreis" bei auch sein und als die TeslaAPI gewechselt wurde und hier Sponsoring notwendig wurde, wird hier sicherlich auch für euch spürbar gewesen sein das der Userkreis nicht unerheblich ist oder täusche ich mich da so sehr. Hab auch direkt ne 3er Lizenz gekauft obwohl ich keinen kenne bei dem ich es noch einrichten könnt um euer Projekt zu unterstützen und 150€ ist dafür immer noch nen klacks.

Aber seit dem Tesla die APi Commandos beschränkt hat, haben diese TWC3 Tesla User nen Problem, auf das eure Dokumentation auch noch nicht so recht eingeht. wallbox TeslaEV Und ab da ging das Forumsgewühle los und habe in der Zeit auch einige Threats verfolgt, mit Leuten die nen ähnliches Problem haben. Manche lösen es mit custom Ladern oder Fahrzeugen aber andere scheitern da sicherlich auch ganz.

Wäre cool wenn ihr die so ein wenig an die Hand nehmen könnt. Ich zum Beispiel habe damit Wochen gekämpft und nach der ein oder andern neuen EVCC Version dann wieder und bin 15 Jahre IT Projektleiter und echt nicht ganz talentlos aber beim probieren geht echt bisschen zeit drauf.

Wenn der TeslaBLEHTTPProxy da so eine Einzelfall ist, wie wäre da die evtl. bessere Lösung? Mir war beim Kauf der TWC3 bewusst, dass es eine etwas wackelige Nummer ist, da nicht direkt regelbar. Aber hätte ich mir ne Sungrow Wallbox, passend zu meinem Wechselrichter geholt, hätte ich eure Plattform auch gar nicht benötigt. Die API die von 1amp - 16 regeln kann finde ich trotzdem besser als die nervigen Phasenumschaltungen, die den Autos auch Probleme machen.

Offtopic: Ich habe mir die TWC3 auch eher geholt weil es euch gab und ich die anderen Wallboxen mit Phasenumschaltung zu horrenden preisen oder wenig Funktionen und ohne 22kw oder fehlendes Kabel daneben fand und auch etwas auf Bidirektionales Laden von Elon gehofft habe.

Außerdem habe ich evcc auf mein echo show gefummelt um meine PV egal ob das Auto Läd oder nicht immer im Blick zu haben. IMG_5137

Sehts nicht als Meckerpost, sondern gut gemeintes Feedback und bitte habt den Nutzerkreis da auch auf dem Schirm auch wenn die tesla Technik bestimmt nervt .

Ihr macht nen tollen Job.

naltatis commented 3 months ago

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 commented 3 months ago

@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 commented 3 months ago

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

naltatis commented 3 months ago

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