ucevcem

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 18, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// EV number of connected phases data updated
	//
	// Use `PhasesConnected` to get the current data
	//
	// Use Case EVCEM, Scenario 1
	DataUpdatePhasesConnected api.EventType = "DataUpdatePhasesConnected"

	// EV current measurement data updated
	//
	// Use `CurrentPerPhase` to get the current data
	//
	// Use Case EVCEM, Scenario 1
	DataUpdateCurrentPerPhase api.EventType = "DataUpdateCurrentPerPhase"

	// EV power measurement data updated
	//
	// Use `PowerPerPhase` to get the current data
	//
	// Use Case EVCEM, Scenario 2
	DataUpdatePowerPerPhase api.EventType = "DataUpdatePowerPerPhase"

	// EV charging energy measurement data updated
	//
	// Use `EnergyCharged` to get the current data
	//
	// Use Case EVCEM, Scenario 3
	DataUpdateEnergyCharged api.EventType = "DataUpdateEnergyCharged"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type UCEVCEM

type UCEVCEM struct {
	// contains filtered or unexported fields
}

func NewUCEVCEM

func NewUCEVCEM(service serviceapi.ServiceInterface, eventCB api.EntityEventCallback) *UCEVCEM

func (*UCEVCEM) AddFeatures

func (e *UCEVCEM) AddFeatures()

func (*UCEVCEM) AddUseCase

func (e *UCEVCEM) AddUseCase()

func (*UCEVCEM) CurrentPerPhase

func (e *UCEVCEM) CurrentPerPhase(entity spineapi.EntityRemoteInterface) ([]float64, error)

return the last current measurement for each phase of the connected EV

possible errors:

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

func (*UCEVCEM) EnergyCharged

func (e *UCEVCEM) EnergyCharged(entity spineapi.EntityRemoteInterface) (float64, error)

return the charged energy measurement in Wh of the connected EV

possible errors:

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

func (*UCEVCEM) HandleEvent

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

handle SPINE events

func (*UCEVCEM) IsUseCaseSupported

func (e *UCEVCEM) IsUseCaseSupported(entity spineapi.EntityRemoteInterface) (bool, error)

returns if the entity supports the usecase

possible errors:

  • ErrDataNotAvailable if that information is not (yet) available
  • and others

func (*UCEVCEM) PhasesConnected

func (e *UCEVCEM) PhasesConnected(entity spineapi.EntityRemoteInterface) (uint, error)

return the number of ac connected phases of the EV or 0 if it is unknown

func (*UCEVCEM) PowerPerPhase

func (e *UCEVCEM) PowerPerPhase(entity spineapi.EntityRemoteInterface) ([]float64, error)

return the last power measurement for each phase of the connected EV

possible errors:

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

func (*UCEVCEM) UpdateUseCaseAvailability

func (e *UCEVCEM) UpdateUseCaseAvailability(available bool)

func (*UCEVCEM) UseCaseName

func (c *UCEVCEM) UseCaseName() model.UseCaseNameType

type UCEVCEMInterface

type UCEVCEMInterface interface {
	api.UseCaseInterface

	// return the number of ac connected phases of the EV or 0 if it is unknown
	//
	// parameters:
	//   - entity: the entity of the EV
	PhasesConnected(entity spineapi.EntityRemoteInterface) (uint, error)

	// return the last current measurement for each phase of the connected EV
	//
	// parameters:
	//   - entity: the entity of the EV
	CurrentPerPhase(entity spineapi.EntityRemoteInterface) ([]float64, error)

	// return the last power measurement for each phase of the connected EV
	//
	// parameters:
	//   - entity: the entity of the EV
	PowerPerPhase(entity spineapi.EntityRemoteInterface) ([]float64, error)

	// return the charged energy measurement in Wh of the connected EV
	//
	// parameters:
	//   - entity: the entity of the EV
	EnergyCharged(entity spineapi.EntityRemoteInterface) (float64, error)
}

interface for the EV Charging Electricity Measurement UseCase

Jump to

Keyboard shortcuts

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