From d2f92556a3ffc42af0d95ffc00e2ca806cbcac6c Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Wed, 30 Nov 2022 19:08:03 +0100 Subject: [PATCH] Introduce vehicle icons (#5200) --- api/api.go | 1 + .../js/components/Energyflow/Energyflow.vue | 5 +- .../components/Energyflow/EnergyflowEntry.vue | 9 ++- .../components/Energyflow/Visualization.vue | 7 +- assets/js/components/Loadpoint.vue | 1 + assets/js/components/MultiIcon/1.vue | 14 ++++ assets/js/components/MultiIcon/2.vue | 14 ++++ assets/js/components/MultiIcon/3.vue | 14 ++++ assets/js/components/MultiIcon/4.vue | 14 ++++ assets/js/components/MultiIcon/5.vue | 14 ++++ assets/js/components/MultiIcon/6.vue | 14 ++++ assets/js/components/MultiIcon/7.vue | 14 ++++ assets/js/components/MultiIcon/8.vue | 14 ++++ assets/js/components/MultiIcon/9.vue | 14 ++++ .../components/MultiIcon/MultiIcon.story.vue | 11 +++ assets/js/components/MultiIcon/MultiIcon.vue | 61 ++++++++++++++ assets/js/components/MultiIcon/Plus.vue | 14 ++++ assets/js/components/MultiIcon/index.js | 3 + assets/js/components/Site.vue | 8 +- assets/js/components/Vehicle.vue | 1 + assets/js/components/VehicleIcon/Bike.vue | 14 ++++ assets/js/components/VehicleIcon/Bus.vue | 14 ++++ assets/js/components/VehicleIcon/Cooler.vue | 14 ++++ assets/js/components/VehicleIcon/Generic.vue | 14 ++++ assets/js/components/VehicleIcon/Heater.vue | 14 ++++ assets/js/components/VehicleIcon/Moped.vue | 14 ++++ .../js/components/VehicleIcon/Motorcycle.vue | 14 ++++ assets/js/components/VehicleIcon/Scooter.vue | 14 ++++ assets/js/components/VehicleIcon/Tractor.vue | 14 ++++ assets/js/components/VehicleIcon/Van.vue | 14 ++++ .../VehicleIcon/VehicleIcon.story.vue | 32 ++++++++ .../js/components/VehicleIcon/VehicleIcon.vue | 80 +++++++++++++++++++ .../js/components/VehicleIcon/WaterHeater.vue | 14 ++++ assets/js/components/VehicleIcon/index.js | 3 + assets/js/components/VehicleTitle.vue | 14 ++-- cmd/demo.yaml | 17 +++- core/loadpoint.go | 2 + core/loadpoint_vehicle_test.go | 4 + dist/assets/index.124925c5.js | 70 ++++++++++++++++ dist/assets/index.7be4e4cb.js | 70 ---------------- ...{index.f6de0430.css => index.932fb253.css} | 2 +- dist/index.html | 4 +- mock/mock_api.go | 14 ++++ schema.json | 37 +++------ templates/definition/defaults.yaml | 29 +++++++ templates/definition/vehicle/evnotify.yaml | 3 + .../definition/vehicle/niu-e-scooter.yaml | 5 ++ templates/definition/vehicle/offline.yaml | 6 ++ templates/definition/vehicle/ovms.yaml | 6 ++ templates/definition/vehicle/silence.yaml | 2 + templates/definition/vehicle/tesla.yaml | 6 ++ templates/definition/vehicle/tronity.yaml | 6 ++ templates/docs/vehicle/audi_0.yaml | 1 + templates/docs/vehicle/bmw_0.yaml | 1 + templates/docs/vehicle/carwings_0.yaml | 1 + templates/docs/vehicle/citroen_0.yaml | 1 + templates/docs/vehicle/cupra_0.yaml | 1 + templates/docs/vehicle/dacia_0.yaml | 1 + templates/docs/vehicle/ds_0.yaml | 1 + templates/docs/vehicle/enyaq_0.yaml | 1 + templates/docs/vehicle/etron_0.yaml | 1 + templates/docs/vehicle/evnotify_0.yaml | 1 + templates/docs/vehicle/fiat_0.yaml | 1 + templates/docs/vehicle/ford_0.yaml | 1 + templates/docs/vehicle/hyundai_0.yaml | 1 + templates/docs/vehicle/id_0.yaml | 1 + .../docs/vehicle/jaguar-landrover_0.yaml | 1 + .../docs/vehicle/jaguar-landrover_1.yaml | 1 + templates/docs/vehicle/kia_0.yaml | 1 + templates/docs/vehicle/mini_0.yaml | 1 + templates/docs/vehicle/nissan_0.yaml | 1 + templates/docs/vehicle/niu-e-scooter_0.yaml | 2 + templates/docs/vehicle/offline_0.yaml | 1 + templates/docs/vehicle/opel_0.yaml | 1 + templates/docs/vehicle/ovms_0.yaml | 1 + templates/docs/vehicle/peugeot_0.yaml | 1 + templates/docs/vehicle/porsche_0.yaml | 1 + templates/docs/vehicle/renault_0.yaml | 1 + templates/docs/vehicle/seat_0.yaml | 1 + templates/docs/vehicle/silence_0.yaml | 1 + templates/docs/vehicle/silence_1.yaml | 1 + templates/docs/vehicle/skoda_0.yaml | 1 + templates/docs/vehicle/smart_0.yaml | 1 + templates/docs/vehicle/tesla_0.yaml | 1 + templates/docs/vehicle/tronity_0.yaml | 1 + templates/docs/vehicle/volvo_0.yaml | 1 + templates/docs/vehicle/vw_0.yaml | 1 + vehicle/embed.go | 6 ++ vehicle/wrapper/wrapper.go | 5 ++ 89 files changed, 743 insertions(+), 117 deletions(-) create mode 100644 assets/js/components/MultiIcon/1.vue create mode 100644 assets/js/components/MultiIcon/2.vue create mode 100644 assets/js/components/MultiIcon/3.vue create mode 100644 assets/js/components/MultiIcon/4.vue create mode 100644 assets/js/components/MultiIcon/5.vue create mode 100644 assets/js/components/MultiIcon/6.vue create mode 100644 assets/js/components/MultiIcon/7.vue create mode 100644 assets/js/components/MultiIcon/8.vue create mode 100644 assets/js/components/MultiIcon/9.vue create mode 100644 assets/js/components/MultiIcon/MultiIcon.story.vue create mode 100644 assets/js/components/MultiIcon/MultiIcon.vue create mode 100644 assets/js/components/MultiIcon/Plus.vue create mode 100644 assets/js/components/MultiIcon/index.js create mode 100644 assets/js/components/VehicleIcon/Bike.vue create mode 100644 assets/js/components/VehicleIcon/Bus.vue create mode 100644 assets/js/components/VehicleIcon/Cooler.vue create mode 100644 assets/js/components/VehicleIcon/Generic.vue create mode 100644 assets/js/components/VehicleIcon/Heater.vue create mode 100644 assets/js/components/VehicleIcon/Moped.vue create mode 100644 assets/js/components/VehicleIcon/Motorcycle.vue create mode 100644 assets/js/components/VehicleIcon/Scooter.vue create mode 100644 assets/js/components/VehicleIcon/Tractor.vue create mode 100644 assets/js/components/VehicleIcon/Van.vue create mode 100644 assets/js/components/VehicleIcon/VehicleIcon.story.vue create mode 100644 assets/js/components/VehicleIcon/VehicleIcon.vue create mode 100644 assets/js/components/VehicleIcon/WaterHeater.vue create mode 100644 assets/js/components/VehicleIcon/index.js create mode 100644 dist/assets/index.124925c5.js delete mode 100644 dist/assets/index.7be4e4cb.js rename dist/assets/{index.f6de0430.css => index.932fb253.css} (94%) diff --git a/api/api.go b/api/api.go index 271d0f9f8..4ab646786 100644 --- a/api/api.go +++ b/api/api.go @@ -164,6 +164,7 @@ type Authorizer interface { type Vehicle interface { Battery Title() string + Icon() string Capacity() float64 Phases() int Identifiers() []string diff --git a/assets/js/components/Energyflow/Energyflow.vue b/assets/js/components/Energyflow/Energyflow.vue index f7bd6b170..a4b2af419 100644 --- a/assets/js/components/Energyflow/Energyflow.vue +++ b/assets/js/components/Energyflow/Energyflow.vue @@ -17,6 +17,7 @@ :homePower="homePower" :batterySoC="batterySoC" :valuesInKw="valuesInKw" + :vehicleIcons="vehicleIcons" />
@@ -95,7 +96,8 @@ count: activeLoadpointsCount, }) " - icon="car3" + icon="vehicle" + :vehicleIcons="vehicleIcons" :power="loadpointsPower" :valuesInKw="valuesInKw" /> @@ -142,6 +144,7 @@ export default { batteryConfigured: Boolean, batteryPower: { type: Number, default: 0 }, batterySoC: { type: Number, default: 0 }, + vehicleIcons: { type: Array }, }, data: () => { return { detailsOpen: false, detailsCompleteHeight: null }; diff --git a/assets/js/components/Energyflow/EnergyflowEntry.vue b/assets/js/components/Energyflow/EnergyflowEntry.vue index 2ae4d6671..e4762a2f6 100644 --- a/assets/js/components/Energyflow/EnergyflowEntry.vue +++ b/assets/js/components/Energyflow/EnergyflowEntry.vue @@ -2,6 +2,7 @@
+ {{ name }} @@ -16,14 +17,14 @@ import "@h2d2/shopicons/es/regular/powersupply"; import "@h2d2/shopicons/es/regular/sun"; import "@h2d2/shopicons/es/regular/home"; -import "@h2d2/shopicons/es/regular/car3"; import BatteryIcon from "./BatteryIcon.vue"; import formatter from "../../mixins/formatter"; import AnimatedNumber from "../AnimatedNumber.vue"; +import VehicleIcon from "../VehicleIcon"; export default { name: "EnergyflowEntry", - components: { BatteryIcon, AnimatedNumber }, + components: { BatteryIcon, AnimatedNumber, VehicleIcon }, mixins: [formatter], props: { name: { type: String }, @@ -31,6 +32,7 @@ export default { power: { type: Number }, soc: { type: Number }, valuesInKw: { type: Boolean }, + vehicleIcons: { type: Array }, }, computed: { active: function () { @@ -39,6 +41,9 @@ export default { isBattery: function () { return this.icon === "battery"; }, + isVehicle: function () { + return this.icon === "vehicle"; + }, hasSoC: function () { return this.isBattery && !isNaN(this.soc); }, diff --git a/assets/js/components/Energyflow/Visualization.vue b/assets/js/components/Energyflow/Visualization.vue index c01546bed..d6b98edd2 100644 --- a/assets/js/components/Energyflow/Visualization.vue +++ b/assets/js/components/Energyflow/Visualization.vue @@ -61,7 +61,7 @@ - + @@ -80,13 +80,13 @@ import formatter from "../../mixins/formatter"; import BatteryIcon from "./BatteryIcon.vue"; import LabelBar from "./LabelBar.vue"; import AnimatedNumber from "../AnimatedNumber.vue"; -import "@h2d2/shopicons/es/regular/car3"; +import VehicleIcon from "../VehicleIcon"; import "@h2d2/shopicons/es/regular/sun"; import "@h2d2/shopicons/es/regular/home"; export default { name: "Visualization", - components: { BatteryIcon, LabelBar, AnimatedNumber }, + components: { BatteryIcon, LabelBar, AnimatedNumber, VehicleIcon }, mixins: [formatter], props: { gridImport: { type: Number, default: 0 }, @@ -99,6 +99,7 @@ export default { homePower: { type: Number, default: 0 }, batterySoC: { type: Number, default: 0 }, valuesInKw: { type: Boolean, default: false }, + vehicleIcons: { type: Array }, }, data: function () { return { width: 0, visualizationReady: false }; diff --git a/assets/js/components/Loadpoint.vue b/assets/js/components/Loadpoint.vue index 92f05abc5..cce7e0140 100644 --- a/assets/js/components/Loadpoint.vue +++ b/assets/js/components/Loadpoint.vue @@ -149,6 +149,7 @@ export default { vehicleRange: Number, vehicleSoC: Number, vehicleTitle: String, + vehicleIcon: String, vehicleTargetSoC: Number, vehicleCapacity: Number, vehicleFeatureOffline: Boolean, diff --git a/assets/js/components/MultiIcon/1.vue b/assets/js/components/MultiIcon/1.vue new file mode 100644 index 000000000..1f96027f0 --- /dev/null +++ b/assets/js/components/MultiIcon/1.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/2.vue b/assets/js/components/MultiIcon/2.vue new file mode 100644 index 000000000..6ce020cf1 --- /dev/null +++ b/assets/js/components/MultiIcon/2.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/3.vue b/assets/js/components/MultiIcon/3.vue new file mode 100644 index 000000000..a7337291e --- /dev/null +++ b/assets/js/components/MultiIcon/3.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/4.vue b/assets/js/components/MultiIcon/4.vue new file mode 100644 index 000000000..358c105fc --- /dev/null +++ b/assets/js/components/MultiIcon/4.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/5.vue b/assets/js/components/MultiIcon/5.vue new file mode 100644 index 000000000..fef0bfa4f --- /dev/null +++ b/assets/js/components/MultiIcon/5.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/6.vue b/assets/js/components/MultiIcon/6.vue new file mode 100644 index 000000000..4c47a6bd6 --- /dev/null +++ b/assets/js/components/MultiIcon/6.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/7.vue b/assets/js/components/MultiIcon/7.vue new file mode 100644 index 000000000..1529e6a5b --- /dev/null +++ b/assets/js/components/MultiIcon/7.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/8.vue b/assets/js/components/MultiIcon/8.vue new file mode 100644 index 000000000..9f05d761e --- /dev/null +++ b/assets/js/components/MultiIcon/8.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/9.vue b/assets/js/components/MultiIcon/9.vue new file mode 100644 index 000000000..115f12c5f --- /dev/null +++ b/assets/js/components/MultiIcon/9.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/MultiIcon.story.vue b/assets/js/components/MultiIcon/MultiIcon.story.vue new file mode 100644 index 000000000..9c225eb52 --- /dev/null +++ b/assets/js/components/MultiIcon/MultiIcon.story.vue @@ -0,0 +1,11 @@ + + + diff --git a/assets/js/components/MultiIcon/MultiIcon.vue b/assets/js/components/MultiIcon/MultiIcon.vue new file mode 100644 index 000000000..08193abea --- /dev/null +++ b/assets/js/components/MultiIcon/MultiIcon.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/assets/js/components/MultiIcon/Plus.vue b/assets/js/components/MultiIcon/Plus.vue new file mode 100644 index 000000000..367c50213 --- /dev/null +++ b/assets/js/components/MultiIcon/Plus.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/MultiIcon/index.js b/assets/js/components/MultiIcon/index.js new file mode 100644 index 000000000..a7c355a41 --- /dev/null +++ b/assets/js/components/MultiIcon/index.js @@ -0,0 +1,3 @@ +import MultiIcon from "./MultiIcon.vue"; + +export default MultiIcon; diff --git a/assets/js/components/Site.vue b/assets/js/components/Site.vue index dfe2ebfdc..c7b2b8070 100644 --- a/assets/js/components/Site.vue +++ b/assets/js/components/Site.vue @@ -91,8 +91,14 @@ export default { energyflow: function () { return this.collectProps(Energyflow); }, + activeLoadpoints: function () { + return this.loadpoints.filter((lp) => lp.chargePower > 0); + }, activeLoadpointsCount: function () { - return this.loadpoints.filter((lp) => lp.chargePower > 0).length; + return this.activeLoadpoints.length; + }, + vehicleIcons: function () { + return this.activeLoadpoints.map((lp) => lp.vehicleIcon || "car"); }, loadpointsPower: function () { return this.loadpoints.reduce((sum, lp) => { diff --git a/assets/js/components/Vehicle.vue b/assets/js/components/Vehicle.vue index 3b3bd4a27..175cdfcd6 100644 --- a/assets/js/components/Vehicle.vue +++ b/assets/js/components/Vehicle.vue @@ -96,6 +96,7 @@ export default { vehicleDetectionActive: Boolean, vehicleRange: Number, vehicleTitle: String, + vehicleIcon: String, vehicleCapacity: Number, socBasedCharging: Boolean, targetTimeActive: Boolean, diff --git a/assets/js/components/VehicleIcon/Bike.vue b/assets/js/components/VehicleIcon/Bike.vue new file mode 100644 index 000000000..22d4381a3 --- /dev/null +++ b/assets/js/components/VehicleIcon/Bike.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Bus.vue b/assets/js/components/VehicleIcon/Bus.vue new file mode 100644 index 000000000..0ab841554 --- /dev/null +++ b/assets/js/components/VehicleIcon/Bus.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Cooler.vue b/assets/js/components/VehicleIcon/Cooler.vue new file mode 100644 index 000000000..5144fd246 --- /dev/null +++ b/assets/js/components/VehicleIcon/Cooler.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Generic.vue b/assets/js/components/VehicleIcon/Generic.vue new file mode 100644 index 000000000..d7d5e7220 --- /dev/null +++ b/assets/js/components/VehicleIcon/Generic.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Heater.vue b/assets/js/components/VehicleIcon/Heater.vue new file mode 100644 index 000000000..b1130a27c --- /dev/null +++ b/assets/js/components/VehicleIcon/Heater.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Moped.vue b/assets/js/components/VehicleIcon/Moped.vue new file mode 100644 index 000000000..1a5c9299f --- /dev/null +++ b/assets/js/components/VehicleIcon/Moped.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Motorcycle.vue b/assets/js/components/VehicleIcon/Motorcycle.vue new file mode 100644 index 000000000..52216466a --- /dev/null +++ b/assets/js/components/VehicleIcon/Motorcycle.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Scooter.vue b/assets/js/components/VehicleIcon/Scooter.vue new file mode 100644 index 000000000..3de0d4078 --- /dev/null +++ b/assets/js/components/VehicleIcon/Scooter.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Tractor.vue b/assets/js/components/VehicleIcon/Tractor.vue new file mode 100644 index 000000000..058466274 --- /dev/null +++ b/assets/js/components/VehicleIcon/Tractor.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/Van.vue b/assets/js/components/VehicleIcon/Van.vue new file mode 100644 index 000000000..a45449025 --- /dev/null +++ b/assets/js/components/VehicleIcon/Van.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/VehicleIcon.story.vue b/assets/js/components/VehicleIcon/VehicleIcon.story.vue new file mode 100644 index 000000000..01b5f26a0 --- /dev/null +++ b/assets/js/components/VehicleIcon/VehicleIcon.story.vue @@ -0,0 +1,32 @@ + + + diff --git a/assets/js/components/VehicleIcon/VehicleIcon.vue b/assets/js/components/VehicleIcon/VehicleIcon.vue new file mode 100644 index 000000000..ce6fb777c --- /dev/null +++ b/assets/js/components/VehicleIcon/VehicleIcon.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/assets/js/components/VehicleIcon/WaterHeater.vue b/assets/js/components/VehicleIcon/WaterHeater.vue new file mode 100644 index 000000000..68800e77f --- /dev/null +++ b/assets/js/components/VehicleIcon/WaterHeater.vue @@ -0,0 +1,14 @@ + + + diff --git a/assets/js/components/VehicleIcon/index.js b/assets/js/components/VehicleIcon/index.js new file mode 100644 index 000000000..36525f5b7 --- /dev/null +++ b/assets/js/components/VehicleIcon/index.js @@ -0,0 +1,3 @@ +import VehicleIcon from "./VehicleIcon.vue"; + +export default VehicleIcon; diff --git a/assets/js/components/VehicleTitle.vue b/assets/js/components/VehicleTitle.vue index 7f4d261a5..67f2d21bf 100644 --- a/assets/js/components/VehicleTitle.vue +++ b/assets/js/components/VehicleTitle.vue @@ -8,10 +8,11 @@ :title="$t('main.vehicle.detectionActive')" class="me-2 flex-shrink-0 spin" > - + /> - + + diff --git a/mock/mock_api.go b/mock/mock_api.go index 7d7205565..c2ab71397 100644 --- a/mock/mock_api.go +++ b/mock/mock_api.go @@ -318,6 +318,20 @@ func (mr *MockVehicleMockRecorder) Capacity() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Capacity", reflect.TypeOf((*MockVehicle)(nil).Capacity)) } +// Icon mocks base method. +func (m *MockVehicle) Icon() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Icon") + ret0, _ := ret[0].(string) + return ret0 +} + +// Icon indicates an expected call of Icon. +func (mr *MockVehicleMockRecorder) Icon() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Icon", reflect.TypeOf((*MockVehicle)(nil).Icon)) +} + // Identifiers mocks base method. func (m *MockVehicle) Identifiers() []string { m.ctrl.T.Helper() diff --git a/schema.json b/schema.json index a8d567016..4cfcc49e5 100644 --- a/schema.json +++ b/schema.json @@ -47,6 +47,9 @@ "title": { "type": "string" }, + "icon": { + "type": "string" + }, "capacity": { "type": "integer" }, @@ -87,9 +90,7 @@ }, "site": { "type": "object", - "required": [ - "meters" - ], + "required": ["meters"], "properties": { "title": { "type": "string" @@ -135,9 +136,7 @@ "description": "List of loadpoints", "items": { "type": "object", - "required": [ - "charger" - ], + "required": ["charger"], "properties": { "title": { "type": "string" @@ -221,10 +220,7 @@ }, "namedObject": { "type": "object", - "required": [ - "name", - "type" - ], + "required": ["name", "type"], "properties": { "name": { "type": "string" @@ -238,28 +234,13 @@ } }, "loglevel": { - "enum": [ - "trace", - "debug", - "info", - "error", - "fatal" - ] + "enum": ["trace", "debug", "info", "error", "fatal"] }, "mode": { - "enum": [ - "off", - "now", - "pv", - "minpv" - ] + "enum": ["off", "now", "pv", "minpv"] }, "pollMode": { - "enum": [ - "always", - "charging", - "connected" - ] + "enum": ["always", "charging", "connected"] } } } diff --git a/templates/definition/defaults.yaml b/templates/definition/defaults.yaml index 443bb5c85..25ad17191 100644 --- a/templates/definition/defaults.yaml +++ b/templates/definition/defaults.yaml @@ -224,6 +224,29 @@ params: en: "'en' for English and 'de' for German" default: en validvalues: ["de", "en"] + - name: icon + description: + de: Icon + en: Icon + help: + de: "Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater" + en: "Visible in UI. Possible values: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater" + validvalues: + [ + "bike", + "bus", + "car", + "heater", + "heatercooler", + "heatpump", + "moped", + "motorcycle", + "plug", + "scooter", + "tractor", + "van", + "waterheater", + ] - name: ski required: true help: @@ -242,6 +265,9 @@ presets: - name: capacity - name: phases advanced: true + - name: icon + default: car + advanced: true - name: cache default: 15m advanced: true @@ -250,6 +276,9 @@ presets: {{- if ne .title "" }} title: {{ .title }} {{- end }} + {{- if ne .icon "" }} + icon: {{ .icon }} + {{- end }} user: {{ .user }} password: {{ .password }} {{- if ne .capacity "" }} diff --git a/templates/definition/vehicle/evnotify.yaml b/templates/definition/vehicle/evnotify.yaml index c3868fd30..5382cda75 100644 --- a/templates/definition/vehicle/evnotify.yaml +++ b/templates/definition/vehicle/evnotify.yaml @@ -13,6 +13,9 @@ params: valuetype: float - name: phases advanced: true + - name: icon + default: car + advanced: true - preset: vehicleidentify render: | type: custom diff --git a/templates/definition/vehicle/niu-e-scooter.yaml b/templates/definition/vehicle/niu-e-scooter.yaml index ebc8c64a7..a82b5b834 100644 --- a/templates/definition/vehicle/niu-e-scooter.yaml +++ b/templates/definition/vehicle/niu-e-scooter.yaml @@ -18,12 +18,17 @@ params: required: true - name: capacity default: 4 + - name: icon + default: scooter - preset: vehicleidentify render: | type: niu {{- if ne .title "" }} title: {{ .title }} {{- end }} + {{- if ne .icon "" }} + icon: {{ .icon }} + {{- end }} user: {{ .user }} # NIU app user password: {{ .password }} # NIU app password serial: {{ .serial }} # NIU E-Scooter serial number like shown in app diff --git a/templates/definition/vehicle/offline.yaml b/templates/definition/vehicle/offline.yaml index 6cf099fde..d8d47cfa3 100644 --- a/templates/definition/vehicle/offline.yaml +++ b/templates/definition/vehicle/offline.yaml @@ -5,6 +5,9 @@ products: group: generic params: - name: title + - name: icon + default: car + advanced: true - name: capacity valuetype: float - name: phases @@ -24,6 +27,9 @@ render: | {{- if ne .title "" }} title: {{ .title }} {{- end }} + {{- if ne .icon "" }} + icon: {{ .icon }} + {{- end }} capacity: {{ .capacity }} # kWh {{- if ne .phases "" }} phases: {{ .phases }} diff --git a/templates/definition/vehicle/ovms.yaml b/templates/definition/vehicle/ovms.yaml index 878945463..aae366fda 100644 --- a/templates/definition/vehicle/ovms.yaml +++ b/templates/definition/vehicle/ovms.yaml @@ -20,12 +20,18 @@ params: default: 12 - name: phases advanced: true + - name: icon + default: car + advanced: true - preset: vehicleidentify render: | type: ovms {{- if ne .title "" }} title: {{ .title }} {{- end }} + {{- if ne .icon "" }} + icon: {{ .icon }} + {{- end }} user: {{ .user }} password: {{ .password }} vehicleid: {{ .vehicleid }} # vehicle id diff --git a/templates/definition/vehicle/silence.yaml b/templates/definition/vehicle/silence.yaml index 5dcb02040..bfbfe600f 100644 --- a/templates/definition/vehicle/silence.yaml +++ b/templates/definition/vehicle/silence.yaml @@ -11,6 +11,8 @@ params: - preset: vehiclebase - name: vin example: W... + - name: icon + default: scooter render: | type: silence {{ include "vehicle-base" . }} diff --git a/templates/definition/vehicle/tesla.yaml b/templates/definition/vehicle/tesla.yaml index 4ab675853..477a43430 100644 --- a/templates/definition/vehicle/tesla.yaml +++ b/templates/definition/vehicle/tesla.yaml @@ -34,12 +34,18 @@ params: - name: capacity - name: phases advanced: true + - name: icon + default: car + advanced: true - preset: vehicleidentify render: | type: tesla {{- if ne .title "" }} title: {{ .title }} {{- end }} + {{- if ne .icon "" }} + icon: {{ .icon }} + {{- end }} tokens: access: {{ .accessToken }} refresh: {{ .refreshToken }} diff --git a/templates/definition/vehicle/tronity.yaml b/templates/definition/vehicle/tronity.yaml index 064a31e16..baae94554 100644 --- a/templates/definition/vehicle/tronity.yaml +++ b/templates/definition/vehicle/tronity.yaml @@ -17,12 +17,18 @@ params: default: 10 - name: phases advanced: true + - name: icon + default: car + advanced: true - preset: vehicleidentify render: | type: tronity {{- if ne .title "" }} title: {{ .title }} {{- end }} + {{- if ne .icon "" }} + icon: {{ .icon }} + {{- end }} credentials: id: {{ .user }} secret: {{ .password }} diff --git a/templates/docs/vehicle/audi_0.yaml b/templates/docs/vehicle/audi_0.yaml index 8cd0f49ff..c72cb4686 100644 --- a/templates/docs/vehicle/audi_0.yaml +++ b/templates/docs/vehicle/audi_0.yaml @@ -19,6 +19,7 @@ render: vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/bmw_0.yaml b/templates/docs/vehicle/bmw_0.yaml index cdd239c49..2e7678b31 100644 --- a/templates/docs/vehicle/bmw_0.yaml +++ b/templates/docs/vehicle/bmw_0.yaml @@ -18,6 +18,7 @@ render: vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/carwings_0.yaml b/templates/docs/vehicle/carwings_0.yaml index b92da47d9..d670f73d4 100644 --- a/templates/docs/vehicle/carwings_0.yaml +++ b/templates/docs/vehicle/carwings_0.yaml @@ -19,6 +19,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/citroen_0.yaml b/templates/docs/vehicle/citroen_0.yaml index c083da3d1..b8f0a85a2 100644 --- a/templates/docs/vehicle/citroen_0.yaml +++ b/templates/docs/vehicle/citroen_0.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/cupra_0.yaml b/templates/docs/vehicle/cupra_0.yaml index 6e5ea2aa5..d9ef9b979 100644 --- a/templates/docs/vehicle/cupra_0.yaml +++ b/templates/docs/vehicle/cupra_0.yaml @@ -19,6 +19,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/dacia_0.yaml b/templates/docs/vehicle/dacia_0.yaml index 06944731c..a46fe31fe 100644 --- a/templates/docs/vehicle/dacia_0.yaml +++ b/templates/docs/vehicle/dacia_0.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 27.4 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/ds_0.yaml b/templates/docs/vehicle/ds_0.yaml index 21187e9e4..69112df99 100644 --- a/templates/docs/vehicle/ds_0.yaml +++ b/templates/docs/vehicle/ds_0.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/enyaq_0.yaml b/templates/docs/vehicle/enyaq_0.yaml index 554435bf6..b2f6f6c96 100644 --- a/templates/docs/vehicle/enyaq_0.yaml +++ b/templates/docs/vehicle/enyaq_0.yaml @@ -19,6 +19,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/etron_0.yaml b/templates/docs/vehicle/etron_0.yaml index a6dfc11ca..bc358f477 100644 --- a/templates/docs/vehicle/etron_0.yaml +++ b/templates/docs/vehicle/etron_0.yaml @@ -19,6 +19,7 @@ render: vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/evnotify_0.yaml b/templates/docs/vehicle/evnotify_0.yaml index bd9bceb1e..5e9653aa2 100644 --- a/templates/docs/vehicle/evnotify_0.yaml +++ b/templates/docs/vehicle/evnotify_0.yaml @@ -17,6 +17,7 @@ render: token: capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional targetSoC: 80 # Bis zu welchem Ladestand (SoC) soll das Fahrzeug geladen werden # Optional diff --git a/templates/docs/vehicle/fiat_0.yaml b/templates/docs/vehicle/fiat_0.yaml index 224fde813..f8f2b62a6 100644 --- a/templates/docs/vehicle/fiat_0.yaml +++ b/templates/docs/vehicle/fiat_0.yaml @@ -19,6 +19,7 @@ render: vin: ZFAE... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional pin: # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional diff --git a/templates/docs/vehicle/ford_0.yaml b/templates/docs/vehicle/ford_0.yaml index 05717aad3..e9d547472 100644 --- a/templates/docs/vehicle/ford_0.yaml +++ b/templates/docs/vehicle/ford_0.yaml @@ -18,6 +18,7 @@ render: vin: WF0FXX... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/hyundai_0.yaml b/templates/docs/vehicle/hyundai_0.yaml index 0e2e9609d..b6ba25fae 100644 --- a/templates/docs/vehicle/hyundai_0.yaml +++ b/templates/docs/vehicle/hyundai_0.yaml @@ -20,6 +20,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional language: en # 'de' für Deutsch und 'en' für Englisch # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional diff --git a/templates/docs/vehicle/id_0.yaml b/templates/docs/vehicle/id_0.yaml index 6fe27553f..63025f1f9 100644 --- a/templates/docs/vehicle/id_0.yaml +++ b/templates/docs/vehicle/id_0.yaml @@ -21,6 +21,7 @@ render: vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/jaguar-landrover_0.yaml b/templates/docs/vehicle/jaguar-landrover_0.yaml index 1378a2e81..33a95ca42 100644 --- a/templates/docs/vehicle/jaguar-landrover_0.yaml +++ b/templates/docs/vehicle/jaguar-landrover_0.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/jaguar-landrover_1.yaml b/templates/docs/vehicle/jaguar-landrover_1.yaml index 78523a167..030259046 100644 --- a/templates/docs/vehicle/jaguar-landrover_1.yaml +++ b/templates/docs/vehicle/jaguar-landrover_1.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/kia_0.yaml b/templates/docs/vehicle/kia_0.yaml index eee2901b3..ab3f1a9e3 100644 --- a/templates/docs/vehicle/kia_0.yaml +++ b/templates/docs/vehicle/kia_0.yaml @@ -20,6 +20,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional language: en # 'de' für Deutsch und 'en' für Englisch # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional diff --git a/templates/docs/vehicle/mini_0.yaml b/templates/docs/vehicle/mini_0.yaml index 0432445e0..1104a89d0 100644 --- a/templates/docs/vehicle/mini_0.yaml +++ b/templates/docs/vehicle/mini_0.yaml @@ -18,6 +18,7 @@ render: vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/nissan_0.yaml b/templates/docs/vehicle/nissan_0.yaml index f5532d7cd..4b68be444 100644 --- a/templates/docs/vehicle/nissan_0.yaml +++ b/templates/docs/vehicle/nissan_0.yaml @@ -19,6 +19,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/niu-e-scooter_0.yaml b/templates/docs/vehicle/niu-e-scooter_0.yaml index b3a65de3e..d09df0724 100644 --- a/templates/docs/vehicle/niu-e-scooter_0.yaml +++ b/templates/docs/vehicle/niu-e-scooter_0.yaml @@ -11,6 +11,7 @@ render: password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen) serial: capacity: 4 # Akku-Kapazität in kWh # Optional + icon: scooter # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional advanced: | type: template template: niu-e-scooter @@ -19,6 +20,7 @@ render: password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen) serial: capacity: 4 # Akku-Kapazität in kWh # Optional + icon: scooter # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional targetSoC: 80 # Bis zu welchem Ladestand (SoC) soll das Fahrzeug geladen werden # Optional diff --git a/templates/docs/vehicle/offline_0.yaml b/templates/docs/vehicle/offline_0.yaml index 097e7e006..c6d57f8a9 100644 --- a/templates/docs/vehicle/offline_0.yaml +++ b/templates/docs/vehicle/offline_0.yaml @@ -11,6 +11,7 @@ render: type: template template: offline title: # Wird in der Benutzeroberfläche angezeigt # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional diff --git a/templates/docs/vehicle/opel_0.yaml b/templates/docs/vehicle/opel_0.yaml index 0e09d4294..35248cf1b 100644 --- a/templates/docs/vehicle/opel_0.yaml +++ b/templates/docs/vehicle/opel_0.yaml @@ -18,6 +18,7 @@ render: vin: WP0... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/ovms_0.yaml b/templates/docs/vehicle/ovms_0.yaml index ea6fe344e..b2c2486da 100644 --- a/templates/docs/vehicle/ovms_0.yaml +++ b/templates/docs/vehicle/ovms_0.yaml @@ -21,6 +21,7 @@ render: vehicleid: capacity: 12 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional targetSoC: 80 # Bis zu welchem Ladestand (SoC) soll das Fahrzeug geladen werden # Optional diff --git a/templates/docs/vehicle/peugeot_0.yaml b/templates/docs/vehicle/peugeot_0.yaml index 7c49c7df0..1a5049987 100644 --- a/templates/docs/vehicle/peugeot_0.yaml +++ b/templates/docs/vehicle/peugeot_0.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/porsche_0.yaml b/templates/docs/vehicle/porsche_0.yaml index 19d22865f..9d1dfbc48 100644 --- a/templates/docs/vehicle/porsche_0.yaml +++ b/templates/docs/vehicle/porsche_0.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/renault_0.yaml b/templates/docs/vehicle/renault_0.yaml index 2d134250b..0a0565dd5 100644 --- a/templates/docs/vehicle/renault_0.yaml +++ b/templates/docs/vehicle/renault_0.yaml @@ -18,6 +18,7 @@ render: vin: WREN... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/seat_0.yaml b/templates/docs/vehicle/seat_0.yaml index 38dc24871..db76024b1 100644 --- a/templates/docs/vehicle/seat_0.yaml +++ b/templates/docs/vehicle/seat_0.yaml @@ -19,6 +19,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/silence_0.yaml b/templates/docs/vehicle/silence_0.yaml index eaeca4fb3..13c9bc480 100644 --- a/templates/docs/vehicle/silence_0.yaml +++ b/templates/docs/vehicle/silence_0.yaml @@ -20,4 +20,5 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: scooter # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional diff --git a/templates/docs/vehicle/silence_1.yaml b/templates/docs/vehicle/silence_1.yaml index e8e612008..cc647f3c3 100644 --- a/templates/docs/vehicle/silence_1.yaml +++ b/templates/docs/vehicle/silence_1.yaml @@ -20,4 +20,5 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: scooter # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional diff --git a/templates/docs/vehicle/skoda_0.yaml b/templates/docs/vehicle/skoda_0.yaml index 24e374745..298488f17 100644 --- a/templates/docs/vehicle/skoda_0.yaml +++ b/templates/docs/vehicle/skoda_0.yaml @@ -19,6 +19,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/smart_0.yaml b/templates/docs/vehicle/smart_0.yaml index dc7794207..358d72445 100644 --- a/templates/docs/vehicle/smart_0.yaml +++ b/templates/docs/vehicle/smart_0.yaml @@ -19,6 +19,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 17.6 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/tesla_0.yaml b/templates/docs/vehicle/tesla_0.yaml index c17a1ff2b..f46ba4855 100644 --- a/templates/docs/vehicle/tesla_0.yaml +++ b/templates/docs/vehicle/tesla_0.yaml @@ -26,6 +26,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional targetSoC: 80 # Bis zu welchem Ladestand (SoC) soll das Fahrzeug geladen werden # Optional diff --git a/templates/docs/vehicle/tronity_0.yaml b/templates/docs/vehicle/tronity_0.yaml index f45c7812e..a1692738b 100644 --- a/templates/docs/vehicle/tronity_0.yaml +++ b/templates/docs/vehicle/tronity_0.yaml @@ -20,6 +20,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 10 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional targetSoC: 80 # Bis zu welchem Ladestand (SoC) soll das Fahrzeug geladen werden # Optional diff --git a/templates/docs/vehicle/volvo_0.yaml b/templates/docs/vehicle/volvo_0.yaml index 76b16375a..af46d8428 100644 --- a/templates/docs/vehicle/volvo_0.yaml +++ b/templates/docs/vehicle/volvo_0.yaml @@ -18,6 +18,7 @@ render: vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/templates/docs/vehicle/vw_0.yaml b/templates/docs/vehicle/vw_0.yaml index 2a6a6493c..54e03507e 100644 --- a/templates/docs/vehicle/vw_0.yaml +++ b/templates/docs/vehicle/vw_0.yaml @@ -21,6 +21,7 @@ render: vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional capacity: 50 # Akku-Kapazität in kWh # Optional phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional + icon: car # Darstellung in der UI. Mögliche Werte: bike, bus, car, heater, heatercooler, heatpump, moped, motorcycle, plug, scooter, tractor, van, waterheater # Optional cache: 15m # Zeitintervall nach dem Daten erneut vom Fahrzeug abgefragt werden # Optional mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional diff --git a/vehicle/embed.go b/vehicle/embed.go index abcd48737..956836573 100644 --- a/vehicle/embed.go +++ b/vehicle/embed.go @@ -7,6 +7,7 @@ import ( type embed struct { Title_ string `mapstructure:"title"` + Icon_ string `mapstructure:"icon"` Capacity_ float64 `mapstructure:"capacity"` Phases_ int `mapstructure:"phases"` Identifiers_ []string `mapstructure:"identifiers"` @@ -19,6 +20,11 @@ func (v *embed) Title() string { return v.Title_ } +// Icon implements the api.Vehicle interface +func (v *embed) Icon() string { + return v.Icon_ +} + // Capacity implements the api.Vehicle interface func (v *embed) Capacity() float64 { return v.Capacity_ diff --git a/vehicle/wrapper/wrapper.go b/vehicle/wrapper/wrapper.go index 2b6e10825..8dbf8f8ef 100644 --- a/vehicle/wrapper/wrapper.go +++ b/vehicle/wrapper/wrapper.go @@ -27,6 +27,11 @@ func (v *Wrapper) Title() string { return "unavailable" } +// Icon implements the api.Vehicle interface +func (v *Wrapper) Icon() string { + return "" +} + // Capacity implements the api.Vehicle interface func (v *Wrapper) Capacity() float64 { return 0