AutoApi.ChargingState (auto_api v13.2.0) View Source
Keeps Charging state
Link to this section Summary
Functions
Callback implementation for AutoApi.State.base/0.
Build state based on binary value
Convenience function to build the State properties.
Parse state to bin
Link to this section Types
Specs
acoustic_limit() :: :no_action | :automatic | :unlimited | :limited
Specs
battery_charge_type() :: :no_charge | :normal | :accelerated | :fast | :quick | :ultra_fast | :not_used | :vehicle_to_home | :vehicle_to_grid
Specs
battery_led() :: :no_colour | :white | :yellow | :green | :red | :yellow_pulsing | :green_pulsing | :red_pulsing | :green_red_pulsing | :green_flashing | :initialising | :error
Specs
battery_status() :: :inactive | :active | :balancing | :external_load | :load | :error | :initialising | :conditioning
Specs
battery_temperature_control_demand() :: :high_cooling | :medium_cooling | :low_cooling | :no_temperature_requirement | :low_heating | :medium_heating | :high_heating | :circulation_requirement
Specs
brand() :: :unknown | :abarth | :alfaromeo | :alpine | :audi | :bmw | :cadillac | :chevrolet | :chrysler | :citroen | :cupra | :dacia | :dodge | :ds | :fiat | :ford | :honda | :hyundai | :iveco | :jaguar | :jeep | :kia | :lancia | :land_rover | :lexus | :man | :mazda | :mercedes_benz | :mini | :mitsubishi | :nissan | :opel | :peugeot | :porsche | :renault | :seat | :skoda | :smart | :subaru | :toyota | :volkswagen | :volvo_cars | :emulator
Specs
charge_mode() :: :immediate | :timer_based | :inductive | :conductive | :push_button
Specs
charging_end_reason() :: :unknown | :goal_reached | :requested_by_driver | :connector_removed | :powergrid_failed | :hv_system_failure | :charging_station_failure | :parking_lock_failed | :no_parking_lock | :signal_invalid
Specs
charging_phases() :: :no_charging | :one | :two | :three
Specs
charging_time_display() :: :no_display | :display_duration | :no_display_duration
Specs
charging_window_chosen() :: :not_chosen | :chosen
Specs
current_type() :: :alternating_current | :direct_current
Specs
departure_time_display() :: :no_display | :reachable | :not_reachable
Specs
nonce() :: binary()
Specs
plug_type() :: :type_1 | :type_2 | :ccs | :chademo
Specs
plugged_in() :: :disconnected | :plugged_in | :plugged_in_both_sides
Specs
preconditioning_error() :: :no_change | :not_possible_low | :not_possible_finished | :available_after_engine_restart | :general_error
Specs
smart_charging_option() :: :price_optimized | :renewable_energy | :co2_optimized
Specs
smart_charging_status() :: :wallbox_is_active | :scc_is_active | :peak_setting_active
Specs
starter_battery_state() :: :red | :yellow | :green | :orange | :green_yellow
Specs
status() :: :not_charging | :charging | :charging_complete | :initialising | :charging_paused | :charging_error | :cable_unplugged | :slow_charging | :fast_charging | :discharging | :foreign_object_detected | :conditioning | :flap_open
Specs
t() :: %AutoApi.ChargingState{
acoustic_limit:
AutoApi.State.property(:no_action | :automatic | :unlimited | :limited),
auxiliary_power: AutoApi.State.property(AutoApi.UnitType.power()),
battery_capacity: AutoApi.State.property(AutoApi.UnitType.energy()),
battery_charge_type:
AutoApi.State.property(
:no_charge
| :normal
| :accelerated
| :fast
| :quick
| :ultra_fast
| :not_used
| :vehicle_to_home
| :vehicle_to_grid
),
battery_cooling_temperature:
AutoApi.State.property(AutoApi.UnitType.temperature()),
battery_current: AutoApi.State.property(AutoApi.UnitType.electric_current()),
battery_current_ac:
AutoApi.State.property(AutoApi.UnitType.electric_current()),
battery_current_dc:
AutoApi.State.property(AutoApi.UnitType.electric_current()),
battery_energy: AutoApi.State.property(AutoApi.UnitType.energy()),
battery_energy_chargable: AutoApi.State.property(AutoApi.UnitType.energy()),
battery_led:
AutoApi.State.property(
:no_colour
| :white
| :yellow
| :green
| :red
| :yellow_pulsing
| :green_pulsing
| :red_pulsing
| :green_red_pulsing
| :green_flashing
| :initialising
| :error
),
battery_level: AutoApi.State.property(AutoApi.CustomType.percentage()),
battery_level_at_departure:
AutoApi.State.property(AutoApi.CustomType.percentage()),
battery_max_available: AutoApi.State.property(AutoApi.UnitType.energy()),
battery_status:
AutoApi.State.property(
:inactive
| :active
| :balancing
| :external_load
| :load
| :error
| :initialising
| :conditioning
),
battery_temperature: AutoApi.State.property(AutoApi.UnitType.temperature()),
battery_temperature_control_demand:
AutoApi.State.property(
:high_cooling
| :medium_cooling
| :low_cooling
| :no_temperature_requirement
| :low_heating
| :medium_heating
| :high_heating
| :circulation_requirement
),
battery_temperature_extremes:
AutoApi.State.property(AutoApi.CustomType.temperature_extreme()),
battery_tempretature_extremes:
AutoApi.State.property(AutoApi.CustomType.temperature_extreme()),
battery_voltage:
AutoApi.State.property(AutoApi.UnitType.electric_potential_difference()),
brand:
AutoApi.State.property(
:unknown
| :abarth
| :alfaromeo
| :alpine
| :audi
| :bmw
| :cadillac
| :chevrolet
| :chrysler
| :citroen
| :cupra
| :dacia
| :dodge
| :ds
| :fiat
| :ford
| :honda
| :hyundai
| :iveco
| :jaguar
| :jeep
| :kia
| :lancia
| :land_rover
| :lexus
| :man
| :mazda
| :mercedes_benz
| :mini
| :mitsubishi
| :nissan
| :opel
| :peugeot
| :porsche
| :renault
| :seat
| :skoda
| :smart
| :subaru
| :toyota
| :volkswagen
| :volvo_cars
| :emulator
),
charge_limit: AutoApi.State.property(AutoApi.CustomType.percentage()),
charge_mode:
AutoApi.State.property(
:immediate
| :timer_based
| :inductive
| :conductive
| :push_button
),
charge_port_state: AutoApi.State.property(AutoApi.CustomType.position()),
charger_voltage:
AutoApi.State.property(AutoApi.UnitType.electric_potential_difference()),
charger_voltage_ac:
AutoApi.State.property(AutoApi.UnitType.electric_potential_difference()),
charger_voltage_dc:
AutoApi.State.property(AutoApi.UnitType.electric_potential_difference()),
charging_complete_lock:
AutoApi.State.property(AutoApi.CustomType.active_state()),
charging_current: AutoApi.State.property(AutoApi.UnitType.electric_current()),
charging_end_reason:
AutoApi.State.property(
:unknown
| :goal_reached
| :requested_by_driver
| :connector_removed
| :powergrid_failed
| :hv_system_failure
| :charging_station_failure
| :parking_lock_failed
| :no_parking_lock
| :signal_invalid
),
charging_phases: AutoApi.State.property(:no_charging | :one | :two | :three),
charging_rate: AutoApi.State.property(AutoApi.UnitType.power()),
charging_rate_kw: AutoApi.State.property(AutoApi.UnitType.power()),
charging_single_immediate:
AutoApi.State.property(AutoApi.CustomType.active_state()),
charging_time_display:
AutoApi.State.property(
:no_display
| :display_duration
| :no_display_duration
),
charging_window_chosen: AutoApi.State.property(:not_chosen | :chosen),
current_limit: AutoApi.State.property(AutoApi.UnitType.electric_current()),
current_type: AutoApi.State.property(:alternating_current | :direct_current),
departure_time_display:
AutoApi.State.property(:no_display | :reachable | :not_reachable),
departure_times:
AutoApi.State.multiple_property(AutoApi.CustomType.departure_time()),
driving_mode_phev:
AutoApi.State.property(AutoApi.CustomType.driving_mode_phev()),
estimated_range: AutoApi.State.property(AutoApi.UnitType.length()),
estimated_range_target: AutoApi.State.property(AutoApi.UnitType.length()),
flap_lock_status: AutoApi.State.property(AutoApi.CustomType.lock_state()),
fully_charged_end_times:
AutoApi.State.property(AutoApi.CustomType.weekday_time()),
limit_status: AutoApi.State.property(AutoApi.CustomType.active_state()),
max_charging_current:
AutoApi.State.property(AutoApi.UnitType.electric_current()),
max_range: AutoApi.State.property(AutoApi.UnitType.length()),
min_charging_current:
AutoApi.State.property(AutoApi.UnitType.electric_current()),
nonce: AutoApi.State.property(binary()),
plug_lock_status: AutoApi.State.property(AutoApi.CustomType.lock_state()),
plug_type: AutoApi.State.property(:type_1 | :type_2 | :ccs | :chademo),
plugged_in:
AutoApi.State.property(:disconnected | :plugged_in | :plugged_in_both_sides),
preconditioning_departure_enabled:
AutoApi.State.property(AutoApi.CustomType.enabled_state()),
preconditioning_departure_status:
AutoApi.State.property(AutoApi.CustomType.active_state()),
preconditioning_error:
AutoApi.State.property(
:no_change
| :not_possible_low
| :not_possible_finished
| :available_after_engine_restart
| :general_error
),
preconditioning_immediate_status:
AutoApi.State.property(AutoApi.CustomType.active_state()),
preconditioning_remaining_time:
AutoApi.State.property(AutoApi.UnitType.duration()),
preconditioning_scheduled_time:
AutoApi.State.property(AutoApi.CustomType.time()),
reduction_times:
AutoApi.State.multiple_property(AutoApi.CustomType.reduction_time()),
restriction:
AutoApi.State.property(AutoApi.CustomType.charging_restriction()),
smart_charging_option:
AutoApi.State.property(
:price_optimized
| :renewable_energy
| :co2_optimized
),
smart_charging_status:
AutoApi.State.property(
:wallbox_is_active
| :scc_is_active
| :peak_setting_active
),
starter_battery_state:
AutoApi.State.property(:red | :yellow | :green | :orange | :green_yellow),
status:
AutoApi.State.property(
:not_charging
| :charging
| :charging_complete
| :initialising
| :charging_paused
| :charging_error
| :cable_unplugged
| :slow_charging
| :fast_charging
| :discharging
| :foreign_object_detected
| :conditioning
| :flap_open
),
time_to_complete_charge: AutoApi.State.property(AutoApi.UnitType.duration()),
timers: AutoApi.State.multiple_property(AutoApi.CustomType.timer()),
timestamp: AutoApi.State.property(DateTime.t()),
vehicle_signature: AutoApi.State.property(binary()),
vin: AutoApi.State.property(String.t())
}
Specs
timestamp() :: DateTime.t()
Specs
vehicle_signature() :: binary()
Specs
vin() :: String.t()
Link to this section Functions
Specs
base() :: t()
Callback implementation for AutoApi.State.base/0.
Specs
Build state based on binary value
iex> bin = <<23, 0, 4, 1, 0, 1, 8>> iex> AutoApi.ChargingState.from_bin(bin) %AutoApi.ChargingState{status: %AutoApi.Property{data: :fast_charging}}
Specs
Convenience function to build the State properties.
See AutoApi.State.put/3.
Examples
iex> state_base = AutoApi.DiagnosticsState.base()
iex> odometer = %{value: 10_921, unit: :kilometers}
iex> state_1 = AutoApi.DiagnosticsState.put(state_base, :odometer, data: odometer)
iex> state_2 = AutoApi.State.put(state_base, :odometer, data: odometer)
iex> state_1 === state_2
true
Specs
Parse state to bin
iex> state = %AutoApi.ChargingState{status: %AutoApi.Property{data: :fast_charging}} iex> AutoApi.ChargingState.to_bin(state) <<23, 0, 4, 1, 0, 1, 8>>