What it exposes
| Feature | Property | Values | Control |
|---|---|---|---|
| Light | state, brightness | on / off, brightness | settable |
| Led effect | led_effect | — | read only |
| Individual led effect | individual_led_effect | — | read only |
| NotificationComplete | notificationComplete | LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, ALL_LEDS … | read only |
| DimmingSpeedUpRemote | dimmingSpeedUpRemote | 0…127 | settable |
| DimmingSpeedUpLocal | dimmingSpeedUpLocal | 0…127 | settable |
| RampRateOffToOnRemote | rampRateOffToOnRemote | 0…127 | settable |
| RampRateOffToOnLocal | rampRateOffToOnLocal | 0…127 | settable |
| DimmingSpeedDownRemote | dimmingSpeedDownRemote | 0…127 | settable |
| DimmingSpeedDownLocal | dimmingSpeedDownLocal | 0…127 | settable |
| RampRateOnToOffRemote | rampRateOnToOffRemote | 0…127 | settable |
| RampRateOnToOffLocal | rampRateOnToOffLocal | 0…127 | settable |
| InvertSwitch | invertSwitch | Yes, No | settable |
| AutoTimerOff | autoTimerOff | seconds · 0…32767 | settable |
| DefaultLevelLocal | defaultLevelLocal | 0…255 | settable |
| DefaultLevelRemote | defaultLevelRemote | 0…255 | settable |
| StateAfterPowerRestored | stateAfterPowerRestored | 0…255 | settable |
| LoadLevelIndicatorTimeout | loadLevelIndicatorTimeout | Stay Off, 1 Second, 2 Seconds, 3 Seconds, 4 Seconds, 5 Seconds, 6 Seconds, 7 Seconds … | settable |
| SwitchType | switchType | Single Pole, Aux Switch | settable |
| InternalTemperature | internalTemperature | °C · 0…127 | read only |
| Overheat | overheat | No Alert, Overheated | read only |
| ButtonDelay | buttonDelay | 0ms, 100ms, 200ms, 300ms, 400ms, 500ms, 600ms, 700ms … | settable |
| DeviceBindNumber | deviceBindNumber | — | read only |
| SmartBulbMode | smartBulbMode | Disabled, Smart Bulb Mode | settable |
| DoubleTapUpToParam55 | doubleTapUpToParam55 | Disabled, Enabled | settable |
| DoubleTapDownToParam56 | doubleTapDownToParam56 | Disabled, Enabled | settable |
| BrightnessLevelForDoubleTapUp | brightnessLevelForDoubleTapUp | 2…255 | settable |
| BrightnessLevelForDoubleTapDown | brightnessLevelForDoubleTapDown | 0…255 | settable |
| LedColorWhenOn | ledColorWhenOn | 0…255 | settable |
| LedColorWhenOff | ledColorWhenOff | 0…255 | settable |
| LedIntensityWhenOn | ledIntensityWhenOn | 0…100 | settable |
| LedIntensityWhenOff | ledIntensityWhenOff | 0…100 | settable |
| SingleTapBehavior | singleTapBehavior | Old Behavior, New Behavior, Down Always Off | settable |
| FanControlMode | fanControlMode | Disabled, Multi Tap, Cycle, Toggle | settable |
| LowLevelForFanControlMode | lowLevelForFanControlMode | 2…254 | settable |
| MediumLevelForFanControlMode | mediumLevelForFanControlMode | 2…254 | settable |
| HighLevelForFanControlMode | highLevelForFanControlMode | 2…254 | settable |
| LedColorForFanControlMode | ledColorForFanControlMode | 0…255 | settable |
| AuxSwitchUniqueScenes | auxSwitchUniqueScenes | Disabled, Enabled | settable |
| BindingOffToOnSyncLevel | bindingOffToOnSyncLevel | Disabled, Enabled | settable |
| LocalProtection | localProtection | Disabled, Enabled | settable |
| RemoteProtection | remoteProtection | Disabled, Enabled | read only |
| OnOffLedMode | onOffLedMode | All, One | settable |
| FirmwareUpdateInProgressIndicator | firmwareUpdateInProgressIndicator | Disabled, Enabled | settable |
| DefaultLed1ColorWhenOn | defaultLed1ColorWhenOn | 0…255 | settable |
| DefaultLed1ColorWhenOff | defaultLed1ColorWhenOff | 0…255 | settable |
| DefaultLed1IntensityWhenOn | defaultLed1IntensityWhenOn | 0…101 | settable |
| DefaultLed1IntensityWhenOff | defaultLed1IntensityWhenOff | 0…101 | settable |
| DefaultLed2ColorWhenOn | defaultLed2ColorWhenOn | 0…255 | settable |
| DefaultLed2ColorWhenOff | defaultLed2ColorWhenOff | 0…255 | settable |
| DefaultLed2IntensityWhenOn | defaultLed2IntensityWhenOn | 0…101 | settable |
| DefaultLed2IntensityWhenOff | defaultLed2IntensityWhenOff | 0…101 | settable |
| DefaultLed3ColorWhenOn | defaultLed3ColorWhenOn | 0…255 | settable |
| DefaultLed3ColorWhenOff | defaultLed3ColorWhenOff | 0…255 | settable |
| DefaultLed3IntensityWhenOn | defaultLed3IntensityWhenOn | 0…101 | settable |
| DefaultLed3IntensityWhenOff | defaultLed3IntensityWhenOff | 0…101 | settable |
| DefaultLed4ColorWhenOn | defaultLed4ColorWhenOn | 0…255 | settable |
| DefaultLed4ColorWhenOff | defaultLed4ColorWhenOff | 0…255 | settable |
| DefaultLed4IntensityWhenOn | defaultLed4IntensityWhenOn | 0…101 | settable |
| DefaultLed4IntensityWhenOff | defaultLed4IntensityWhenOff | 0…101 | settable |
| DefaultLed5ColorWhenOn | defaultLed5ColorWhenOn | 0…255 | settable |
| DefaultLed5ColorWhenOff | defaultLed5ColorWhenOff | 0…255 | settable |
| DefaultLed5IntensityWhenOn | defaultLed5IntensityWhenOn | 0…101 | settable |
| DefaultLed5IntensityWhenOff | defaultLed5IntensityWhenOff | 0…101 | settable |
| DefaultLed6ColorWhenOn | defaultLed6ColorWhenOn | 0…255 | settable |
| DefaultLed6ColorWhenOff | defaultLed6ColorWhenOff | 0…255 | settable |
| DefaultLed6IntensityWhenOn | defaultLed6IntensityWhenOn | 0…101 | settable |
| DefaultLed6IntensityWhenOff | defaultLed6IntensityWhenOff | 0…101 | settable |
| DefaultLed7ColorWhenOn | defaultLed7ColorWhenOn | 0…255 | settable |
| DefaultLed7ColorWhenOff | defaultLed7ColorWhenOff | 0…255 | settable |
| DefaultLed7IntensityWhenOn | defaultLed7IntensityWhenOn | 0…101 | settable |
| DefaultLed7IntensityWhenOff | defaultLed7IntensityWhenOff | 0…101 | settable |
| FanTimerMode | fanTimerMode | Disabled, Enabled | settable |
| DoubleTapClearNotifications | doubleTapClearNotifications | Enabled (Default), Disabled | settable |
| FanLedLevelType | fanLedLevelType | 0…10 | settable |
| MinimumLevel | minimumLevel | 1…254 | settable |
| MaximumLevel | maximumLevel | 2…255 | settable |
| PowerType | powerType | Non Neutral, Neutral | read only |
| OutputMode | outputMode | Dimmer, On/Off | settable |
| LedBarScaling | ledBarScaling | Gen3 method (VZM-style), Gen2 method (LZW-style) | settable |
| ActivePowerReports | activePowerReports | 0…100 | settable |
| PeriodicPowerAndEnergyReports | periodicPowerAndEnergyReports | 0…32767 | settable |
| ActiveEnergyReports | activeEnergyReports | 0…32767 | settable |
| QuickStartTime | quickStartTime | 0…60 | settable |
| QuickStartLevel | quickStartLevel | 1…254 | settable |
| HigherOutputInNonNeutral | higherOutputInNonNeutral | Disabled (default), Enabled | settable |
| DimmingMode | dimmingMode | Leading edge, Trailing edge | read only |
| OtaImageType | otaImageType | Zigbee (259), mmWave (260), Alternating (259 & 260) (default) | settable |
| MmwaveControlWiredDevice | mmwaveControlWiredDevice | Disabled, Occupancy (default), Vacancy, Wasteful Occupancy, Mirrored Occupancy, Mirrored Vacancy, Mirrored Wasteful Occupancy | settable |
| MmWaveRoomSizePreset | mmWaveRoomSizePreset | Custom, Small, Medium, Large | settable |
| MmWaveHoldTime | mmWaveHoldTime | 0…4294967295 | settable |
| MmWaveDetectSensitivity | mmWaveDetectSensitivity | Low, Medium, High (default) | settable |
| MmWaveDetectTrigger | mmWaveDetectTrigger | Slow (5s), Medium (1s), Fast (0.2s, default) | settable |
| MmWaveTargetInfoReport | mmWaveTargetInfoReport | Disable (default), Enable | settable |
| MmWaveStayLife | mmWaveStayLife | 0…4294967295 | settable |
| MmWaveVersion | mmWaveVersion | 0…4294967295 | read only |
| MmWaveHeightMin | mmWaveHeightMin | -600…600 | settable |
| MmWaveHeightMax | mmWaveHeightMax | -600…600 | settable |
| MmWaveWidthMin | mmWaveWidthMin | -600…600 | settable |
| MmWaveWidthMax | mmWaveWidthMax | -600…600 | settable |
| MmWaveDepthMin | mmWaveDepthMin | 0…600 | settable |
| MmWaveDepthMax | mmWaveDepthMax | 0…600 | settable |
| Mmwave control commands | mmwave_control_commands | — | read only |
| Area1Occupancy | mmwave_area1_occupancy | — | read only |
| Area2Occupancy | mmwave_area2_occupancy | — | read only |
| Area3Occupancy | mmwave_area3_occupancy | — | read only |
| Area4Occupancy | mmwave_area4_occupancy | — | read only |
| Mmwave interference areas | mmwave_interference_areas | — | read only |
| Mmwave detection areas | mmwave_detection_areas | — | read only |
| Mmwave stay areas | mmwave_stay_areas | — | read only |
| Mmwave targets | mmwave_targets | — | read only |
| Identify | identify | identify | settable |
| Energy reset | energy_reset | reset | settable |
| Power | power | W | read only |
| Voltage | voltage | V | read only |
| Current | current | A | read only |
| Energy | energy | kWh | read only |
| Illuminance | illuminance | lx | read only |
| Motion | occupancy | — | read only |
| Action (button press) | action | down_single, up_single, config_single, down_release, up_release, config_release, down_held, up_held … | read only |
MQTT: state and commands
Zigbee2MQTT publishes the device state to zigbee2mqtt/my_device (my_device is the name you give the device). An example message:
{
"state": "ON",
"brightness": 180,
"notificationComplete": "LED_1",
"dimmingSpeedUpRemote": 64,
"dimmingSpeedUpLocal": 64,
"rampRateOffToOnRemote": 64,
"rampRateOffToOnLocal": 64,
"dimmingSpeedDownRemote": 64,
"dimmingSpeedDownLocal": 64,
"rampRateOnToOffRemote": 64,
"rampRateOnToOffLocal": 64,
"invertSwitch": "Yes",
"autoTimerOff": 16384,
"defaultLevelLocal": 128,
"linkquality": 120
}
Send commands to zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"state":"ON","brightness":180}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"state":"OFF","transition":2}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"invertSwitch":"No"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"loadLevelIndicatorTimeout":"1 Second"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"switchType":"Aux Switch"}'
Watch the topics live from the browser: MQTT client.
Home Assistant automation example
Zigbee2MQTT creates Home Assistant entities from the device name. If it is called my_device, an automation in automations.yaml can look like this:
- alias: "Light at sunset"
mode: single
triggers:
- trigger: sun
event: sunset
offset: "-00:15:00"
actions:
- action: light.turn_on
target:
entity_id: light.my_device
data:
brightness_pct: 70
Check the YAML: YAML checker.
How to pair it
- In Zigbee2MQTT click Permit join.
- Put the device in pairing mode: usually a long press of the reset button (5–10 s) until the LED blinks; bulbs: switch the power off and on 5–6 times.
- Keep the device close to the coordinator or a router while pairing.
- Give it a clear name: MQTT topics and Home Assistant entities are built from it.
Exact procedure and model notes: the device page in the Zigbee2MQTT docs. No coordinator yet: coordinator picker.