Add Genesis Europe Bluelink (#30158)
This commit is contained in:
parent
e5c314adf6
commit
d121466553
4 changed files with 39 additions and 1 deletions
|
|
@ -33,7 +33,7 @@ Featured in [PV Magazine](https://www.pv-magazine.de/2022/01/14/mit-open-source-
|
|||
- **sunspec**-compatible inverter or home battery devices
|
||||
- **mbmd**-compatible devices, see [volkszaehler/mbmd](https://github.com/volkszaehler/mbmd#supported-devices) for a complete list
|
||||
- [vehicle](https://docs.evcc.io/en/docs/devices/vehicles) integrations (state of charge, remote charge, battery and preconditioning status):
|
||||
- Aiways, Audi, BMW, Citroën, Dacia, DS, Fiat, Ford, Hyundai, Jeep, Kia, Mercedes-Benz, MG, Mini, Nissan, NIU, Opel, Peugeot, Polestar, Renault, Seat, Skoda, Smart, Subaru, Tesla, Toyota, Volkswagen, Volvo, Zero Motorcycles. [Read more.](https://docs.evcc.io/en/docs/devices/vehicles)
|
||||
- Aiways, Audi, BMW, Citroën, Dacia, DS, Fiat, Ford, Genesis, Hyundai, Jeep, Kia, Mercedes-Benz, MG, Mini, Nissan, NIU, Opel, Peugeot, Polestar, Renault, Seat, Skoda, Smart, Subaru, Tesla, Toyota, Volkswagen, Volvo, Zero Motorcycles. [Read more.](https://docs.evcc.io/en/docs/devices/vehicles)
|
||||
- **services:** OVMS, Tronity, evNotify, ioBroker.bmw, mg2mqtt, mz2mqtt, TeslaLogger, TeslaMate, Tessi, volvo2mqtt
|
||||
- [plugins](https://docs.evcc.io/en/docs/devices/plugins) for integrating with any charger, smartswitch, heatpump, electric heater, meter, solar- / battery-inverter or vehicle:
|
||||
- Modbus, HTTP, MQTT, JavaScript, WebSocket, Go and shell scripts
|
||||
|
|
|
|||
18
templates/definition/vehicle/genesis.yaml
Normal file
18
templates/definition/vehicle/genesis.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
template: genesis
|
||||
products:
|
||||
- brand: Genesis
|
||||
description:
|
||||
generic: Bluelink
|
||||
requirements:
|
||||
description:
|
||||
en: |
|
||||
Instead of your account's password, the password field needs to be filled with a `refresh_token` ([instructions](https://github.com/evcc-io/evcc/wiki/Hyundai-Kia:-Refresh-Token)).
|
||||
de: |
|
||||
Anstelle des Passworts muss in das Passwort-Feld ein `refresh_token` eingetragen werden ([Anleitung](https://github.com/evcc-io/evcc/wiki/Hyundai-Kia:-Refresh-Token)).
|
||||
params:
|
||||
- preset: vehicle-base
|
||||
- preset: vehicle-language
|
||||
render: |
|
||||
type: genesis
|
||||
{{ include "vehicle-base" . }}
|
||||
{{ include "vehicle-language" . }}
|
||||
|
|
@ -20,6 +20,7 @@ type Bluelink struct {
|
|||
func init() {
|
||||
registry.Add("kia", NewKiaFromConfig)
|
||||
registry.Add("hyundai", NewHyundaiFromConfig)
|
||||
registry.Add("genesis", NewGenesisFromConfig)
|
||||
}
|
||||
|
||||
// NewHyundaiFromConfig creates a new vehicle
|
||||
|
|
@ -56,6 +57,24 @@ func NewKiaFromConfig(other map[string]any) (api.Vehicle, error) {
|
|||
return newBluelinkFromConfig("kia", other, settings)
|
||||
}
|
||||
|
||||
// NewGenesisFromConfig creates a new vehicle
|
||||
// Constants sourced from hyundai_kia_connect_api (KiaUvoApiEU.py, BRAND_GENESIS, Europe)
|
||||
func NewGenesisFromConfig(other map[string]any) (api.Vehicle, error) {
|
||||
settings := bluelink.Config{
|
||||
URI: "https://prd-eu-ccapi.genesis.com:443",
|
||||
CCSPServiceID: "3020afa2-30ff-412a-aa51-d28fbe901e10",
|
||||
CCSPServiceSecret: "FKDdlef2ffdleFEweELFKERiLER2FED21sDdwdgQz6hFESE3",
|
||||
CCSPApplicationID: "f11f2b86-e0e7-4851-90df-5600b01d8b70",
|
||||
Cfb: "RFtoRq/vDXJmRndoZaZQyYo3/qFLtVReW8P7utRPcc0ZxOzOELm9mexvviBk/qqIp4A=",
|
||||
BasicToken: "MzAyMGFmYTItMzBmZi00MTJhLWFhNTEtZDI4ZmJlOTAxZTEwOkZLRGRsZWYyZmZkbGVGRXdlRUxGS0VSaUxFUjJGRUQyMXNEZHdkZ1F6NmhGRVNFMw==",
|
||||
PushType: "GCM",
|
||||
LoginFormHost: "https://idpconnect-eu.genesis.com",
|
||||
Brand: "genesis",
|
||||
}
|
||||
|
||||
return newBluelinkFromConfig("genesis", other, settings)
|
||||
}
|
||||
|
||||
// newBluelinkFromConfig creates a new Vehicle
|
||||
func newBluelinkFromConfig(brand string, other map[string]any, settings bluelink.Config) (api.Vehicle, error) {
|
||||
cc := struct {
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@ func (v *Identity) Login(user, password, language, brand string) (err error) {
|
|||
switch brand {
|
||||
case "kia":
|
||||
case "hyundai":
|
||||
case "genesis":
|
||||
default:
|
||||
return fmt.Errorf("unknown brand (%s)", brand)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue