Ubisys D1

ModelD1
VendorUbisys
DescriptionUniversal dimmer D1
Exposeslight (state, brightness, level_config), power, ballast_physical_minimum_level, ballast_physical_maximum_level, ballast_minimum_level, ballast_maximum_level, minimum_on_level, capabilities_forward_phase_control, capabilities_reverse_phase_control, capabilities_reactance_discriminator, capabilities_configurable_curve, capabilities_overload_detection, status_forward_phase_control, status_reverse_phase_control, status_overload, status_capacitive_load, status_inductive_load, mode_phase_control, linkquality
PictureUbisys D1

Notes

Configuring Inputs

In case the inputs need to be reconfigured (e.g. to use stationary switches instead of momentary ones or vice versa) this can be done in the same way as it is being done for the ubisys C4.

(Re-)Binding and/or Decoupling

Also see the ubisys C4 documentation, example use cases:

  • Use the second input to control a different ZigBee device.
  • Completely decouple the input(s) from the local load.

Ballast Configuration

By publishing to zigbee2mqtt/FRIENDLY_NAME/set the dimmer's ballast configuration attributes (min_level and max_level) can be set. Example:

{
    "ballast_config": {
        "min_level": 3
    }
}
1
2
3
4
5

By publishing to zigbee2mqtt/FRIENDLY_NAME/get/ballast_config the values of the ballast configuration attributes can also be read back from the device and be printed to the normal Zigbee2MQTT log (flagged as warnings but only to make sure they do not get suppressed). To account for errors due to missing optional attributes (since this is a general function), every cluster attribute will be queried separately and the complete process can therefore take a moment.

Dimmer strategy configuration

The dimmer phase control mode can be changed by publishing { "mode_phase_control": "MODE" } to zigbee2mqtt/FRIENDLY_NAME/set where MODE is one of the following values: automatic (default), forward or reverse.

A word of caution is in order: configuring the wrong dimmer phase control mode could destroy the device or the attached load!

More information can be found in the ubisys D1 technical reference manualopen in new window, chapter "7.2.8. Dimmer Setup Cluster (Server)".

OTA updates

This device supports OTA updates, for more information see OTA updates.

Options

How to use device type specific configuration

  • transition: Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to 0 (no transition). The value must be a number with a minimum value of 0

  • simulated_brightness: Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta. Example:

simulated_brightness:
  delta: 20 # delta per interval, default = 20
  interval: 200 # interval in milliseconds, default = 200
1
2
3

Exposes

Light

This light supports the following features: state, brightness, level_config.

  • state: To control the state publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state": "ON"}, {"state": "OFF"} or {"state": "TOGGLE"}. To read the state send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"state": ""}.
  • brightness: To control the brightness publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"brightness": VALUE} where VALUE is a number between 0 and 254. To read the brightness send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"brightness": ""}.

Transition

For all of the above mentioned features it is possible to do a transition of the value over time. To do this add an additional property transition to the payload which is the transition time in seconds. Examples: {"brightness":156,"transition":3}, {"color_temp":241,"transition":1}.

Moving/stepping

Instead of setting a value (e.g. brightness) directly it is also possible to:

  • move: this will automatically move the value over time, to stop send value stop or 0.
  • step: this will increment/decrement the current value by the given one.

The direction of move and step can be either up or down, provide a negative value to move/step down, a positive value to move/step up. To do this send a payload like below to zigbee2mqtt/FRIENDLY_NAME/set

NOTE: brightness move/step will stop at the minimum brightness and won't turn on the light when it's off. In this case use brightness_move_onoff/brightness_step_onoff

{
  "brightness_move": -40, // Starts moving brightness down at 40 units per second
  "brightness_move": 0, // Stop moving brightness
  "brightness_step": 40 // Increases brightness by 40
}
1
2
3
4
5

Power (numeric)

Instantaneous measured power. Value can be found in the published state on the power property. It's not possible to read (/get) or write (/set) this value. The unit of this value is W.

Ballast_physical_minimum_level (numeric)

Specifies the minimum light output the ballast can achieve.. Value can be found in the published state on the ballast_physical_minimum_level property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"ballast_physical_minimum_level": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"ballast_physical_minimum_level": NEW_VALUE}. The minimal value is 1 and the maximum value is 254.

Ballast_physical_maximum_level (numeric)

