View Source Grizzly.ZWave.SmartStart.MetaExtension (grizzly v8.5.3)
Meta Extensions for SmartStart devices for QR codes and node provisioning list
Summary
Types
Version of the application in a string format of "Major.Minor"
The mode to use when including the node advertised in the provisioning list
Meta extension for SmartStart devices
Generic Device Class for the product type extension
The interval (in seconds) must be in the range of 640..12672 inclusive, and has to be in steps of 128 seconds.
Settings for the smart start inclusion setting exentsion
The location string cannot contain underscores and cannot end with a dash.
The name string cannot contain underscores and cannot end with a dash.
Installer icon for the product type extension
Id of the manufacturer for the product id extension
The different network statuses are
Id of the product produced by the manufacturer for the product id extension
Type of product produced by the manufacturer for the product id extension
Specific Device Class for the product type extension
Unsigned 16 bit integer
Types
@type application_version() :: binary()
Version of the application in a string format of "Major.Minor"
@type bootstrapping_mode() :: :security_2 | :smart_start | :long_range
The mode to use when including the node advertised in the provisioning list
:security_2
- the node must be manually set to learn mode and follow the S2 bootstrapping instructions:smart_start
- the node will use S2 bootstrapping automatically using the SmartStart functionality:long_range
- included the device using the Z-Waver long range protocol. If no keys are granted in the:advanced_joining
extension this inclusion will fail.
@type extension() :: {:advanced_joining, [Grizzly.ZWave.Security.key()]} | {:bootstrapping_mode, bootstrapping_mode()} | {:location_information, information_location()} | {:max_inclusion_request_interval, inclusion_interval()} | {:name_information, information_name()} | {:network_status, {Grizzly.ZWave.node_id(), atom()}} | {:product_id, product_id_values()} | {:product_type, product_type_values()} | {:smart_start_inclusion_setting, inclusion_setting()} | {:uuid16, Grizzly.ZWave.SmartStart.MetaExtension.UUID16.t()} | {:unknown, binary()}
Meta extension for SmartStart devices
:advanced_joining
- used to specify which S2 security keys to grant during S2 inclusion:bootstrapping_mode
- used to specify the bootstrapping mode the including node must join with:location_information
- used to advertise the location assigned to the node:max_inclusion_request_interval
- used to advertise if a power constrained smart start node will issue an inclusion request at a higher interval than the default 512 seconds:name_information
- used to advertise the name of the node:network_status
- used to advertise if the node is in the network and its node id:product_id
- used to advertise product identifying data:product_type
- used to advertise the product type data:smart_start_inclusion_setting
- used to advertise the smart start inclusion setting:uuid16
- used to advertise the 16 byte manufacturer-defined information that is unique to the that device:unknown
- sometimes new extensions are released without first class support, so this extension is used for those extensions that still need to be supported in this library
@type generic_device_class() :: atom()
Generic Device Class for the product type extension
@type inclusion_interval() :: 640..12672
The interval (in seconds) must be in the range of 640..12672 inclusive, and has to be in steps of 128 seconds.
So after 640 the next valid interval is 640 + 128
which is 768
seconds.
See SDS13944 Node Provisioning Information Type Registry.pdf
section
3.1.2.3
for more information.
@type inclusion_setting() :: :pending | :passive | :ignored
Settings for the smart start inclusion setting exentsion
:pending
- the node will be added to the network when it issues SmartStart inclusion requests.:passive
- this node is unlikely to issues a SmartStart inclusion request and SmartStart inclusion requests will be ignored from this node by the Z/IP Gateway. All nodes in the list with this setting must be updated to:pending
when Provisioning List Iteration Get command is issued.:ignored
- All SmartStart inclusion request are ignored from this node until updated via Z/IP Client (Grizzly) or a controlling node.
@type information_location() :: binary()
The location string cannot contain underscores and cannot end with a dash.
The location string can contain a period (.) but a sublocation cannot end a dash. For example:
123.123-.123
The above location invalid. To make it valid remove the -
before .
.
A node's location cannot be more than 62 bytes.
@type information_name() :: binary()
The name string cannot contain underscores and cannot end with a dash.
A node's name cannot be more than 62 bytes.
@type installer_icon_type() :: Grizzly.ZWave.IconType.name()
Installer icon for the product type extension
@type manufacturer_id() :: unit_16()
Id of the manufacturer for the product id extension
@type network_status() :: :pending | :passive | :ignored
The different network statuses are:
:not_in_network
- the node in the provisioning list is not included in the network:included
- the node in the provisioning list is included in the network and is functional:failing
- the node in the provisioning list is included in the network but is now marked as failing
@type product_id() :: unit_16()
Id of the product produced by the manufacturer for the product id extension
@type product_id_values() :: {manufacturer_id(), product_id(), product_type(), application_version()}
@type product_type() :: unit_16()
Type of product produced by the manufacturer for the product id extension
@type product_type_values() :: {generic_device_class(), specific_device_class(), installer_icon_type()}
@type specific_device_class() :: atom()
Specific Device Class for the product type extension
@type unit_16() :: char()
Unsigned 16 bit integer
Functions
Encode an extension into a binary
Parse the binary into the list of extensions