forked from evcc-io/evcc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.go
83 lines (72 loc) · 2.03 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package configure
import (
"github.com/evcc-io/evcc/util/templates"
)
const (
DefaultConfigFilename string = "evcc.yaml"
)
type UsageChoice string
func (u UsageChoice) String() string {
return string(u)
}
type DeviceCategory string
func (c DeviceCategory) String() string {
return string(c)
}
const (
DeviceCategoryCharger DeviceCategory = "wallbox"
DeviceCategoryGridMeter DeviceCategory = "grid"
DeviceCategoryPVMeter DeviceCategory = "pv"
DeviceCategoryBatteryMeter DeviceCategory = "battery"
DeviceCategoryChargeMeter DeviceCategory = "charge"
DeviceCategoryVehicle DeviceCategory = "vehicle"
DeviceCategoryGuidedSetup DeviceCategory = "guided"
)
const (
defaultNameCharger = "wallbox"
defaultNameGridMeter = "grid"
defaultNamePVMeter = "pv"
defaultNameBatteryMeter = "battery"
defaultNameChargeMeter = "charge"
defaultNameVehicle = "ev"
)
type DeviceCategoryData struct {
title, article, additional string
class templates.Class
categoryFilter DeviceCategory
defaultName string
}
var DeviceCategories = map[DeviceCategory]DeviceCategoryData{
DeviceCategoryCharger: {
class: templates.Charger,
defaultName: defaultNameCharger,
},
DeviceCategoryGuidedSetup: {
class: templates.Meter,
},
DeviceCategoryGridMeter: {
class: templates.Meter,
categoryFilter: DeviceCategoryGridMeter,
defaultName: defaultNameGridMeter,
},
DeviceCategoryPVMeter: {
class: templates.Meter,
categoryFilter: DeviceCategoryPVMeter,
defaultName: defaultNamePVMeter,
},
DeviceCategoryBatteryMeter: {
class: templates.Meter,
categoryFilter: DeviceCategoryBatteryMeter,
defaultName: defaultNameBatteryMeter,
},
DeviceCategoryVehicle: {
class: templates.Vehicle,
defaultName: defaultNameVehicle,
},
DeviceCategoryChargeMeter: {
class: templates.Meter,
categoryFilter: DeviceCategoryChargeMeter,
defaultName: defaultNameChargeMeter,
},
}
type localizeMap map[string]interface{}