chore: simplify topics
This commit is contained in:
parent
9887fec26a
commit
e451464d3d
1 changed files with 27 additions and 27 deletions
|
|
@ -173,19 +173,19 @@ func (m *MQTT) Listen(site site.API) error {
|
|||
|
||||
func (m *MQTT) listenSiteSetters(topic string, site site.API) error {
|
||||
for _, s := range []setter{
|
||||
{"/bufferSoc", floatSetter(site.SetBufferSoc)},
|
||||
{"/bufferStartSoc", floatSetter(site.SetBufferStartSoc)},
|
||||
{"/batteryDischargeControl", boolSetter(site.SetBatteryDischargeControl)},
|
||||
{"/prioritySoc", floatSetter(site.SetPrioritySoc)},
|
||||
{"/residualPower", floatSetter(site.SetResidualPower)},
|
||||
{"/smartCostLimit", floatPtrSetter(pass(func(limit *float64) {
|
||||
{"bufferSoc", floatSetter(site.SetBufferSoc)},
|
||||
{"bufferStartSoc", floatSetter(site.SetBufferStartSoc)},
|
||||
{"batteryDischargeControl", boolSetter(site.SetBatteryDischargeControl)},
|
||||
{"prioritySoc", floatSetter(site.SetPrioritySoc)},
|
||||
{"residualPower", floatSetter(site.SetResidualPower)},
|
||||
{"smartCostLimit", floatPtrSetter(pass(func(limit *float64) {
|
||||
for _, lp := range site.Loadpoints() {
|
||||
lp.SetSmartCostLimit(limit)
|
||||
}
|
||||
}))},
|
||||
{"/batteryGridChargeLimit", floatPtrSetter(pass(site.SetBatteryGridChargeLimit))},
|
||||
{"batteryGridChargeLimit", floatPtrSetter(pass(site.SetBatteryGridChargeLimit))},
|
||||
} {
|
||||
if err := m.Handler.ListenSetter(topic+s.topic, s.fun); err != nil {
|
||||
if err := m.Handler.ListenSetter(topic+"/"+s.topic, s.fun); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
@ -195,19 +195,19 @@ func (m *MQTT) listenSiteSetters(topic string, site site.API) error {
|
|||
|
||||
func (m *MQTT) listenLoadpointSetters(topic string, site site.API, lp loadpoint.API) error {
|
||||
for _, s := range []setter{
|
||||
{"/mode", setterFunc(api.ChargeModeString, pass(lp.SetMode))},
|
||||
{"/phases", intSetter(lp.SetPhases)},
|
||||
{"/limitSoc", intSetter(pass(lp.SetLimitSoc))},
|
||||
{"/minCurrent", floatSetter(lp.SetMinCurrent)},
|
||||
{"/maxCurrent", floatSetter(lp.SetMaxCurrent)},
|
||||
{"/limitEnergy", floatSetter(pass(lp.SetLimitEnergy))},
|
||||
{"/enableThreshold", floatSetter(pass(lp.SetEnableThreshold))},
|
||||
{"/disableThreshold", floatSetter(pass(lp.SetDisableThreshold))},
|
||||
{"/enableDelay", durationSetter(pass(lp.SetEnableDelay))},
|
||||
{"/disableDelay", durationSetter(pass(lp.SetDisableDelay))},
|
||||
{"/smartCostLimit", floatPtrSetter(pass(lp.SetSmartCostLimit))},
|
||||
{"/batteryBoost", boolSetter(lp.SetBatteryBoost)},
|
||||
{"/planEnergy", func(payload string) error {
|
||||
{"mode", setterFunc(api.ChargeModeString, pass(lp.SetMode))},
|
||||
{"phases", intSetter(lp.SetPhases)},
|
||||
{"limitSoc", intSetter(pass(lp.SetLimitSoc))},
|
||||
{"minCurrent", floatSetter(lp.SetMinCurrent)},
|
||||
{"maxCurrent", floatSetter(lp.SetMaxCurrent)},
|
||||
{"limitEnergy", floatSetter(pass(lp.SetLimitEnergy))},
|
||||
{"enableThreshold", floatSetter(pass(lp.SetEnableThreshold))},
|
||||
{"disableThreshold", floatSetter(pass(lp.SetDisableThreshold))},
|
||||
{"enableDelay", durationSetter(pass(lp.SetEnableDelay))},
|
||||
{"disableDelay", durationSetter(pass(lp.SetDisableDelay))},
|
||||
{"smartCostLimit", floatPtrSetter(pass(lp.SetSmartCostLimit))},
|
||||
{"batteryBoost", boolSetter(lp.SetBatteryBoost)},
|
||||
{"planEnergy", func(payload string) error {
|
||||
var plan struct {
|
||||
Time time.Time `json:"time"`
|
||||
Value float64 `json:"value"`
|
||||
|
|
@ -218,7 +218,7 @@ func (m *MQTT) listenLoadpointSetters(topic string, site site.API, lp loadpoint.
|
|||
}
|
||||
return err
|
||||
}},
|
||||
{"/vehicle", func(payload string) error {
|
||||
{"vehicle", func(payload string) error {
|
||||
// https://github.com/evcc-io/evcc/issues/11184 empty payload is swallowed by listener
|
||||
if payload == "-" {
|
||||
lp.SetVehicle(nil)
|
||||
|
|
@ -231,7 +231,7 @@ func (m *MQTT) listenLoadpointSetters(topic string, site site.API, lp loadpoint.
|
|||
return err
|
||||
}},
|
||||
} {
|
||||
if err := m.Handler.ListenSetter(topic+s.topic, s.fun); err != nil {
|
||||
if err := m.Handler.ListenSetter(topic+"/"+s.topic, s.fun); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
@ -241,9 +241,9 @@ func (m *MQTT) listenLoadpointSetters(topic string, site site.API, lp loadpoint.
|
|||
|
||||
func (m *MQTT) listenVehicleSetters(topic string, v vehicle.API) error {
|
||||
for _, s := range []setter{
|
||||
{topic + "/limitSoc", intSetter(pass(v.SetLimitSoc))},
|
||||
{topic + "/minSoc", intSetter(pass(v.SetMinSoc))},
|
||||
{topic + "/planSoc", func(payload string) error {
|
||||
{"limitSoc", intSetter(pass(v.SetLimitSoc))},
|
||||
{"minSoc", intSetter(pass(v.SetMinSoc))},
|
||||
{"planSoc", func(payload string) error {
|
||||
var plan struct {
|
||||
Time time.Time `json:"time"`
|
||||
Value int `json:"value"`
|
||||
|
|
@ -255,7 +255,7 @@ func (m *MQTT) listenVehicleSetters(topic string, v vehicle.API) error {
|
|||
return err
|
||||
}},
|
||||
} {
|
||||
if err := m.Handler.ListenSetter(s.topic, s.fun); err != nil {
|
||||
if err := m.Handler.ListenSetter(topic+"/"+s.topic, s.fun); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue