lpp

package
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2024 License: MIT Imports: 12 Imported by: 5

Documentation

Index

Constants

View Source
const (
	// Update of the list of remote entities supporting the Use Case
	//
	// Use `RemoteEntities` to get the current data
	UseCaseSupportUpdate api.EventType = "eg-lpp-UseCaseSupportUpdate"

	// Load control obligation limit data updated
	//
	// Use `ProductionLimit` to get the current data
	//
	// Use Case LPC, Scenario 1
	DataUpdateLimit api.EventType = "eg-lpp-DataUpdateLimit"

	// Failsafe limit for the produced active (real) power of the
	// Controllable System data updated
	//
	// Use `FailsafeProductionActivePowerLimit` to get the current data
	//
	// Use Case LPC, Scenario 2
	DataUpdateFailsafeProductionActivePowerLimit api.EventType = "eg-lpp-DataUpdateFailsafeProductionActivePowerLimit"

	// Minimum time the Controllable System remains in "failsafe state" unless conditions
	// specified in this Use Case permit leaving the "failsafe state" data updated
	//
	// Use `FailsafeDurationMinimum` to get the current data
	//
	// Use Case LPC, Scenario 2
	DataUpdateFailsafeDurationMinimum api.EventType = "eg-lpp-DataUpdateFailsafeDurationMinimum"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type LPP

type LPP struct {
	*usecase.UseCaseBase
}

func NewLPP

func NewLPP(localEntity spineapi.EntityLocalInterface, eventCB api.EntityEventCallback) *LPP

func (*LPP) AddFeatures

func (e *LPP) AddFeatures()

func (*LPP) FailsafeDurationMinimum

func (e *LPP) FailsafeDurationMinimum(entity spineapi.EntityRemoteInterface) (time.Duration, error)

return minimum time the Controllable System remains in "failsafe state" unless conditions specified in this Use Case permit leaving the "failsafe state"

func (*LPP) FailsafeProductionActivePowerLimit

func (e *LPP) FailsafeProductionActivePowerLimit(entity spineapi.EntityRemoteInterface) (float64, error)

return Failsafe limit for the produced active (real) power of the Controllable System. This limit becomes activated in "init" state or "failsafe state".

func (*LPP) HandleEvent

func (e *LPP) HandleEvent(payload spineapi.EventPayload)

handle SPINE events

func (*LPP) ProductionLimit

func (e *LPP) ProductionLimit(entity spineapi.EntityRemoteInterface) (
	limit ucapi.LoadLimit, resultErr error)

return the current loadcontrol limit data

parameters:

  • entity: the entity of the e.g. EVSE

return values:

  • limit: load limit data

possible errors:

  • ErrDataNotAvailable if no such limit is (yet) available
  • and others

func (*LPP) ProductionNominalMax added in v0.6.2

func (e *LPP) ProductionNominalMax(entity spineapi.EntityRemoteInterface) (float64, error)

return nominal maximum active (real) power the Controllable System is able to produce according to the contract (EMS), device label or data sheet.

func (*LPP) UpdateUseCaseAvailability

func (e *LPP) UpdateUseCaseAvailability(available bool)

func (*LPP) WriteFailsafeDurationMinimum

func (e *LPP) WriteFailsafeDurationMinimum(entity spineapi.EntityRemoteInterface, duration time.Duration) (*model.MsgCounterType, error)

send new Failsafe Duration Minimum

parameters:

  • entity: the entity of the e.g. EVSE
  • duration: the duration, between 2h and 24h

func (*LPP) WriteFailsafeProductionActivePowerLimit

func (e *LPP) WriteFailsafeProductionActivePowerLimit(entity spineapi.EntityRemoteInterface, value float64) (*model.MsgCounterType, error)

send new Failsafe Production Active Power Limit

parameters:

  • entity: the entity of the e.g. EVSE
  • value: the new limit in W

func (*LPP) WriteProductionLimit

func (e *LPP) WriteProductionLimit(
	entity spineapi.EntityRemoteInterface,
	limit ucapi.LoadLimit,
	resultCB func(result model.ResultDataType),
) (*model.MsgCounterType, error)

send new LoadControlLimits

parameters:

  • entity: the entity of the e.g. EVSE
  • limit: load limit data
  • resultCB: callback function for handling the result response

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL