87 lines
1.7 KiB
Go
87 lines
1.7 KiB
Go
package site
|
|
|
|
import (
|
|
"github.com/evcc-io/evcc/api"
|
|
"github.com/evcc-io/evcc/core/loadpoint"
|
|
)
|
|
|
|
// publisher gives access to the site's publish function
|
|
type Publisher interface {
|
|
Publish(key string, val any)
|
|
}
|
|
|
|
// API is the external site API
|
|
type API interface {
|
|
Publisher
|
|
|
|
Loadpoints() []loadpoint.API
|
|
Vehicles() Vehicles
|
|
Optimize() error
|
|
|
|
// Meta
|
|
GetTitle() string
|
|
SetTitle(string)
|
|
|
|
// Config
|
|
GetGridMeterRef() string
|
|
SetGridMeterRef(string)
|
|
GetPVMeterRefs() []string
|
|
SetPVMeterRefs([]string)
|
|
GetBatteryMeterRefs() []string
|
|
SetBatteryMeterRefs([]string)
|
|
GetAuxMeterRefs() []string
|
|
SetAuxMeterRefs([]string)
|
|
GetExtMeterRefs() []string
|
|
SetExtMeterRefs([]string)
|
|
|
|
// circuits
|
|
GetCircuit() api.Circuit
|
|
SetCircuit(api.Circuit)
|
|
|
|
//
|
|
// battery
|
|
//
|
|
|
|
GetBatterySoc() float64
|
|
GetPrioritySoc() float64
|
|
SetPrioritySoc(float64) error
|
|
GetBufferSoc() float64
|
|
SetBufferSoc(float64) error
|
|
GetBufferStartSoc() float64
|
|
SetBufferStartSoc(float64) error
|
|
|
|
// GetBatteryGridChargeLimit get the grid charge limit
|
|
GetBatteryGridChargeLimit() *float64
|
|
// SetBatteryGridChargeLimit sets the grid charge limit
|
|
SetBatteryGridChargeLimit(limit *float64) error
|
|
|
|
//
|
|
// power and energy
|
|
//
|
|
|
|
GetResidualPower() float64
|
|
SetResidualPower(float64) error
|
|
|
|
//
|
|
// tariffs and costs
|
|
//
|
|
|
|
// GetTariff returns the respective tariff
|
|
GetTariff(api.TariffUsage) api.Tariff
|
|
|
|
//
|
|
// battery control
|
|
//
|
|
|
|
GetBatteryDischargeControl() bool
|
|
SetBatteryDischargeControl(bool) error
|
|
|
|
//
|
|
// battery control external
|
|
//
|
|
|
|
// GetBatteryModeExternal returns the external battery mode
|
|
GetBatteryModeExternal() api.BatteryMode
|
|
// SetBatteryModeExternal sets the external battery mode
|
|
SetBatteryModeExternal(api.BatteryMode) error
|
|
}
|