diff --git a/charger/ocpp.go b/charger/ocpp.go index a49957df3..02b4169be 100644 --- a/charger/ocpp.go +++ b/charger/ocpp.go @@ -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, diff --git a/charger/ocpp/cs.go b/charger/ocpp/cs.go index 453cac65b..9fa09bbf7 100644 --- a/charger/ocpp/cs.go +++ b/charger/ocpp/cs.go @@ -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() + } } }