cli: add battery mode option (#10901)
This commit is contained in:
parent
e2f38fa140
commit
0e2a9578ec
2 changed files with 25 additions and 0 deletions
|
|
@ -12,6 +12,9 @@ const (
|
|||
flagHeaders = "log-headers"
|
||||
flagHeadersDescription = "Log headers"
|
||||
|
||||
flagBatteryMode = "battery-mode"
|
||||
flagBatteryModeDescription = "Set battery mode (normal, hold, charge)"
|
||||
|
||||
flagCurrent = "current"
|
||||
flagCurrentDescription = "Set maximum current"
|
||||
|
||||
|
|
|
|||
22
cmd/meter.go
22
cmd/meter.go
|
|
@ -1,6 +1,7 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"github.com/evcc-io/evcc/api"
|
||||
"github.com/evcc-io/evcc/util/config"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
|
@ -15,6 +16,7 @@ var meterCmd = &cobra.Command{
|
|||
|
||||
func init() {
|
||||
rootCmd.AddCommand(meterCmd)
|
||||
meterCmd.Flags().StringP(flagBatteryMode, "b", "", flagBatteryModeDescription)
|
||||
}
|
||||
|
||||
func runMeter(cmd *cobra.Command, args []string) {
|
||||
|
|
@ -37,8 +39,28 @@ func runMeter(cmd *cobra.Command, args []string) {
|
|||
log.FATAL.Fatal(err)
|
||||
}
|
||||
|
||||
mode := api.BatteryUnknown
|
||||
if val := cmd.Flags().Lookup(flagBatteryMode).Value.String(); val != "" {
|
||||
var err error
|
||||
mode, err = api.BatteryModeString(val)
|
||||
if err != nil {
|
||||
log.ERROR.Fatalln(err)
|
||||
}
|
||||
}
|
||||
|
||||
meters := config.Meters().Devices()
|
||||
|
||||
if mode != api.BatteryUnknown {
|
||||
for _, dev := range meters {
|
||||
v := dev.Instance()
|
||||
if b, ok := v.(api.BatteryController); ok {
|
||||
if err := b.SetBatteryMode(mode); err != nil {
|
||||
log.FATAL.Fatalln("set battery mode:", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
d := dumper{len: len(meters)}
|
||||
for _, dev := range meters {
|
||||
v := dev.Instance()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue