Simplify timestamp parsing

This commit is contained in:
andig 2021-01-19 18:12:02 +01:00
parent 5801072c73
commit f72215a7e7
4 changed files with 15 additions and 12 deletions

View file

@ -84,10 +84,7 @@ func (v *API) FinishTime() (time.Time, error) {
res, err := v.apiG()
if res, ok := res.(Response); err == nil && ok {
var timestamp time.Time
if err == nil {
timestamp, err = time.Parse(time.RFC3339, res.Data.Attributes.Timestamp)
}
timestamp, err := time.Parse(time.RFC3339, res.Data.Attributes.Timestamp)
if res.Data.Attributes.RemainingTime == nil {
return time.Time{}, api.ErrNotAvailable

View file

@ -359,10 +359,7 @@ func (v *Renault) FinishTime() (time.Time, error) {
res, err := v.apiG()
if res, ok := res.(kamereonResponse); err == nil && ok {
var timestamp time.Time
if err == nil {
timestamp, err = time.Parse(time.RFC3339, res.Data.Attributes.Timestamp)
}
timestamp, err := time.Parse(time.RFC3339, res.Data.Attributes.Timestamp)
if res.Data.Attributes.RemainingTime == nil {
return time.Time{}, api.ErrNotAvailable

View file

@ -169,7 +169,7 @@ func (v *Volvo) vehicles() ([]string, error) {
return vehicles, err
}
func (v *Volvo) status() (volvoStatus, error) {
func (v *Volvo) status() (interface{}, error) {
var res volvoStatus
req, err := v.request(fmt.Sprintf("%s/vehicles/%s/status", volvoAPI, v.vin))
@ -199,3 +199,14 @@ func (v *Volvo) VehicleRange() (int64, error) {
return 0, err
}
// // FinishTime implements the ChargeFinishTimer interface
// func (v *Volvo) FinishTime() (time.Time, error) {
// res, err := v.statusG()
// if res, ok := res.(volvoStatus); err == nil && ok {
// timestamp, err := time.Parse(time.RFC3339, res.HvBattery.TimeToHVBatteryFullyChargedTimestamp)
// return timestamp.Add(time.Duration(res.HvBattery.DistanceToHVBatteryEmpty) * time.Minute), err
// }
// return time.Time{}, err
// }

View file

@ -65,9 +65,7 @@ func (v *Provider) FinishTime() (time.Time, error) {
return time.Time{}, api.ErrNotAvailable
}
var timestamp time.Time
timestamp, err = time.Parse(time.RFC3339, rct.Timestamp)
timestamp, err := time.Parse(time.RFC3339, rct.Timestamp)
return timestamp.Add(time.Duration(rct.Content) * time.Minute), err
}