OCPP: support empty chargepoint id (#3875)
This commit is contained in:
parent
53246cda4a
commit
5861a65446
2 changed files with 17 additions and 2 deletions
|
|
@ -82,8 +82,14 @@ func NewOCPPFromConfig(other map[string]interface{}) (api.Charger, error) {
|
|||
// NewOCPP creates OCPP charger
|
||||
func NewOCPP(id string, connector int, idtag string, hasMeter bool, meterInterval time.Duration, initialReset core.ResetType) (*OCPP, error) {
|
||||
cp := ocpp.Instance().Register(id, hasMeter)
|
||||
|
||||
logstr := "-charger"
|
||||
if id != "" {
|
||||
logstr = fmt.Sprintf("-%s", id)
|
||||
}
|
||||
|
||||
c := &OCPP{
|
||||
log: util.NewLogger(fmt.Sprintf("ocpp-%s:%d", id, connector)),
|
||||
log: util.NewLogger(fmt.Sprintf("ocpp%s:%d", logstr, connector)),
|
||||
cp: cp,
|
||||
id: id,
|
||||
connector: connector,
|
||||
|
|
|
|||
|
|
@ -56,7 +56,16 @@ func (cs *CS) NewChargePoint(chargePoint ocpp16.ChargePointConnection) {
|
|||
defer cs.mu.Unlock()
|
||||
|
||||
if _, err := cs.chargepointByID(chargePoint.ID()); err != nil {
|
||||
cs.log.ERROR.Println(err)
|
||||
cs.log.WARN.Println(err)
|
||||
|
||||
cs.log.INFO.Printf("new chargepoint with ID (%s) detected, atempting to remap", chargePoint.ID())
|
||||
if unknownIDCP, ok := cs.cps[""]; ok && unknownIDCP != nil {
|
||||
cs.mu.Lock()
|
||||
unknownIDCP.id = chargePoint.ID()
|
||||
cs.cps[chargePoint.ID()] = unknownIDCP
|
||||
delete(cs.cps, "") // remove unknownID key
|
||||
cs.mu.Unlock()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue