diff --git a/docs/devices/vehicles.mdx b/docs/devices/vehicles.mdx index 8577b8bee..103c3d695 100644 --- a/docs/devices/vehicles.mdx +++ b/docs/devices/vehicles.mdx @@ -504,6 +504,45 @@ Manche Modelle (z.B. Niro EV) schalten bei geringen Ladeströmen (< 8A) intern a /> +## Leapmotor + +Benötigt ein App-Zertifikat (`app-cert.pem` / `app-key.pem`), das in der Leapmotor Android APK enthalten ist. +Die Extraktion aus der APK erfordert spezialisierte Reverse-Engineering-Tools, da die APK durch einen Packer verschlüsselt ist. +Nutzer der [leapmotor-ha](https://github.com/kerniger/leapmotor-ha) Home Assistant Integration oder der [leapmotor-api](https://github.com/markoceri/leapmotor-api) haben diese Dateien bereits. + + + + ## Lexus Benötigt Lexus Link+ Connected Services Account. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/devices/vehicles.mdx b/i18n/en/docusaurus-plugin-content-docs/current/devices/vehicles.mdx index b988adb39..cf75bac1a 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/devices/vehicles.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/devices/vehicles.mdx @@ -504,6 +504,45 @@ Some models (e.g. Niro EV) switch internally to 2 phases at low charging current /> +## Leapmotor + +Requires an app certificate (`app-cert.pem` / `app-key.pem`) that is embedded in the Leapmotor Android APK. +Extracting it from the APK requires specialised reverse engineering tools due to packer encryption. +Users of the [leapmotor-ha](https://github.com/kerniger/leapmotor-ha) Home Assistant integration or [leapmotor-api](https://github.com/markoceri/leapmotor-api) already have these files. + + + + ## Lexus Requires Lexus Link+ Connected Services Account. diff --git a/templates/release/de/vehicle/leapmotor.yaml b/templates/release/de/vehicle/leapmotor.yaml new file mode 100644 index 000000000..2046679f4 --- /dev/null +++ b/templates/release/de/vehicle/leapmotor.yaml @@ -0,0 +1,127 @@ +template: leapmotor +product: + identifier: leapmotor + brand: Leapmotor +render: + - default: | + type: leapmotor + user: # Benutzerkonto, bspw. E-Mail Adresse + password: # Passwort + app_cert: /pfad/zu/app-cert.pem # App-Zertifikat (PEM), aus der Leapmotor Android APK extrahiert + app_key: /pfad/zu/app-key.pem # App-Schlüssel (PEM), aus der Leapmotor Android APK extrahiert + vin: LV... # Fahrzeugidentifikationsnummer, Nur erforderlich bei mehreren Fahrzeugen im Konto (optional) + title: # Titel, Wird in der Benutzeroberfläche angezeigt (optional) + capacity: 50 # Akkukapazität (kWh), optional + advanced: | + type: leapmotor + user: # Benutzerkonto, bspw. E-Mail Adresse + password: # Passwort + app_cert: /pfad/zu/app-cert.pem # App-Zertifikat (PEM), aus der Leapmotor Android APK extrahiert + app_key: /pfad/zu/app-key.pem # App-Schlüssel (PEM), aus der Leapmotor Android APK extrahiert + vin: LV... # Fahrzeugidentifikationsnummer, Nur erforderlich bei mehreren Fahrzeugen im Konto (optional) + title: # Titel, Wird in der Benutzeroberfläche angezeigt (optional) + capacity: 50 # Akkukapazität (kWh), optional + icon: car # Icon, Wird in der Benutzeroberfläche angezeigt [car, bike, bus, moped, motorcycle, rocket, scooter, taxi, tractor, rickshaw, shuttle, van, airpurifier, battery, bulb, climate, coffeemaker, compute, cooking, cooler, desktop, device, dishwasher, dryer, floorlamp, generic, heater, heatexchange, heatpump, kettle, laundry, laundry2, machine, meter, microwave, pump, smartconsumer, tool, waterheater] (optional) + phases: 3 # Maximale Phasenanzahl, Die maximale Anzahl der Phasen welche genutzt werden können (optional) + mode: # Standardlademodus, Wird beim Anschließen eines Fahrzeugs verwendet. Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll (optional) + minCurrent: 6 # Minimale Stromstärke (A), Definiert die minimale Stromstärke pro angeschlossener Phase die genutzt werden kann (optional) + maxCurrent: 16 # Maximale Stromstärke (A), Definiert die maximale Stromstärke pro angeschlossener Phase die genutzt werden kann (optional) + maxPower: 11000 # Ladeleistungs-Hinweis (W), Definiert die maximale Ladeleistung des Fahrzeugs (optional) + identifiers: # Identifikation, Kann meist erst später eingetragen werden, siehe: https://docs.evcc.io/docs/features/vehicle (optional) + priority: # Priorität, Priorität des Ladepunktes oder Fahrzeugs in Relation zu anderen Ladepunkten oder Fahrzeugen für die Zuweisung von PV-Energie (optional) + cache: 15m # Cache, Zeitintervall für erneute Datenabfrage (optional) +params: + - name: user + description: Benutzerkonto + help: bspw. E-Mail Adresse + advanced: false + optional: false + - name: password + description: Passwort + advanced: false + optional: false + - name: app_cert + example: /pfad/zu/app-cert.pem + description: App-Zertifikat (PEM) + help: aus der Leapmotor Android APK extrahiert + advanced: false + optional: false + - name: app_key + example: /pfad/zu/app-key.pem + description: App-Schlüssel (PEM) + help: aus der Leapmotor Android APK extrahiert + advanced: false + optional: false + - name: vin + example: LV... + description: Fahrzeugidentifikationsnummer + help: Nur erforderlich bei mehreren Fahrzeugen im Konto + advanced: false + optional: true + - name: title + description: Titel + help: Wird in der Benutzeroberfläche angezeigt + advanced: false + optional: true + - name: capacity + example: 50 + unit: kWh + description: Akkukapazität + advanced: false + optional: true + - name: icon + default: car + choice: ['car', 'bike', 'bus', 'moped', 'motorcycle', 'rocket', 'scooter', 'taxi', 'tractor', 'rickshaw', 'shuttle', 'van', 'airpurifier', 'battery', 'bulb', 'climate', 'coffeemaker', 'compute', 'cooking', 'cooler', 'desktop', 'device', 'dishwasher', 'dryer', 'floorlamp', 'generic', 'heater', 'heatexchange', 'heatpump', 'kettle', 'laundry', 'laundry2', 'machine', 'meter', 'microwave', 'pump', 'smartconsumer', 'tool', 'waterheater'] + description: Icon + help: Wird in der Benutzeroberfläche angezeigt + advanced: true + optional: true + - name: phases + example: 3 + description: Maximale Phasenanzahl + help: Die maximale Anzahl der Phasen welche genutzt werden können + advanced: true + optional: true + - name: mode + description: Standardlademodus + help: Wird beim Anschließen eines Fahrzeugs verwendet. Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll + advanced: true + optional: true + - name: minCurrent + example: 6 + unit: A + description: Minimale Stromstärke + help: Definiert die minimale Stromstärke pro angeschlossener Phase die genutzt werden kann + advanced: true + optional: true + - name: maxCurrent + example: 16 + unit: A + description: Maximale Stromstärke + help: Definiert die maximale Stromstärke pro angeschlossener Phase die genutzt werden kann + advanced: true + optional: true + - name: maxPower + example: 11000 + unit: W + description: Ladeleistungs-Hinweis + help: Definiert die maximale Ladeleistung des Fahrzeugs + advanced: true + optional: true + - name: identifiers + description: Identifikation + help: 'Kann meist erst später eingetragen werden, siehe: https://docs.evcc.io/docs/features/vehicle' + advanced: true + optional: true + - name: priority + description: Priorität + help: Priorität des Ladepunktes oder Fahrzeugs in Relation zu anderen Ladepunkten oder Fahrzeugen für die Zuweisung von PV-Energie + advanced: true + optional: true + - name: cache + example: 5m + default: 15m + description: Cache + help: Zeitintervall für erneute Datenabfrage + advanced: true + optional: true diff --git a/templates/release/en/vehicle/leapmotor.yaml b/templates/release/en/vehicle/leapmotor.yaml new file mode 100644 index 000000000..a0ec82940 --- /dev/null +++ b/templates/release/en/vehicle/leapmotor.yaml @@ -0,0 +1,127 @@ +template: leapmotor +product: + identifier: leapmotor + brand: Leapmotor +render: + - default: | + type: leapmotor + user: # Username, e.g. email address + password: # Password + app_cert: /path/to/app-cert.pem # App certificate (PEM), extracted from the Leapmotor Android APK + app_key: /path/to/app-key.pem # App private key (PEM), extracted from the Leapmotor Android APK + vin: LV... # Vehicle Identification Number, required only if multiple vehicles are on the account (optional) + title: # Title, Will be displayed in the user interface (optional) + capacity: 50 # Battery capacity (kWh), optional + advanced: | + type: leapmotor + user: # Username, e.g. email address + password: # Password + app_cert: /path/to/app-cert.pem # App certificate (PEM), extracted from the Leapmotor Android APK + app_key: /path/to/app-key.pem # App private key (PEM), extracted from the Leapmotor Android APK + vin: LV... # Vehicle Identification Number, required only if multiple vehicles are on the account (optional) + title: # Title, Will be displayed in the user interface (optional) + capacity: 50 # Battery capacity (kWh), optional + icon: car # Icon, Will be displayed in the user interface [car, bike, bus, moped, motorcycle, rocket, scooter, taxi, tractor, rickshaw, shuttle, van, airpurifier, battery, bulb, climate, coffeemaker, compute, cooking, cooler, desktop, device, dishwasher, dryer, floorlamp, generic, heater, heatexchange, heatpump, kettle, laundry, laundry2, machine, meter, microwave, pump, smartconsumer, tool, waterheater] (optional) + phases: 3 # Maximum number of phases, The maximum number of phases which can be used (optional) + mode: # Default charging mode, Used when a vehicle is connected. Possible values are Off, Now, MinPV and PV, or empty if none should be set (optional) + minCurrent: 6 # Minimum amperage (A), The minimum amperage per connected phase that can be used (optional) + maxCurrent: 16 # Maximum amperage (A), The maximum amperage per connected phase that can be used (optional) + maxPower: 11000 # Maximum charging power hint (W), Defines the maximum charging power of the vehicle (optional) + identifiers: # Identification, Mostly this can be added later, see: https://docs.evcc.io/en/docs/features/vehicle (optional) + priority: # Priority, Priority of the loadpoint or vehicle in relation to other loadpoints or vehicles for allocating pv energy (optional) + cache: 15m # Cache, Time interval for data refresh (optional) +params: + - name: user + description: Username + help: e.g. email address + advanced: false + optional: false + - name: password + description: Password + advanced: false + optional: false + - name: app_cert + example: /path/to/app-cert.pem + description: App certificate (PEM) + help: extracted from the Leapmotor Android APK + advanced: false + optional: false + - name: app_key + example: /path/to/app-key.pem + description: App private key (PEM) + help: extracted from the Leapmotor Android APK + advanced: false + optional: false + - name: vin + example: LV... + description: Vehicle Identification Number + help: required only if multiple vehicles are on the account + advanced: false + optional: true + - name: title + description: Title + help: Will be displayed in the user interface + advanced: false + optional: true + - name: capacity + example: 50 + unit: kWh + description: Battery capacity + advanced: false + optional: true + - name: icon + default: car + choice: ['car', 'bike', 'bus', 'moped', 'motorcycle', 'rocket', 'scooter', 'taxi', 'tractor', 'rickshaw', 'shuttle', 'van', 'airpurifier', 'battery', 'bulb', 'climate', 'coffeemaker', 'compute', 'cooking', 'cooler', 'desktop', 'device', 'dishwasher', 'dryer', 'floorlamp', 'generic', 'heater', 'heatexchange', 'heatpump', 'kettle', 'laundry', 'laundry2', 'machine', 'meter', 'microwave', 'pump', 'smartconsumer', 'tool', 'waterheater'] + description: Icon + help: Will be displayed in the user interface + advanced: true + optional: true + - name: phases + example: 3 + description: Maximum number of phases + help: The maximum number of phases which can be used + advanced: true + optional: true + - name: mode + description: Default charging mode + help: Used when a vehicle is connected. Possible values are Off, Now, MinPV and PV, or empty if none should be set + advanced: true + optional: true + - name: minCurrent + example: 6 + unit: A + description: Minimum amperage + help: The minimum amperage per connected phase that can be used + advanced: true + optional: true + - name: maxCurrent + example: 16 + unit: A + description: Maximum amperage + help: The maximum amperage per connected phase that can be used + advanced: true + optional: true + - name: maxPower + example: 11000 + unit: W + description: Maximum charging power hint + help: Defines the maximum charging power of the vehicle + advanced: true + optional: true + - name: identifiers + description: Identification + help: 'Mostly this can be added later, see: https://docs.evcc.io/en/docs/features/vehicle' + advanced: true + optional: true + - name: priority + description: Priority + help: Priority of the loadpoint or vehicle in relation to other loadpoints or vehicles for allocating pv energy + advanced: true + optional: true + - name: cache + example: 5m + default: 15m + description: Cache + help: Time interval for data refresh + advanced: true + optional: true