Provisioner

@Serializable
data class Provisioner

A Provisioner is capable of provisioning a device to a mesh network and is represented by a provisioner object in the Mesh Configuration Database. A provisioner is represented as a node in mesh network only if it is assigned a unicast address. Having a unicast address assigned allows configuring nodes in the mesh network. Otherwise, a provisioner can only provision nodes to a mesh network.

Constructors

Link copied to clipboard
constructor(uuid: UUID = UUID.randomUUID())

Creates a Provisioner with the given UUID.

constructor(uuid: UUID = UUID.randomUUID(), name: String)

Creates a Provisioner with the given UUID and name.

constructor(name: String)

Creates a Provisioner with the given name.

Properties

Link copied to clipboard

List of allocated group ranges for a given provisioner.

Link copied to clipboard

List of allocated scene ranges for a given provisioner.

Link copied to clipboard

List of allocated unicast ranges for a given provisioner.

Link copied to clipboard

Returns true if the provisioner has configuration capabilities.

Link copied to clipboard

Returns true if the Provisioner is set as the local Provisioner.

Link copied to clipboard

Provisioner name.

Link copied to clipboard
val node: Node?

Node of the provisioner.

Link copied to clipboard

Primary unicast address of the provisioner.

Link copied to clipboard
@Serializable(with = UUIDSerializer::class)
val uuid: UUID

UUID of the provisioner.

Functions

Link copied to clipboard
fun allocate(ranges: List<Range>)

Allocates a list of ranges to a given provisioner.

fun allocate(range: GroupRange)

Allocates the given group range to a provisioner.

fun allocate(range: Range)

Allocates the given range to a provisioner.

fun allocate(range: SceneRange)

Allocates the given scene range to a provisioner.

Allocates the given unicast range to a provisioner.

Link copied to clipboard

Check if the given list of ranges are allocatable to a provisioner.

Link copied to clipboard
fun assign(address: UnicastAddress)

Assigns the unicast address to the given Provisioner. If the provisioner did not have a unicast address assigned, the method will create a Node with the address. This will enable configuration capabilities for the provisioner. The provisioner must be in the mesh network.

Link copied to clipboard

Disables the configuration capabilities by un-assigning provisioner's address. Un-assigning an address will delete the provisioner's node. This results in the provisioner not being able to send or receive mesh messages in the mesh network. However, the provisioner will still retain it's provisioning capabilities.

Link copied to clipboard

Checks if the given range is within the Allocated ranges.

Link copied to clipboard

Checks if the current provisioner has overlapping group ranges with the given provisioner.

Link copied to clipboard

Checks if the current provisioner has overlapping unicast, group or scene ranges with the given provisioner.

Link copied to clipboard

Checks if the current provisioner has overlapping scene ranges with the given provisioner.

Link copied to clipboard

Checks if the current provisioner has overlapping unicast ranges with the given provisioner.

Link copied to clipboard

Checks if the given range is allocatable a provisioner.

Link copied to clipboard
fun remove(range: GroupRange)
fun remove(range: Range)
fun remove(range: SceneRange)
fun remove(range: UnicastRange)

Removes the given range from the allocated ranges.

Link copied to clipboard
fun update(range: GroupRange, newRange: GroupRange)

Updates the given group range with the new group range.

fun update(range: Range, newRange: Range)

Updates the given range with the new range.

fun update(range: SceneRange, newRange: SceneRange)

Updates the given scene range with the new scene range.

fun update(range: UnicastRange, newRange: UnicastRange)

Updates the given unicast range with the new unicast range.