Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)

Datek 0402946

Model0402946
VendorDatek
DescriptionZigbee module for ID lock
Exposeslock (state, lock_state), battery, pin_code, door_state, action, action_source_name, action_user, sound_volume, master_pin_mode, rfid_enable, relock_enabled, lock_mode, service_mode
PictureDatek 0402946

Notes

Pairing

If pairing failed, try the following:

  • Make sure door are in open state
  • Press and hold manual lock button and wait for 3 beeps
  • Keypad in front lights up
  • Type inn the Master PIN, then *, then 2, then *, then 0 Lock will now reset the Zigbee module and go to pairing mode

PIN Code Usage

To retrieve the state, send a get message to the device topic (zigbee2mqtt/DEVICE_FRIENDLY_NAME/get) with the body {"pin_code":{"user":1}}. To set, send a set message to the device topic (zigbee2mqtt/DEVICE_FRIENDLY_NAME/set) with the body {"pin_code":{"user":1,"pin_code":1234}}. To clear a code, send a set message with the body {"pin_code":{"user":1}}

Manual

ID LOCK 150 user manualZigbee module user manual

Where do I find this product

Product page

Options

How to use device type specific configuration

  • expose_pin: Expose pin of this lock in the published payload (default false). The value must be true or false

Exposes

Lock

The current state of this lock is in the published state under the state property (value is LOCK or UNLOCK). To control this lock publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state": "LOCK"} or {"state": "UNLOCK"}. To read the current state of this lock publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state": ""}. This lock exposes a lock state which can be found in the published state under the lock_state property. It's not possible to read (/get) or write (/set) this value. The possible values are: not_fully_locked, locked, unlocked.

Battery (numeric)

Remaining battery in %, can take up to 24 hours before reported. Value can be found in the published state on the battery property. It's not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Pin code (composite)

Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set with payload {"pin_code": {"user": VALUE, "user_type": VALUE, "user_enabled": VALUE, "pin_code": VALUE}} To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"pin_code": ""}.

  • user (numeric): User ID to set or clear the pincode for
  • user_type (enum): Type of user, unrestricted: owner (default), (year|week)_day_schedule: user has ability to open lock based on specific time period, master: user has ability to both program and operate the door lock, non_access: user is recognized by the lock but does not have the ability to open the lock allowed values: unrestricted, year_day_schedule, week_day_schedule, master, non_access
  • user_enabled (binary): Whether the user is enabled/disabled allowed values: true or false
  • pin_code (numeric): Pincode to set, set pincode to null to clear

Door state (enum)

State of the door. Value can be found in the published state on the door_state property. It's not possible to read (/get) or write (/set) this value. The possible values are: open, closed, error_jammed, error_forced_open, error_unspecified, undefined.

Action (enum)

Triggered action on the lock. 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: unknown, lock, unlock, lock_failure_invalid_pin_or_id, lock_failure_invalid_schedule, unlock_failure_invalid_pin_or_id, unlock_failure_invalid_schedule, one_touch_lock, key_lock, key_unlock, auto_lock, schedule_lock, schedule_unlock, manual_lock, manual_unlock, non_access_user_operational_event.

Action source name (enum)

Source of the triggered action on the lock. Value can be found in the published state on the action_source_name property. It's not possible to read (/get) or write (/set) this value. The possible values are: keypad, rfid, manual, rf.

Action user (numeric)

ID of user that triggered the action on the lock. Value can be found in the published state on the action_user property. It's not possible to read (/get) or write (/set) this value.

Sound volume (enum)

Sound volume of the lock. Value can be found in the published state on the sound_volume property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"sound_volume": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"sound_volume": NEW_VALUE}. The possible values are: silent_mode, low_volume, high_volume.

Master pin mode (binary)

Allow Master PIN Unlock. Value can be found in the published state on the master_pin_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"master_pin_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"master_pin_mode": NEW_VALUE}. If value equals true master pin mode is ON, if false OFF.

Rfid enable (binary)

Allow RFID to Unlock. Value can be found in the published state on the rfid_enable property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"rfid_enable": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"rfid_enable": NEW_VALUE}. If value equals true rfid enable is ON, if false OFF.

Relock enabled (binary)

Allow Auto Re-Lock. Value can be found in the published state on the relock_enabled property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"relock_enabled": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"relock_enabled": NEW_VALUE}. If value equals true relock enabled is ON, if false OFF.

Lock mode (enum)

Lock-Mode of the Lock. Value can be found in the published state on the lock_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"lock_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"lock_mode": NEW_VALUE}. The possible values are: auto_off_away_off, auto_on_away_off, auto_off_away_on, auto_on_away_on.

Service mode (enum)

Service Mode of the Lock. Value can be found in the published state on the service_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"service_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"service_mode": NEW_VALUE}. The possible values are: deactivated, random_pin_1x_use, random_pin_24_hours.

Help to make the docu better and edit this page on Github ✌
Last Updated:: 5/18/25, 5:50 PM