Ocpp: test power and energy
This commit is contained in:
parent
29dc7bd2f3
commit
8bd8c2dbcc
3 changed files with 19 additions and 8 deletions
|
|
@ -230,7 +230,7 @@ func NewOCPP(id string, connector int, idtag string,
|
|||
}
|
||||
|
||||
// get initial meter values and configure sample rate
|
||||
if c.hasMeasurement("Power.Active.Import") || c.hasMeasurement("Energy.Active.Import.Register") {
|
||||
if c.hasMeasurement(types.MeasurandPowerActiveImport) || c.hasMeasurement(types.MeasurandEnergyActiveImportRegister) {
|
||||
ocpp.Instance().TriggerMeterValuesRequest(cp.ID(), cp.Connector())
|
||||
|
||||
if !noConfig && meterSampleInterval > meterInterval && meterInterval > 0 {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,8 @@ func TestOcpp(t *testing.T) {
|
|||
|
||||
type ocppTestSuite struct {
|
||||
suite.Suite
|
||||
cp ocpp16.ChargePoint
|
||||
clock *clock.Mock
|
||||
cp ocpp16.ChargePoint
|
||||
}
|
||||
|
||||
func (suite *ocppTestSuite) SetupSuite() {
|
||||
|
|
@ -34,6 +35,7 @@ func (suite *ocppTestSuite) SetupSuite() {
|
|||
suite.NotNil(ocpp.Instance())
|
||||
|
||||
// setup cp
|
||||
suite.clock = clock.NewMock()
|
||||
cp := ocpp16.NewChargePoint("test", nil, nil)
|
||||
|
||||
// set a handler for all callback functions
|
||||
|
|
@ -70,9 +72,10 @@ func (suite *ocppTestSuite) handleTrigger(msg remotetrigger.MessageTrigger) {
|
|||
case core.MeterValuesFeatureName:
|
||||
if res, err := suite.cp.MeterValues(1, []types.MeterValue{
|
||||
{
|
||||
Timestamp: types.NewDateTime(time.Now()),
|
||||
Timestamp: types.NewDateTime(suite.clock.Now()),
|
||||
SampledValue: []types.SampledValue{
|
||||
{Measurand: types.MeasurandPowerActiveImport, Value: "1000"},
|
||||
{Measurand: types.MeasurandEnergyActiveImportRegister, Value: "1.2", Unit: "kWh"},
|
||||
},
|
||||
},
|
||||
}); err != nil {
|
||||
|
|
@ -99,11 +102,19 @@ func (suite *ocppTestSuite) TestConnect() {
|
|||
return
|
||||
}
|
||||
|
||||
clock := clock.NewMock()
|
||||
c.cp.TestClock(clock)
|
||||
|
||||
clock.Add(ocppTestTimeout)
|
||||
suite.clock.Add(ocppTestTimeout)
|
||||
c.cp.TestClock(suite.clock)
|
||||
|
||||
_, err = c.Status()
|
||||
suite.NoError(err)
|
||||
|
||||
// power
|
||||
f, err := c.currentPower()
|
||||
suite.NoError(err)
|
||||
suite.Equal(1e3, f)
|
||||
|
||||
// energy
|
||||
f, err = c.totalEnergy()
|
||||
suite.NoError(err)
|
||||
suite.Equal(1.2, f)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ func (handler *ChargePointHandler) OnDataTransfer(request *core.DataTransferRequ
|
|||
func (handler *ChargePointHandler) OnGetConfiguration(request *core.GetConfigurationRequest) (confirmation *core.GetConfigurationConfirmation, err error) {
|
||||
fmt.Printf("%T %+v\n", request, request)
|
||||
one := "1"
|
||||
meter := "Power.Active.Import"
|
||||
meter := "Power.Active.Import,Energy.Active.Import.Register"
|
||||
return core.NewGetConfigurationConfirmation([]core.ConfigurationKey{
|
||||
{Key: "AuthorizationKey"},
|
||||
{Key: "NumberOfConnectors", Value: &one},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue