To contribute to this page, edit the following file

Ubisys D1 #

Model D1
Vendor Ubisys
Description Universal dimmer D1
Exposes light (state, brightness, level_config), power, ballast_physical_minimum_level, ballast_physical_maximum_level, ballast_minimum_level, ballast_maximum_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
Picture Ubisys 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:

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
    }
}

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 manual, chapter “7.2.8. Dimmer Setup Cluster (Server)”.

Device type specific configuration #

How to use device type specific configuration

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

OTA updates #

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

Exposes #

Light #

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

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:

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
}

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.

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.

Manual Home Assistant configuration #

Although Home Assistant integration through MQTT discovery is preferred, manual integration is possible with the following configuration:

light:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    brightness: true
    color_temp: false
    xy: false
    hs: false
    schema: "json"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/set"
    brightness_scale: 254

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.power }}"
    unit_of_measurement: "W"
    device_class: "power"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.ballast_physical_minimum_level }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.ballast_physical_maximum_level }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.ballast_minimum_level }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.ballast_maximum_level }}"

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.capabilities_forward_phase_control }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.capabilities_reverse_phase_control }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.capabilities_reactance_discriminator }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.capabilities_configurable_curve }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.capabilities_overload_detection }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.status_forward_phase_control }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.status_reverse_phase_control }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.status_overload }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.status_capacitive_load }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.status_inductive_load }}"
    payload_on: true
    payload_off: false

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.mode_phase_control }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.linkquality }}"
    unit_of_measurement: "lqi"
    icon: "mdi:signal"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    icon: "mdi:update"
    value_template: "{{ value_json['update']['state'] }}"

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_on: true
    payload_off: false
    value_template: "{{ value_json.update_available}}"