85 lines
1.5 KiB
Go
85 lines
1.5 KiB
Go
package cmd
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/andig/evcc/api"
|
|
"github.com/andig/evcc/server"
|
|
)
|
|
|
|
type config struct {
|
|
URI string
|
|
Log string
|
|
Interval time.Duration
|
|
Mqtt mqttConfig
|
|
Menu []server.MenuConfig
|
|
Pushover messagingConfig
|
|
Meters []meterConfig
|
|
Chargers []chargerConfig
|
|
SoCs []socConfig
|
|
LoadPoints []loadPointConfig
|
|
}
|
|
|
|
type messagingConfig struct {
|
|
App string
|
|
Recipients []string
|
|
}
|
|
|
|
type mqttConfig struct {
|
|
Broker string
|
|
User string
|
|
Password string
|
|
}
|
|
|
|
type providerConfig struct {
|
|
Type string
|
|
Topic string
|
|
Cmd string
|
|
Timeout time.Duration
|
|
Cache time.Duration
|
|
}
|
|
|
|
type meterConfig struct {
|
|
Name string
|
|
Type string
|
|
Power *providerConfig
|
|
Energy *providerConfig
|
|
}
|
|
|
|
type chargerConfig struct {
|
|
Name string
|
|
Type string
|
|
|
|
// wallbe charger
|
|
URI string
|
|
|
|
// composite charger
|
|
Status *providerConfig // Charger
|
|
ActualCurrent *providerConfig // Charger
|
|
MaxCurrent *providerConfig // ChargeController
|
|
Enable *providerConfig // Charger
|
|
Enabled *providerConfig // Charger
|
|
}
|
|
|
|
type socConfig struct {
|
|
Name string
|
|
Title string
|
|
Type string
|
|
Capacity int64
|
|
Charge *providerConfig
|
|
}
|
|
|
|
type loadPointConfig struct {
|
|
Name string
|
|
GridMeter string // api.Meter
|
|
PVMeter string // api.Meter
|
|
ChargeMeter string // api.Meter
|
|
Charger string // api.Charger
|
|
SoC string // api.SoC
|
|
Mode api.ChargeMode
|
|
Phases int64
|
|
MinCurrent int64
|
|
MaxCurrent int64
|
|
Voltage float64
|
|
ResidualPower float64
|
|
}
|