Specifies the maximum light output the ballast can achieve.. Value can be found in the published state on the ballast_physical_maximum_level property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"ballast_physical_maximum_level": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"ballast_physical_maximum_level": NEW_VALUE}. The minimal value is 1 and the maximum value is 254.

Ballast_minimum_level (numeric)

Specifies the minimum light output of the ballast. Value can be found in the published state on the ballast_minimum_level property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"ballast_minimum_level": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"ballast_minimum_level": NEW_VALUE}. The minimal value is 1 and the maximum value is 254.

Ballast_maximum_level (numeric)

Specifies the maximum light output of the ballast. Value can be found in the published state on the ballast_maximum_level property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"ballast_maximum_level": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"ballast_maximum_level": NEW_VALUE}. The minimal value is 1 and the maximum value is 254.

Minimum_on_level (numeric)

Specifies the minimum light output after switching on. Value can be found in the published state on the minimum_on_level property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"minimum_on_level": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"minimum_on_level": NEW_VALUE}. The minimal value is 0 and the maximum value is 255.

Capabilities_forward_phase_control (binary)

The dimmer supports AC forward phase control.. Value can be found in the published state on the capabilities_forward_phase_control property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"capabilities_forward_phase_control": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"capabilities_forward_phase_control": NEW_VALUE}. If value equals true capabilities_forward_phase_control is ON, if false OFF.

Capabilities_reverse_phase_control (binary)

The dimmer supports AC reverse phase control.. Value can be found in the published state on the capabilities_reverse_phase_control property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"capabilities_reverse_phase_control": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"capabilities_reverse_phase_control": NEW_VALUE}. If value equals true capabilities_reverse_phase_control is ON, if false OFF.

Capabilities_reactance_discriminator (binary)

The dimmer is capable of measuring the reactanceto distinguish inductive and capacitive loads.. Value can be found in the published state on the capabilities_reactance_discriminator property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"capabilities_reactance_discriminator": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"capabilities_reactance_discriminator": NEW_VALUE}. If value equals true capabilities_reactance_discriminator is ON, if false OFF.

Capabilities_configurable_curve (binary)

The dimmer is capable of replacing the built-in, default dimming curve.. Value can be found in the published state on the capabilities_configurable_curve property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"capabilities_configurable_curve": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"capabilities_configurable_curve": NEW_VALUE}. If value equals true capabilities_configurable_curve is ON, if false OFF.

Capabilities_overload_detection (binary)

The dimmer is capable of detecting an output overload and shutting the output off.. Value can be found in the published state on the capabilities_overload_detection property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"capabilities_overload_detection": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"capabilities_overload_detection": NEW_VALUE}. If value equals true capabilities_overload_detection is ON, if false OFF.

Status_forward_phase_control (binary)

The dimmer is currently operating in AC forward phase control mode.. Value can be found in the published state on the status_forward_phase_control property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"status_forward_phase_control": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"status_forward_phase_control": NEW_VALUE}. If value equals true status_forward_phase_control is ON, if false OFF.

Status_reverse_phase_control (binary)

The dimmer is currently operating in AC reverse phase control mode.. Value can be found in the published state on the status_reverse_phase_control property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"status_reverse_phase_control": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"status_reverse_phase_control": NEW_VALUE}. If value equals true status_reverse_phase_control is ON, if false OFF.

Status_overload (binary)

The output is currently turned off, because the dimmer has detected an overload.. Value can be found in the published state on the status_overload property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"status_overload": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"status_overload": NEW_VALUE}. If value equals true status_overload is ON, if false OFF.

Status_capacitive_load (binary)

The dimmer's reactance discriminator had detected a capacitive load.. Value can be found in the published state on the status_capacitive_load property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"status_capacitive_load": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"status_capacitive_load": NEW_VALUE}. If value equals true status_capacitive_load is ON, if false OFF.

Status_inductive_load (binary)

The dimmer's reactance discriminator had detected an inductive load.. Value can be found in the published state on the status_inductive_load property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"status_inductive_load": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"status_inductive_load": NEW_VALUE}. If value equals true status_inductive_load is ON, if false OFF.

Mode_phase_control (enum)

Configures the dimming technique.. Value can be found in the published state on the mode_phase_control property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"mode_phase_control": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"mode_phase_control": NEW_VALUE}. The possible values are: automatic, forward, reverse.

Linkquality (numeric)

Link quality (signal strength). Value can be found in the published state on the linkquality property. It's not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 255. The unit of this value is lqi.