Documentation ¶
Index ¶
- Constants
- func Refresher(log *util.Logger) oauth.TokenRefresher
- type API
- type BatteryStatus
- type ChargingSettings
- type ChargingStatus
- type ClimatisationSettings
- type ClimatisationStatus
- type PlugStatus
- type Provider
- func (v *Provider) Climater() (active bool, outsideTemp float64, targetTemp float64, err error)
- func (v *Provider) FinishTime() (time.Time, error)
- func (v *Provider) Range() (int64, error)
- func (v *Provider) SoC() (float64, error)
- func (v *Provider) StartCharge() error
- func (v *Provider) Status() (api.ChargeStatus, error)
- type RangeStatus
- type Status
- type Token
Constants ¶
const ( ActionCharge = "charging" ActionStopCharge = "stopcharging" ActionChargeStart = "start" ActionChargeStop = "stop" ActionChargeSettings = "settings" // body: targetSOC_pct ActionClimatisation = "climatisation" ActionClimatisationStart = "start" ActionClimatisationStop = "stop" )
Actions and action values
const BaseURL = "https://mobileapi.apps.emea.vwapps.io"
BaseURL is the API base url
Variables ¶
This section is empty.
Functions ¶
Types ¶
type API ¶
API is an api.Vehicle implementation for VW ID cars
func NewAPI ¶
func NewAPI(log *util.Logger, identity oauth2.TokenSource) *API
NewAPI creates a new vehicle
type BatteryStatus ¶
type BatteryStatus struct { CarCapturedTimestamp string CurrentSOCPercent int `json:"currentSOC_pct"` CruisingRangeElectricKm int `json:"cruisingRangeElectric_km"` }
BatteryStatus is the /status.batteryStatus api
type ChargingSettings ¶
type ChargingSettings struct { CarCapturedTimestamp string MaxChargeCurrentAC string // reduced, maximum AutoUnlockPlugWhenCharged string TargetSOCPercent int `json:"targetSOC_pct"` }
ChargingSettings is the /status.chargingSettings api
type ChargingStatus ¶
type ChargingStatus struct { CarCapturedTimestamp string ChargingState string // readyForCharging RemainingChargingTimeToCompleteMin int `json:"remainingChargingTimeToComplete_min"` ChargePowerKW float64 `json:"chargePower_kW"` ChargeRateKmph int `json:"chargeRate_kmph"` }
ChargingStatus is the /status.chargingStatus api
type ClimatisationSettings ¶
type ClimatisationSettings struct { CarCapturedTimestamp string TargetTemperatureK float64 `json:"targetTemperature_K"` TargetTemperatureC float64 `json:"targetTemperature_C"` ClimatisationWithoutExternalPower bool ClimatisationAtUnlock bool // ClimatizationAtUnlock? WindowHeatingEnabled bool ZoneFrontLeftEnabled bool ZoneFrontRightEnabled bool ZoneRearLeftEnabled bool ZoneRearRightEnabled bool }
ClimatisationSettings is the /status.climatisationSettings api
type ClimatisationStatus ¶
type ClimatisationStatus struct { CarCapturedTimestamp string RemainingClimatisationTimeMin int `json:"remainingClimatisationTime_min"` ClimatisationState string // off }
ClimatisationStatus is the /status.climatisationStatus api
type PlugStatus ¶
type PlugStatus struct { CarCapturedTimestamp string PlugConnectionState string // connected, disconnected PlugLockState string }
PlugStatus is the /status.plugStatus api
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider is an api.Vehicle implementation for VW ID cars
func NewProvider ¶
NewProvider creates a new vehicle
func (*Provider) FinishTime ¶
FinishTime implements the api.VehicleFinishTimer interface
func (*Provider) StartCharge ¶
StartCharge implements the api.VehicleStartCharge interface
type RangeStatus ¶
type RangeStatus struct { CarCapturedTimestamp string CarType string PrimaryEngine struct { Type string CurrentSOCPercent int `json:"currentSOC_pct"` RemainingRangeKm int `json:"remainingRange_km"` } TotalRangeKm int `json:"totalRange_km"` }
RangeStatus is the /status.rangeStatus api
type Status ¶
type Status struct { Data struct { BatteryStatus BatteryStatus ChargingStatus ChargingStatus ChargingSettings ChargingSettings PlugStatus PlugStatus RangeStatus RangeStatus ClimatisationSettings ClimatisationSettings ClimatisationStatus ClimatisationStatus // may be currently not available } }
Status is the /status api