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 | ![]() |
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
}
}
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
: Set totrue
to simulate abrightness
value (default:false
). If this device provides abrightness_move_up
orbrightness_move_down
action it is possible to specify the update interval and delta. This can be done by instead of specifyingtrue
:
simulated_brightness:
delta: 20 # delta per interval, default = 20
interval: 200 # interval in milliseconds, default = 200
transition
: Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to0
(no transition). Note that this value is overridden if atransition
value is present in the MQTT command payload.
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
.
state
: To control the state publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"state": "ON"}
,{"state": "OFF"}
or{"state": "TOGGLE"}
. To read the state send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"state": ""}
.brightness
: To control the brightness publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"brightness": VALUE}
whereVALUE
is a number between0
and254
. To read the brightness send a message tozigbee2mqtt/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
or0
. - 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
}
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}}"