Light Lightness Control models

The Light Lightness Control models implement common energy saving behavior for light fixtures by taking control of the Light Lightness Server. While Light Lightness Server instances can be operated directly by dimmers and light switches, these devices are not time-aware, and cannot provide any dynamic behavior without extensive application logic on top. By adding an inactivity timer and a regulator for the ambient light level, the Light Lightness Control models make light fixtures behave dynamically and conserve energy.

The dynamic behavior is implemented by the server, while the client allows the configuration of the server’s parameters.

The Light Lightness Control mesh models also feature their own common types, listed below. For types common to all models, see Bluetooth Mesh models.

Common types

This section lists the types common to the Light Lightness Control mesh models.

Header file: include/bluetooth/mesh/light_ctrl.h
group bt_mesh_light_ctrl

Common types for the Light Lightness Control models.

Enums

enum bt_mesh_light_ctrl_prop

Light Lightness Control properties

Values:

enumerator BT_MESH_LIGHT_CTRL_PROP_ILLUMINANCE_ON

Target ambient illuminance in the On state.

    - Unit: Lux
    - Encoding: 24 bit unsigned scalar (Resolution: 0.01 lx)
    - Range: 0 to 167772.13

enumerator BT_MESH_LIGHT_CTRL_PROP_ILLUMINANCE_PROLONG

Target ambient illuminance in the Prolong state.

    - Unit: Lux
    - Encoding: 24 bit unsigned scalar (Resolution: 0.01 lx)
    - Range: 0 to 167772.13

enumerator BT_MESH_LIGHT_CTRL_PROP_ILLUMINANCE_STANDBY

Target ambient illuminance in the Standby state.

    - Unit: Lux
    - Encoding: 24 bit unsigned scalar (Resolution: 0.01 lx)
    - Range: 0 to 167772.13

enumerator BT_MESH_LIGHT_CTRL_PROP_LIGHTNESS_ON

Lightness in the On state.

    - Unit: Unitless
    - Encoding: 16 bit unsigned scalar (Resolution: 1)
    - Range: 0 to 65535

enumerator BT_MESH_LIGHT_CTRL_PROP_LIGHTNESS_PROLONG

Lightness in the Prolong state.

    - Unit: Unitless
    - Encoding: 16 bit unsigned scalar (Resolution: 1)
    - Range: 0 to 65535

enumerator BT_MESH_LIGHT_CTRL_PROP_LIGHTNESS_STANDBY

Lightness in the Standby state.

    - Unit: Unitless
    - Encoding: 16 bit unsigned scalar (Resolution: 1)
    - Range: 0 to 65535

enumerator BT_MESH_LIGHT_CTRL_PROP_REG_ACCURACY

Regulator Accuracy.

    - Unit: Percent
    - Encoding: 8 bit unsigned scalar (Resolution: 0.5 %)
    - Range: 0 to 100.0

enumerator BT_MESH_LIGHT_CTRL_PROP_TIME_FADE_PROLONG

Fade time for fading to the Prolong state.

    - Unit: Seconds
    - Encoding: 24 bit unsigned scalar (Resolution: 1 ms)
    - Range: 0 to 16777.214

enumerator BT_MESH_LIGHT_CTRL_PROP_TIME_FADE_ON

Fade time for fading to the On state.

    - Unit: Seconds
    - Encoding: 24 bit unsigned scalar (Resolution: 1 ms)
    - Range: 0 to 16777.214

enumerator BT_MESH_LIGHT_CTRL_PROP_TIME_FADE_STANDBY_AUTO

Fade time for fading to the Standby state (auto mode).

    - Unit: Seconds
    - Encoding: 24 bit unsigned scalar (Resolution: 1 ms)
    - Range: 0 to 16777.214

enumerator BT_MESH_LIGHT_CTRL_PROP_TIME_FADE_STANDBY_MANUAL

Fade time for fading to the Standby state (manual mode).

    - Unit: Seconds
    - Encoding: 24 bit unsigned scalar (Resolution: 1 ms)
    - Range: 0 to 16777.214

enumerator BT_MESH_LIGHT_CTRL_PROP_TIME_OCCUPANCY_DELAY

Delay from Occupancy sensor reports until the light turns on.

    - Unit: Seconds
    - Encoding: 24 bit unsigned scalar (Resolution: 1 ms)
    - Range: 0 to 16777.214

enumerator BT_MESH_LIGHT_CTRL_PROP_TIME_PROLONG

Time to stay in the Prolong state.

    *  - Unit: Seconds
    - Encoding: 24 bit unsigned scalar (Resolution: 1 ms)
    - Range: 0 to 16777.214

enumerator BT_MESH_LIGHT_CTRL_PROP_TIME_ON

Time to stay in the On state.

    - Unit: Seconds
    - Encoding: 24 bit unsigned scalar (Resolution: 1 ms)
    - Range: 0 to 16777.214

enum bt_mesh_light_ctrl_coeff

Light Control Regulator Coefficients

Values:

enumerator BT_MESH_LIGHT_CTRL_COEFF_KID

Regulator downwards integral coefficient (Kid).

    - Unit: Unitless
    - Encoding: 32 bit floating point.
    - Range: 0 to 1000.0

enumerator BT_MESH_LIGHT_CTRL_COEFF_KIU

Regulator upwards integral coefficient (Kiu).

    - Unit: Unitless
    - Encoding: 32 bit floating point.
    - Range: 0 to 1000.0

enumerator BT_MESH_LIGHT_CTRL_COEFF_KPD

Regulator downwards proportional coefficient (Kpd).

    - Unit: Unitless
    - Encoding: 32 bit floating point.
    - Range: 0 to 1000.0

enumerator BT_MESH_LIGHT_CTRL_COEFF_KPU

Regulator upwards proportional coeffient (Kpu).

    - Unit: Unitless
    - Encoding: 32 bit floating point.
    - Range: 0 to 1000.0

Functions

static inline const struct bt_mesh_sensor_format *bt_mesh_lc_prop_format_get(uint16_t id)

Get the sensor format for the given Light Lightness Control property ID.

Parameters:
  • id[in] Light Lightness Control property ID.

Returns:

The associated sensor format, or NULL if the ID is unknown.