Ubisys D1
Model | D1 |
Vendor | Ubisys |
Description | Universal dimmer D1 |
Exposes | light (state, brightness), level_config, power, energy, 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, action, 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)".
OTA updates
This device supports OTA updates, for more information see OTA updates.
Options
How to use device type specific configuration
power_calibration
: Calibrates the power value (percentual offset), takes into effect on next report of device. The value must be a number.power_precision
: Number of digits after decimal point for power, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of0
and with a with a maximum value of3
energy_calibration
: Calibrates the energy value (percentual offset), takes into effect on next report of device. The value must be a number.energy_precision
: Number of digits after decimal point for energy, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of0
and with a with a maximum value of3
transition
: Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to0
(no transition). The value must be a number with a minimum value of0
state_action
: State actions will also be published as 'action' when true (default false). The value must betrue
orfalse
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. The action_brightness_delta indicates the delta for each interval. Example:
simulated_brightness:
delta: 20 # delta per interval, default = 20
interval: 200 # interval in milliseconds, default = 200
Exposes
Light
This light supports the following features: state
, brightness
.
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": ""}
.
On with timed off
When setting the state to ON, it might be possible to specify an automatic shutoff after a certain amount of time. To do this add an additional property on_time
to the payload which is the time in seconds the state should remain on. Additionally an off_wait_time
property can be added to the payload to specify the cooldown time in seconds when the light will not answer to other on with timed off commands. Support depends on the light firmware. Some devices might require both on_time
and off_wait_time
to work Examples : {"state" : "ON", "on_time": 300}
, {"state" : "ON", "on_time": 300, "off_wait_time": 120}
.
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
}
Level config (composite)
Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set
with payload {"level_config": {"on_off_transition_time": VALUE, "on_level": VALUE, "execute_if_off": VALUE, "current_level_startup": VALUE}}
To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"level_config": ""}
.
on_off_transition_time
(numeric): Specifies the amount of time, in units of 0.1 seconds, which will be used during a transition to either the on or off state, when an on/off/toggle command of the on/off cluster is used to turn the light on or offon_level
(numeric): Specifies the level that shall be applied, when an on/toggle command causes the light to turn on. min value is 1, max value is 254execute_if_off
(binary): Defines if you can send a brightness change without to turn on the light allowed values:true
orfalse
current_level_startup
(numeric): Specifies the initial level to be applied after the device is supplied with power min value is 1, max value is 254
Power (numeric)
Instantaneous measured power. Value can be found in the published state on the power
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"power": ""}
. It's not possible to write (/set
) this value. The unit of this value is W
.
Energy (numeric)
Sum of consumed energy. Value can be found in the published state on the energy
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"energy": ""}
. It's not possible to write (/set
) this value. The unit of this value is kWh
.
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 level that shall be applied, when an on/toggle command causes the light to turn on. When this attribute is set to the invalid value (255) this feature is disabled and standard rules apply: The light will either return to the previously active level (before it was turned off) if the OnLevel attribute is set to the invalid value (255/previous); or to the specified value of the OnLevel attribute if this value is in the range 0…254. Otherwise, if the MinimumOnLevel is in the range 0…254, the light will be set to the the previously active level (before it was turned off), or the value specified here, whichever is the larger value. For example, if the previous level was 30 and the MinimumOnLevel was 40 then the light would turn on and move to level 40. Conversely, if the previous level was 50, and the MinimumOnLevel was 40, then the light would turn on and move to level 50.. 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
.
Action (enum)
Triggered action (e.g. a button click). Value can be found in the published state on the action
property. It's not possible to read (/get
) or write (/set
) this value. The possible values are: toggle_s1
, toggle_s2
, on_s1
, on_s2
, off_s1
, off_s2
, recall_*_s1
, recal_*_s2
, brightness_move_up_s1
, brightness_move_up_s2
, brightness_move_down_s1
, brightness_move_down_s2
, brightness_stop_s1
, brightness_stop_s2
.
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
.