auto_api v0.1.0 AutoApi.MaintenanceCapability View Source

Basic settings for Maintenance Capability

iex> alias AutoApi.MaintenanceCapability, as: M
iex> M.identifier
<<0x00, 0x34>>
iex> M.capability_size
1
iex> M.name
:maintenance
iex> M.description
"Maintenance"
iex> M.command_name(0x00)
:get_maintenance_state
iex> M.command_name(0x01)
:maintenance_state
iex> length(M.properties)
2
iex> M.properties
[{0x01, :days_to_next_service}, {0x02, :kilometers_to_next_service}]

Link to this section Summary

Functions

Deprecated. Use API level 5 and above

Deprecated. Use API level 5 and above

Returns the command module related to this capability

Return commands id based on atom

Returns commands readable name

Returns map of commands id and thier name

Returns capability’s description: Maintenance

Retunrs capability’s identifier: <<0x0, 0x34>>

Returns capability’s unique name: maintenance

Retunrs properties under Maintenance:

[{0x1, :days_to_next_service}, {0x2, :kilometers_to_next_service}]

Returns the command module related to this capability

Returns binary value of capability based on list of available supported capabilities

Returns list of supported sub capability based on binary value

Deprecated. Use API level 5 and above

Deprecated. Use API level 5 and above

Link to this section Types

Link to this type command_type() View Source
command_type() :: :get_maintenance_state | :maintenance_state

Link to this section Functions

Link to this function capabilities() View Source
capabilities() :: [map()]

Deprecated. Use API level 5 and above.

Retunrs capabilities under Maintenance:

[]
Link to this function capability_size() View Source
capability_size() :: integer()

Deprecated. Use API level 5 and above.

Returns capability size: 1

Link to this function command() View Source
command() :: atom()

Returns the command module related to this capability

Return commands id based on atom

Link to this function command_name(id) View Source
command_name(integer()) ::
  AutoApi.MaintenanceCapability.command_type() |
  nil

Returns commands readable name.

Available commands:

%{0x0 => :get_maintenance_state, 0x1 => :maintenance_state}
Link to this function commands() View Source
commands() :: [{integer(), atom()}]

Returns map of commands id and thier name

[{0x0, :get_maintenance_state}, {0x1, :maintenance_state}]

Link to this function description() View Source
description() :: String.t()

Returns capability’s description: Maintenance

Link to this function identifier() View Source
identifier() :: binary()

Retunrs capability’s identifier: <<0x0, 0x34>>

Returns capability’s unique name: maintenance

Link to this function properties() View Source
properties() :: [tuple()]

Retunrs properties under Maintenance:

[{0x1, :days_to_next_service}, {0x2, :kilometers_to_next_service}]

Returns the command module related to this capability

Link to this function to_bin(actions_list) View Source
to_bin([command_type()]) :: binary()

Returns binary value of capability based on list of available supported capabilities

Link to this function to_map(capability_bin) View Source
to_map(binary()) :: [command_type()] :: [map()]

Returns list of supported sub capability based on binary value

Level 5:

ie> HmAutoApi.DoorLocksCapability.to_map(<<0x00, 0x20, 0x01, 0x00, 0x02>>)
[:lock_state, :get_lock_state, :lock_unlock_doors]

Level 4:

ie> HmAutoApi.DoorLocksCapability.to_map(<<0x1, 0x0>>)
[%{bin: <<0x00>>, name: "Unavailable", atom: :unavailable, title: ""}]
Link to this function to_map(sub_cap_bin, index) View Source

Deprecated. Use API level 5 and above.

Deprecated. Use API level 5 and above.