View Source Grizzly.ZWave.CommandClasses (grizzly v8.6.6)

Utilities for encoding and decoding command classes and command class lists.

Summary

Functions

Turn the binary representation that is outlined in the Network-Protocol specs

Turn the list of command classes into the binary representation outlined in the Network-Protocol command class specification.

Get the byte representation of the command class

Types

command_class()

@type command_class() ::
  :no_operation
  | :zensor_net
  | :basic
  | :controller_replication
  | :application_status
  | :zip
  | :security_panel_mode
  | :switch_binary
  | :switch_multilevel
  | :switch_all
  | :switch_toggle_binary
  | :switch_toggle_multilevel
  | :chimney_fan
  | :scene_activation
  | :scene_actuator_conf
  | :scene_controller_conf
  | :security_panel_zone
  | :security_panel_zone_sensor
  | :sensor_binary
  | :sensor_multilevel
  | :meter
  | :switch_color
  | :network_management_inclusion
  | :meter_pulse
  | :basic_tariff_info
  | :hrv_status
  | :thermostat_heating
  | :hrv_control
  | :dcp_config
  | :dcp_monitor
  | :meter_tbl_config
  | :meter_tbl_monitor
  | :meter_tbl_push
  | :prepayment
  | :thermostat_mode
  | :prepayment_encapsulation
  | :thermostat_operating_state
  | :thermostat_setpoint
  | :thermostat_fan_mode
  | :thermostat_fan_state
  | :climate_control_schedule
  | :thermostat_setback
  | :rate_tbl_config
  | :rate_tbl_monitor
  | :tariff_config
  | :tariff_tbl_monitor
  | :door_lock_logging
  | :network_management_basic
  | :schedule_entry_lock
  | :zip_6lowpan
  | :basic_window_covering
  | :mtp_window_covering
  | :network_management_proxy
  | :schedule
  | :network_management_primary
  | :transport_service
  | :crc_16_encap
  | :application_capability
  | :zip_nd
  | :association_group_info
  | :device_reset_locally
  | :central_scene
  | :ip_association
  | :antitheft
  | :zwaveplus_info
  | :zip_gateway
  | :multi_channel
  | :zip_portal
  | :door_lock
  | :user_code
  | :humidity_control_setpoint
  | :dmx
  | :barrier_operator
  | :network_management_installation_maintenance
  | :zip_naming
  | :mailbox
  | :window_covering
  | :irrigation
  | :supervision
  | :humidity_control_mode
  | :humidity_control_operating_state
  | :entry_control
  | :configuration
  | :alarm
  | :manufacturer_specific
  | :powerlevel
  | :inclusion_controller
  | :protection
  | :lock
  | :node_naming
  | :node_provisioning
  | :sound_switch
  | :firmware_update_md
  | :grouping_name
  | :remote_association_activate
  | :remote_association
  | :antitheft_unlock
  | :battery
  | :clock
  | :hail
  | :user_credential
  | :wake_up
  | :association
  | :version
  | :indicator
  | :proprietary
  | :language
  | :time
  | :time_parameters
  | :geographic_location
  | :multi_channel_association
  | :multi_cmd
  | :energy_production
  | :manufacturer_proprietary
  | :screen_md
  | :screen_attributes
  | :simple_av_control
  | :av_content_directory_md
  | :av_content_renderer_status
  | :av_content_search_md
  | :security
  | :av_tagging_md
  | :ip_configuration
  | :association_command_configuration
  | :sensor_alarm
  | :silence_alarm
  | :sensor_configuration
  | :security_2
  | :ir_repeater
  | :authentication
  | :authentication_media_write
  | :generic_schedule
  | :mark
  | :non_interoperable

command_class_list()

@type command_class_list() :: [
  non_secure_supported: [atom()],
  non_secure_controlled: [atom()],
  secure_supported: [atom()],
  secure_controlled: [atom()]
]

Functions

command_class_list_from_binary(binary)

@spec command_class_list_from_binary(binary()) :: [command_class_list()]

Turn the binary representation that is outlined in the Network-Protocol specs

command_class_list_to_binary(command_class_list)

@spec command_class_list_to_binary([command_class_list()]) :: binary()

Turn the list of command classes into the binary representation outlined in the Network-Protocol command class specification.

TODO: add more details

from_byte(byte)

@spec from_byte(byte()) ::
  {:ok, command_class()} | {:error, :unsupported_command_class}

to_byte(atom)

@spec to_byte(command_class()) :: byte()

Get the byte representation of the command class