Documentation ¶
Index ¶
- Constants
- Variables
- func IsPaired(status string) bool
- func NewIdentity(log *util.Logger, user, password string) (oauth2.TokenSource, error)
- type API
- type CapabilitiesResponse
- type EmobilityAPI
- type EmobilityResponse
- type Identity
- type Provider
- func (v *Provider) Climater() (bool, error)
- func (v *Provider) FinishTime() (time.Time, error)
- func (v *Provider) Odometer() (float64, error)
- func (v *Provider) Range() (int64, error)
- func (v *Provider) Soc() (float64, error)
- func (v *Provider) Status() (api.ChargeStatus, error)
- func (v *Provider) WakeUp() error
- type StatusResponse
- type Vehicle
- type VehiclePairingResponse
Constants ¶
View Source
const ( ApiURI = "https://api.porsche.com" PairingComplete = "PAIRINGCOMPLETE" PairingInProcess = "INPROCESS" )
View Source
const ( OAuthURI = "https://identity.porsche.com" ClientID = "UYsK00My6bCqJdbQhTQ0PbWmcSdIAMig" )
Variables ¶
View Source
var ( OAuth2Config = &oauth2.Config{ ClientID: ClientID, RedirectURL: "https://my.porsche.com/", Endpoint: oauth2.Endpoint{ AuthURL: OAuthURI + "/authorize", TokenURL: OAuthURI + "/oauth/token", AuthStyle: oauth2.AuthStyleInParams, }, Scopes: []string{ "openid", "offline_access", "profile", "email", "pid:user_profile.vehicles:read", }, } )
https://identity.porsche.com/.well-known/openid-configuration
Functions ¶
func NewIdentity ¶
NewIdentity creates Porsche identity
Types ¶
type API ¶
API is an api.Vehicle implementation for Porsche PHEV cars
func NewAPI ¶
func NewAPI(log *util.Logger, identity oauth2.TokenSource) *API
NewAPI creates a new vehicle
func (*API) PairingStatus ¶
func (v *API) PairingStatus(vin string) (VehiclePairingResponse, error)
PairingStatus implements the vehicle pairing status response
func (*API) Status ¶
func (v *API) Status(vin string) (StatusResponse, error)
Status implements the vehicle status response
type CapabilitiesResponse ¶
type CapabilitiesResponse struct { DisplayParkingBrake bool NeedsSPIN bool HasRDK bool EngineType string CarModel string OnlineRemoteUpdateStatus struct { EditableByUser bool Active bool } HeatingCapabilities struct { FrontSeatHeatingAvailable bool RearSeatHeatingAvailable bool } SteeringWheelPosition string HasHonkAndFlash bool }
type EmobilityAPI ¶
EmobilityAPI is the Porsche Emobility API
func NewEmobilityAPI ¶
func NewEmobilityAPI(log *util.Logger, identity oauth2.TokenSource) *EmobilityAPI
NewEmobilityAPI creates a new vehicle
func (*EmobilityAPI) Capabilities ¶
func (v *EmobilityAPI) Capabilities(vin string) (CapabilitiesResponse, error)
func (*EmobilityAPI) Status ¶
func (v *EmobilityAPI) Status(vin, model string) (EmobilityResponse, error)
Status implements the vehicle status response
type EmobilityResponse ¶
type EmobilityResponse struct { BatteryChargeStatus *struct { ChargeRate struct { Unit string Value float64 ValueInKmPerHour int64 } ChargingInDCMode bool ChargingMode string ChargingPower float64 ChargingReason string ChargingState string ChargingTargetDateTime string ExternalPowerSupplyState string PlugState string RemainingChargeTimeUntil100PercentInMinutes int64 StateOfChargeInPercentage int64 RemainingERange struct { OriginalUnit string OriginalValue int64 Unit string Value int64 ValueInKilometers int64 } } ChargingStatus string DirectCharge struct { Disabled bool IsActive bool } DirectClimatisation struct { ClimatisationState string RemainingClimatisationTime int64 } PcckErrorMessage string }
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider is an api.Vehicle implementation for Porsche PHEV cars
func NewProvider ¶
func NewProvider(log *util.Logger, connect *API, emobility *EmobilityAPI, vin, carModel string, cache time.Duration) *Provider
NewProvider creates a vehicle api provider
func (*Provider) FinishTime ¶
FinishTime implements the api.VehicleFinishTimer interface
type StatusResponse ¶
Click to show internal directories.
Click to hide internal directories.