This is a Viam module to support discovery, management, and control of Lutron devices over the BACnet protocol.
It exposes devices made up of areas or individual rooms of lights, occupancy & lux sensors, and various automation settings as sensor components on a Viam machine.
This service queries the local network of the machine to find available BACnet networks along with their associated devices and properties, i.e. lighting level, occupany, and automation settings.
The output from this discovery can be used to configure a hipsterbrown:lutron-bacnet:lutron-sensor
component for each device on the available networks.
It can take a minute or two to return values from the initial discovery, depending on the size of the available networks.
The following attribute template can be used to configure this model:
{
}
The following attributes are available for this model:
Name | Type | Inclusion | Description |
---|
{
}
This sensor composes a BACnet "device" which references an area or individual room of lights, occupancy & lux sensors, and various automation settings known as "objects".
Use the associated hipsterbrown:lutron-bacnet:discover-devices
to create the necessary configuration for each device on the network.
The following attribute template can be used to configure this model:
{
"address": <string>,
"vendor": <string>,
"objects": []<{
"address": <string>,
"name": <string>,
"type": <"analog-value" | "binary-value" | "multi-state-value">
}>
}
The following attributes are available for this model:
Name | Type | Inclusion | Description |
---|---|---|---|
address |
string | Required | BACnet address of the device on the network, may be an IP address or network ID. |
vendor |
string | Optional | Device vendor name. This can be helpful metadata when viewing many devices at once. |
objects |
array of objects | Optional | The list of device property objects to read and write from this sensor. |
Property objects:
Name | Type | Inclusion | Description |
---|---|---|---|
address |
string | Required | Object ID of the property on the device. |
type |
string | Required | May be one of the following values: "analog-value", "binary-value", "multi-state-value" |
name |
string | Optional | The name of the control provided by this property. Can be used to update properties in a DoCommand. |
{
"vendor": "Lutron Electronics Co., Inc.",
"address": "1:0x00000035b9f6",
"objects": [
{
"address": "2",
"name": "Lighting Level",
"type": "analog-value"
}
]
}
This component accepts an update
command to change the present value of a object property on the device. The value
argument depends on the type
of the property:
analog-value
accepts 0 - 100binary-value
accepts 0 or 1multi-state-value
accepts a number referencing a valid state between 1 and X (where X is the number of available states), this is dependent upon the individual property
{
"update": {
"name": "Lighting Level",
"value": 50
}
}
{
"update": {
"address": "2",
"value": 50
}
}
This switch composes a BACnet "device" which references an area or individual room of lights, occupancy & lux sensors, and various automation settings known as "objects".
Use the associated hipsterbrown:lutron-bacnet:discover-devices
to create the necessary configuration for each device on the network.
The following attribute template can be used to configure this model:
{
"address": <string>,
"propName": <string>,
"propType": <string>,
"propAddress": <string>,
}
The following attributes are available for this model:
Name | Type | Inclusion | Description |
---|---|---|---|
address |
string | Required | BACnet address of the device on the network, may be an IP address or network ID. |
propAddress |
string | Required | Object ID of the property on the device. |
propType |
string | Required | May be one of the following values: "analog-value", "binary-value" |
propName |
string | Optional | The name of the control provided by this property. |
{
"address": "1:0x00000035b9f6",
"propAddress": "2",
"propName": "Lighting Level",
"propType": "analog-value"
}