View Source PorscheConnEx.Struct.Overview (porsche_conn_ex v0.1.0)

Structure containing overview information about a particular vehicle.

This is the structure returned by PorscheConnEx.Client.stored_overview/2 and PorscheConnEx.Client.current_overview/2.

Note that there is significant overlap between this structure, PorscheConnEx.Struct.Status, and PorscheConnEx.Struct.Emobility.

Fields

  • vin (string) — the 17-character Vehicle Identification Number
  • car_model (string ✱) — the vehicle platform code (e.g. "J1" for the Taycan)
  • engine_type (string ✱) — the type of propulsion system (e.g. "BEV")
  • mileage (Distance) — the total distance the vehicle has travelled in its lifetime
  • battery_level (BatteryLevel) — the battery charge level of the vehicle
  • charging_state (atom ✱) — the battery charging state — :off, :charging, or :completed
  • charging_status (atom ✱) — a more detailed battery charging state
    • :unplugged if the vehicle is not connected to a charging station
    • :init if the vehicle is negotiating with the charging station to begin charging
    • :charging if the vehicle is charging
    • :completed if the vehicle has finished charging
  • doors (Overview.Doors) — the open/closed and locked/unlocked state of all doors
    • contains 7 sub-fields
  • windows (Overview.Windows) — the open/closed state of all windows
    • contains 7 sub-fields
  • open? (booelan) — the overall open/closed status of the vehicle
    • This will be true if any door is unlocked, or any door/window is open.
    • Ignores the status of the hood.
  • tires (Overview.Tires) — the pressure and status of all tires
    • contains 4 sub-fields
  • parking_brake? (boolean) — whether the parking brake is engaged
  • parking_brake_status (unknown) — has always been nil in testing
  • parking_light (atom) — whether the :left or :right parking lights are engaged, or :off
  • parking_light_status (unknown) — has always been nil in testing
  • parking_time (DateTime) — the UTC time when the vehicle was last parked
  • remaining_ranges (Status.RemainingRanges) — the estimated remaining travel ranges, by propulsion type
    • contains 2 sub-fields
  • service_intervals (map of string to Status.ServiceInterval) — upcoming service intervals
    • Some entries map a string to nil, presumably to indicate no such service is requried.
  • oil_level (unknown) — my Taycan has no oil, this is nil for me
  • fuel_level (unknown) — my Taycan has no fuel, this is nil for me

Fields marked with "✱" may be nil when queried via current_overview/2.

Summary

Types

@type charging_state() :: :off | :charging | :completed
@type charging_status() :: :unplugged | :init | :charging | :completed
@type parking_light() :: :off | :left | :right
@type t() :: %PorscheConnEx.Struct.Overview{
  battery_level: PorscheConnEx.Struct.Unit.BatteryLevel.t(),
  car_model: binary(),
  charging_state: charging_state(),
  charging_status: charging_status(),
  doors: PorscheConnEx.Struct.Overview.Doors.t(),
  engine_type: binary(),
  fuel_level: any(),
  mileage: PorscheConnEx.Struct.Unit.Distance.t(),
  oil_level: any(),
  open?: boolean(),
  parking_brake?: boolean(),
  parking_brake_status: any(),
  parking_light: parking_light(),
  parking_light_status: any(),
  parking_time: DateTime.t(),
  remaining_ranges: PorscheConnEx.Struct.Status.RemainingRanges.t(),
  service_intervals: %{
    optional(binary()) => PorscheConnEx.Struct.Status.ServiceInterval.t() | nil
  },
  tires: PorscheConnEx.Struct.Overview.Tires.t(),
  vin: binary(),
  windows: PorscheConnEx.Struct.Overview.Windows.t()
}