diff --git a/.eslintignore b/.eslintignore index 16bcf0b2..dbf08213 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1 @@ -node_modules/* -support/* +node_modules/* \ No newline at end of file diff --git a/docgen/docgen.js b/docgen/docgen.js new file mode 100644 index 00000000..3bf04755 --- /dev/null +++ b/docgen/docgen.js @@ -0,0 +1,10 @@ +const fs = require('fs'); +const path = require('path'); + +const base = path.join(__dirname, '..', 'docs'); + +const supportDevices = require('./supported-devices'); +const integratingWithHomeassistant = require('./integrating-with-homeassistant'); + +fs.writeFileSync(path.join(base, 'supported-devices.md'), supportDevices); +fs.writeFileSync(path.join(base, 'integrating-with-homeassistant.md'), integratingWithHomeassistant); diff --git a/docgen/integrating-with-homeassistant.js b/docgen/integrating-with-homeassistant.js new file mode 100644 index 00000000..1d23f55a --- /dev/null +++ b/docgen/integrating-with-homeassistant.js @@ -0,0 +1,109 @@ +/** + * This script generates the integrating-with-homeassistant page. + */ + +const devices = require('zigbee-shepherd-converters').devices; +const HomeassistantExtension = require('../lib/extension/homeassistant'); +const homeassistant = new HomeassistantExtension(null, null, null, null); +const YAML = require('json2yaml'); + +let template = `*NOTE: This file has been generated, do not edit this file manually!* + +If you're hosting zigbee2mqtt using [this hassio addon-on](https://github.com/danielwelch/hassio-zigbee2mqtt) use their +documentation on how to configure. + +The easiest way to integrate zigbee2mqtt with Home Assistant is by using +[MQTT discovery](https://www.home-assistant.io/docs/mqtt/discovery/).' + + +To achieve the best possible integration (including MQTT discovery): +- In your **zigbee2mqtt** \`configuration.yaml\` set \`homeassistant: true\` +- In your **Home Assistant** \`configuration.yaml\`: + + +\`\`\`yaml +mqtt: + discovery: true + broker: [YOUR MQTT BROKER] # Remove if you want to use builtin-in MQTT broker + birth_message: + topic: 'hass/status' + payload: 'online' + will_message: + topic: 'hass/status' + payload: 'offline' +\`\`\` + +Zigbee2mqtt is expecting Home Assistant to send it's birth/will messages to \`hass/status\`. +Be sure to add this to your \`configuration.yaml\` if you want zigbee2mqtt to resend the cached +values when Home Assistant restarts. + + +To respond to button clicks (e.g. WXKG01LM) you can use the following Home Assistant configuration: + +\`\`\`yaml +automation: + - alias: Respond to button clicks + trigger: + platform: mqtt + topic: 'zigbee2mqtt/ { + const payload = { + platform: 'mqtt', + state_topic: 'zigbee2mqtt/', + availability_topic: 'zigbee2mqtt/bridge/state', + ...device.discovery_payload, + }; + + if (payload.command_topic) { + if (payload.command_topic_prefix) { + payload.command_topic = `zigbee2mqtt//${payload.command_topic_prefix}/set`; + } else { + payload.command_topic = `zigbee2mqtt//set`; + } + } + + delete payload.command_topic_prefix; + + let yml = YAML.stringify([payload]); + yml = yml.replace(/(-) \n {4}/g, '- '); + yml = yml.replace('---', `${device.type}:`); + return yml; +}; + +let configuration = ''; +devices.forEach((device) => { + configuration += `### ${device.model}\n`; + configuration += '```yaml\n'; + + const configurations = homeassistant._getMapping()[device.model]; + configurations.forEach((d, i) => { + configuration += homeassistantConfig(d); + if (configurations.length > 1 && i < configurations.length - 1) { + configuration += '\n'; + } + }); + + configuration += '```\n\n'; +}); + + +// Insert into template +template = template.replace('[CONFIGURATION]', configuration); + +module.exports = template; diff --git a/docgen/supported-devices.js b/docgen/supported-devices.js new file mode 100644 index 00000000..961f9dbc --- /dev/null +++ b/docgen/supported-devices.js @@ -0,0 +1,53 @@ +/** + * This script generates the supported devices page. + */ + +const devices = require('zigbee-shepherd-converters').devices; +const replaceByDash = [new RegExp('/', 'g'), new RegExp(':', 'g'), new RegExp(' ', 'g')]; +const imageBase = 'https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/'; + +function onlyUnique(value, index, self) { + return self.indexOf(value) === index; +} + +const vendorsCount = devices.map((d) => d.vendor).filter(onlyUnique).length; + +let template = `*NOTE: This file has been generated, do not edit this file manually!* + +Currently **${devices.length}** devices are supported from **${vendorsCount}** different vendors. + +In case you own a Zigbee device which is **NOT** listed here, please see +[How to support new devices](https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices). + +[DEVICES] +`; + +const generateTable = (devices) => { + let text = ''; + text += '| Model | Description | Picture |\n'; + text += '| ------------- | ------------- | -------------------------- |\n'; + devices = new Map(devices.map((d) => [d.model, d])); + devices.forEach((d) => { + let image = d.model; + replaceByDash.forEach((r) => image = image.replace(r, '-')); + image = imageBase + `${image}.jpg`; + text += `| ${d.model} | ${d.vendor} ${d.description} (${d.supports}) | ![${image}](${image}) |\n`; + }); + + return text; +}; + +// Generated devices text +let devicesText = ''; +const vendors = Array.from(new Set(devices.map((d) => d.vendor))); +vendors.sort(); +vendors.forEach((vendor) => { + devicesText += `### ${vendor}\n`; + devicesText += generateTable(devices.filter((d) => d.vendor === vendor)); + devicesText += '\n'; +}); + +// Insert into template +template = template.replace('[DEVICES]', devicesText); + +module.exports = template; diff --git a/docs/.gitkeep b/docs/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/integrating-with-homeassistant.md b/docs/integrating-with-homeassistant.md new file mode 100644 index 00000000..d5752b22 --- /dev/null +++ b/docs/integrating-with-homeassistant.md @@ -0,0 +1,2018 @@ +*NOTE: This file has been generated, do not edit this file manually!* + +If you're hosting zigbee2mqtt using [this hassio addon-on](https://github.com/danielwelch/hassio-zigbee2mqtt) use their +documentation on how to configure. + +The easiest way to integrate zigbee2mqtt with Home Assistant is by using +[MQTT discovery](https://www.home-assistant.io/docs/mqtt/discovery/).' + + +To achieve the best possible integration (including MQTT discovery): +- In your **zigbee2mqtt** `configuration.yaml` set `homeassistant: true` +- In your **Home Assistant** `configuration.yaml`: + + +```yaml +mqtt: + discovery: true + broker: [YOUR MQTT BROKER] # Remove if you want to use builtin-in MQTT broker + birth_message: + topic: 'hass/status' + payload: 'online' + will_message: + topic: 'hass/status' + payload: 'offline' +``` + +Zigbee2mqtt is expecting Home Assistant to send it's birth/will messages to `hass/status`. +Be sure to add this to your `configuration.yaml` if you want zigbee2mqtt to resend the cached +values when Home Assistant restarts. + + +To respond to button clicks (e.g. WXKG01LM) you can use the following Home Assistant configuration: + +```yaml +automation: + - alias: Respond to button clicks + trigger: + platform: mqtt + topic: 'zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:toggle-switch" + value_template: "{{ value_json.click }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "action" + - "duration" + force_update: true +``` + +### WXKG11LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:toggle-switch" + value_template: "{{ value_json.click }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "action" + - "duration" + force_update: true +``` + +### WXKG12LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:toggle-switch" + value_template: "{{ value_json.click }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "action" + - "duration" + force_update: true +``` + +### WXKG03LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:toggle-switch" + value_template: "{{ value_json.click }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "action" + - "duration" + force_update: true +``` + +### WXKG02LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:toggle-switch" + value_template: "{{ value_json.click }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "action" + - "duration" + force_update: true +``` + +### QBKG04LM +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### QBKG11LM +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "Watt" + icon: "mdi:flash" + value_template: "{{ value_json.power }}" + json_attributes: + - "linkquality" + - "voltage" + - "temperature" + - "consumption" + - "current" + - "power_factor" +``` + +### QBKG03LM +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_left }}" + command_topic: "zigbee2mqtt//left/set" + json_attributes: + - "linkquality" + - "button_left" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_right }}" + command_topic: "zigbee2mqtt//right/set" + json_attributes: + - "linkquality" + - "button_right" +``` + +### QBKG12LM +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_left }}" + command_topic: "zigbee2mqtt//left/set" + json_attributes: + - "linkquality" + - "button_left" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_right }}" + command_topic: "zigbee2mqtt//right/set" + json_attributes: + - "linkquality" + - "button_right" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "Watt" + icon: "mdi:flash" + value_template: "{{ value_json.power }}" + json_attributes: + - "linkquality" + - "voltage" + - "temperature" + - "consumption" + - "current" + - "power_factor" +``` + +### WSDCGQ01LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "°C" + device_class: "temperature" + value_template: "{{ value_json.temperature }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "%" + device_class: "humidity" + value_template: "{{ value_json.humidity }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" +``` + +### WSDCGQ11LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "°C" + device_class: "temperature" + value_template: "{{ value_json.temperature }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "%" + device_class: "humidity" + value_template: "{{ value_json.humidity }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "hPa" + device_class: "pressure" + value_template: "{{ value_json.pressure }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" +``` + +### RTCGQ01LM +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.occupancy }}" + device_class: "motion" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### RTCGQ11LM +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.occupancy }}" + device_class: "motion" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "lx" + device_class: "illuminance" + value_template: "{{ value_json.illuminance }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### MCCGQ01LM +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: false + payload_off: true + value_template: "{{ value_json.contact }}" + device_class: "door" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### MCCGQ11LM +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: false + payload_off: true + value_template: "{{ value_json.contact }}" + device_class: "door" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### SJCGQ11LM +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.water_leak }}" + device_class: "moisture" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### MFKZQ01LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:gesture-double-tap" + value_template: "{{ value_json.action }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "angle" + - "side" + - "from_side" + - "to_side" + - "brightness" + - "angle_x_absolute" + - "angle_y_absolute" + - "angle_z" + - "angle_y" + - "angle_x" + - "unknown_data" + force_update: true +``` + +### ZNCZ02LM +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "Watt" + icon: "mdi:flash" + value_template: "{{ value_json.power }}" + json_attributes: + - "linkquality" + - "voltage" + - "temperature" + - "consumption" + - "current" + - "power_factor" +``` + +### QBCZ11LM +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "Watt" + icon: "mdi:flash" + value_template: "{{ value_json.power }}" + json_attributes: + - "linkquality" + - "voltage" + - "temperature" + - "consumption" + - "current" + - "power_factor" +``` + +### JTYJ-GD-01LM/BW +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.smoke }}" + device_class: "smoke" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### JTQJ-BF-01LM/BW +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.gas }}" + device_class: "gas" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### A6121 +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:lock" + value_template: "{{ value_json.inserted }}" + json_attributes: + - "linkquality" + - "forgotten" + - "keyerror" +``` + +### DJT11LM +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:gesture-double-tap" + value_template: "{{ value_json.action }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "angle" + - "side" + - "from_side" + - "to_side" + - "brightness" + - "angle_x_absolute" + - "angle_y_absolute" + - "angle_z" + - "angle_y" + - "angle_x" + - "unknown_data" + force_update: true +``` + +### LED1545G12 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1546G12 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1623G12 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1537R6 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1650R5 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1536G5 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1622G12 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1624G9 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### LED1649C5 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### ICTC-G-1 +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "brightness" + icon: "mdi:brightness-5" + value_template: "{{ value_json.brightness }}" + json_attributes: + - "linkquality" +``` + +### ICPSHC24-10EU-IL-1 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### ICPSHC24-30EU-IL-1 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### L1527 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### L1529 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### L1528 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### E1603 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### 7299760PH +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 7146060PH +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 433714 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 9290011370 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 8718696449691 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 7299355PH +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 915005106701 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 9290012573A +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 9290002579A +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 8718696485880 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 915005733701 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 8718696695203 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 8718696598283 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 8718696548738 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 3261030P7 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 3216331P5 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 7199960PH +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 324131092621 +```yaml +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + icon: "mdi:gesture-double-tap" + value_template: "{{ value_json.action }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "angle" + - "side" + - "from_side" + - "to_side" + - "brightness" + - "angle_x_absolute" + - "angle_y_absolute" + - "angle_z" + - "angle_y" + - "angle_x" + - "unknown_data" + force_update: true +``` + +### 9290012607 +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.occupancy }}" + device_class: "motion" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "°C" + device_class: "temperature" + value_template: "{{ value_json.temperature }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "lx" + device_class: "illuminance" + value_template: "{{ value_json.illuminance }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### F7C033 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### PLUG EDP RE:DY +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "Watt" + icon: "mdi:flash" + value_template: "{{ value_json.power }}" + json_attributes: + - "linkquality" + - "voltage" + - "temperature" + - "consumption" + - "current" + - "power_factor" +``` + +### CC2530.ROUTER +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.state }}" + device_class: "connectivity" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + value_template: "{{ value_json.linkquality }}" + json_attributes: + - "description" + - "type" + - "rssi" +``` + +### DNCKATSW001 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### DNCKATSW002 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_left }}" + command_topic: "zigbee2mqtt//left/set" + json_attributes: + - "linkquality" + - "button_left" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_right }}" + command_topic: "zigbee2mqtt//right/set" + json_attributes: + - "linkquality" + - "button_right" +``` + +### DNCKATSW003 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_left }}" + command_topic: "zigbee2mqtt//left/set" + json_attributes: + - "linkquality" + - "button_left" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_right }}" + command_topic: "zigbee2mqtt//right/set" + json_attributes: + - "linkquality" + - "button_right" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_center }}" + command_topic: "zigbee2mqtt//center/set" + json_attributes: + - "linkquality" + - "button_center" +``` + +### DNCKATSW004 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_bottom_left }}" + command_topic: "zigbee2mqtt//bottom_left/set" + json_attributes: + - "linkquality" + - "button_bottom_left" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_bottom_right }}" + command_topic: "zigbee2mqtt//bottom_right/set" + json_attributes: + - "linkquality" + - "button_bottom_right" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_top_left }}" + command_topic: "zigbee2mqtt//top_left/set" + json_attributes: + - "linkquality" + - "button_top_left" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_top_right }}" + command_topic: "zigbee2mqtt//top_right/set" + json_attributes: + - "linkquality" + - "button_top_right" +``` + +### 4058075816718 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### AA69697 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### AC03645 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### AC03642 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### AA70155 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### AA68199 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### AB32840 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 4058075816794 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### AC03641 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 4052899926158 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### AB401130055 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### AB3257001NJ +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### 4052899926110 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 4058075036185 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 4058075036147 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### AB35996 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### AC08562 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### HALIGHTDIMWWE27 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### RB 185 C +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### RB 285 C +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### RB 165 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### RB 175 W +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### RS 125 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### RS 128 T +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### RB 145 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### BY 165 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### PL 110 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### ST 110 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### UC 110 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### DL 110 N +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### DL 110 W +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### SL 110 N +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### SL 110 M +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### SL 110 W +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 73742 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 73740 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 73693 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### 74283 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 74696 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 72922-A +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### 74282 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 22670 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 45852GE +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 45857GE +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### E11-G13 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### E11-G23/E11-G33 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### Z01-CIA19NAE26 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### E11-N1EA +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### K2RGBW01 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### Z809A +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "Watt" + icon: "mdi:flash" + value_template: "{{ value_json.power }}" + json_attributes: + - "linkquality" + - "voltage" + - "temperature" + - "consumption" + - "current" + - "power_factor" +``` + +### NL08-0800 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### FB56+ZSW05HG1.2 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### MG-AUWS01 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_left }}" + command_topic: "zigbee2mqtt//left/set" + json_attributes: + - "linkquality" + - "button_left" + +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state_right }}" + command_topic: "zigbee2mqtt//right/set" + json_attributes: + - "linkquality" + - "button_right" +``` + +### GL-C-008 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### STSS-MULT-001 +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: false + payload_off: true + value_template: "{{ value_json.contact }}" + device_class: "door" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### STS-PRS-251 +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.presence }}" + device_class: "presence" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### ZLED-2709 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 50045 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### 50049 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + +### AV2010/22 +```yaml +binary_sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_on: true + payload_off: false + value_template: "{{ value_json.occupancy }}" + device_class: "motion" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + device_class: "battery" + value_template: "{{ value_json.battery }}" + json_attributes: + - "linkquality" + - "voltage" + - "action" + - "sensitivity" +``` + +### 3210-L +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### KS-SM001 +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" +``` + +### 53170161 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + command_topic: "zigbee2mqtt//set" +``` + +### 4256251-RZHAC +```yaml +switch: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + payload_off: "OFF" + payload_on: "ON" + value_template: "{{ value_json.state }}" + command_topic: "zigbee2mqtt//set" + +sensor: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + unit_of_measurement: "Watt" + icon: "mdi:flash" + value_template: "{{ value_json.power }}" + json_attributes: + - "linkquality" + - "voltage" + - "temperature" + - "consumption" + - "current" + - "power_factor" +``` + + diff --git a/docs/supported-devices.md b/docs/supported-devices.md new file mode 100644 index 00000000..c9d31b51 --- /dev/null +++ b/docs/supported-devices.md @@ -0,0 +1,237 @@ +*NOTE: This file has been generated, do not edit this file manually!* + +Currently **129** devices are supported from **25** different vendors. + +In case you own a Zigbee device which is **NOT** listed here, please see +[How to support new devices](https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices). + +### Belkin +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| F7C033 | Belkin WeMo smart LED bulb (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/F7C033.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/F7C033.jpg) | + +### Bitron Home +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| AV2010/22 | Bitron Home Wireless motion detector (occupancy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AV2010-22.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AV2010-22.jpg) | + +### Centralite +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 4256251-RZHAC | Centralite White Swiss power outlet switch with power meter (switch and power meter) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4256251-RZHAC.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4256251-RZHAC.jpg) | + +### Commercial Electric +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 53170161 | Commercial Electric Matte White Recessed Retrofit Smart Led Downlight - 4 Inch (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/53170161.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/53170161.jpg) | + +### Custom devices (DiY) +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| CC2530.ROUTER | Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (state, description, type, rssi) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/CC2530.ROUTER.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/CC2530.ROUTER.jpg) | +| DNCKATSW001 | Custom devices (DiY) [DNCKAT single key wired wall light switch](https://github.com/dzungpv/dnckatsw00x/) (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW001.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW001.jpg) | +| DNCKATSW002 | Custom devices (DiY) [DNCKAT double key wired wall light switch](https://github.com/dzungpv/dnckatsw00x/) (hold/release, on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW002.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW002.jpg) | +| DNCKATSW003 | Custom devices (DiY) [DNCKAT triple key wired wall light switch](https://github.com/dzungpv/dnckatsw00x/) (hold/release, on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW003.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW003.jpg) | +| DNCKATSW004 | Custom devices (DiY) [DNCKAT quadruple key wired wall light switch](https://github.com/dzungpv/dnckatsw00x/) (hold/release, on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW004.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DNCKATSW004.jpg) | + +### EDP +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| PLUG EDP RE:DY | EDP re:dy plug (on/off, power measurement) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/PLUG-EDP-RE-DY.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/PLUG-EDP-RE-DY.jpg) | + +### GE +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 22670 | GE Link smart LED light bulb, BR30 soft white (2700K) (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/22670.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/22670.jpg) | +| 45852GE | GE ZigBee plug-in smart dimmer (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/45852GE.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/45852GE.jpg) | +| 45857GE | GE ZigBee in-wall smart dimmer (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/45857GE.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/45857GE.jpg) | + +### Gledopto +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| GL-C-008 | Gledopto Zigbee LED controller RGB + CCT (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/GL-C-008.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/GL-C-008.jpg) | + +### Hive +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| HALIGHTDIMWWE27 | Hive Active light dimmable (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/HALIGHTDIMWWE27.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/HALIGHTDIMWWE27.jpg) | + +### IKEA +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| LED1545G12 | IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1545G12.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1545G12.jpg) | +| LED1546G12 | IKEA TRADFRI LED bulb E26/E27 950 lumen, dimmable, white spectrum, clear (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1546G12.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1546G12.jpg) | +| LED1623G12 | IKEA TRADFRI LED bulb E27 1000 lumen, dimmable, opal white (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1623G12.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1623G12.jpg) | +| LED1537R6 | IKEA TRADFRI LED bulb GU10 400 lumen, dimmable, white spectrum (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1537R6.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1537R6.jpg) | +| LED1650R5 | IKEA TRADFRI LED bulb GU10 400 lumen, dimmable (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1650R5.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1650R5.jpg) | +| LED1536G5 | IKEA TRADFRI LED bulb E12/E14 400 lumen, dimmable, white spectrum, opal white (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1536G5.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1536G5.jpg) | +| LED1622G12 | IKEA TRADFRI LED bulb E26 1000 lumen, dimmable, opal white (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1622G12.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1622G12.jpg) | +| LED1624G9 | IKEA TRADFRI LED bulb E27/E26 600 lumen, dimmable, color, opal white (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1624G9.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1624G9.jpg) | +| LED1649C5 | IKEA TRADFRI LED bulb E12/E14 400 lumen, dimmable warm white, chandelier opal (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1649C5.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/LED1649C5.jpg) | +| ICTC-G-1 | IKEA TRADFRI wireless dimmer (brightness [0-255], quick rotate for instant 0/255) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ICTC-G-1.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ICTC-G-1.jpg) | +| ICPSHC24-10EU-IL-1 | IKEA TRADFRI driver for wireless control (10 watt) (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ICPSHC24-10EU-IL-1.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ICPSHC24-10EU-IL-1.jpg) | +| ICPSHC24-30EU-IL-1 | IKEA TRADFRI driver for wireless control (30 watt) (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ICPSHC24-30EU-IL-1.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ICPSHC24-30EU-IL-1.jpg) | +| L1527 | IKEA FLOALT LED light panel, dimmable, white spectrum (30x30 cm) (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/L1527.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/L1527.jpg) | +| L1529 | IKEA FLOALT LED light panel, dimmable, white spectrum (60x60 cm) (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/L1529.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/L1529.jpg) | +| L1528 | IKEA FLOALT LED light panel, dimmable, white spectrum (30x90 cm) (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/L1528.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/L1528.jpg) | +| E1603 | IKEA TRADFRI control outlet (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E1603.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E1603.jpg) | + +### Innr +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| RB 185 C | Innr E27 Bulb RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-185-C.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-185-C.jpg) | +| RB 285 C | Innr E27 Bulb RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-285-C.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-285-C.jpg) | +| RB 165 | Innr E27 Bulb (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-165.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-165.jpg) | +| RB 175 W | Innr E27 Bulb warm dimming (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-175-W.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-175-W.jpg) | +| RS 125 | Innr GU10 Spot (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RS-125.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RS-125.jpg) | +| RS 128 T | Innr GU10 Spot 350 lm, dimmable, white spectrum (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RS-128-T.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RS-128-T.jpg) | +| RB 145 | Innr E14 Candle (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-145.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RB-145.jpg) | +| BY 165 | Innr B22 Bulb dimmable (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/BY-165.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/BY-165.jpg) | +| PL 110 | Innr Puck Light (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/PL-110.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/PL-110.jpg) | +| ST 110 | Innr Strip Light (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ST-110.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ST-110.jpg) | +| UC 110 | Innr Under Cabinet Light (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/UC-110.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/UC-110.jpg) | +| DL 110 N | Innr Spot narrow (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DL-110-N.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DL-110-N.jpg) | +| DL 110 W | Innr Spot wide (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DL-110-W.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DL-110-W.jpg) | +| SL 110 N | Innr Spot Flex narrow (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SL-110-N.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SL-110-N.jpg) | +| SL 110 M | Innr Spot Flex medium (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SL-110-M.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SL-110-M.jpg) | +| SL 110 W | Innr Spot Flex wide (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SL-110-W.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SL-110-W.jpg) | + +### Iris +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 3210-L | Iris Smart plug (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/3210-L.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/3210-L.jpg) | + +### JIAWEN +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| K2RGBW01 | JIAWEN Wireless Bulb E27 9W RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/K2RGBW01.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/K2RGBW01.jpg) | + +### Ksentry Electronics +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| KS-SM001 | Ksentry Electronics [Zigbee OnOff Controller](http://ksentry.manufacturer.globalsources.com/si/6008837134660/pdtl/ZigBee-module/1162731630/zigbee-on-off-controller-modules.htm) (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/KS-SM001.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/KS-SM001.jpg) | + +### Nanoleaf +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| NL08-0800 | Nanoleaf Smart Ivy Bulb E27 (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/NL08-0800.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/NL08-0800.jpg) | + +### Netvox +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| Z809A | Netvox Power socket with power consumption monitoring (on/off, power measurement) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/Z809A.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/Z809A.jpg) | + +### Nue +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| FB56+ZSW05HG1.2 | Nue ZigBee one gang smart switch (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/FB56+ZSW05HG1.2.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/FB56+ZSW05HG1.2.jpg) | +| MG-AUWS01 | Nue ZigBee Double GPO (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MG-AUWS01.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MG-AUWS01.jpg) | + +### OSRAM +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 4058075816718 | OSRAM SMART+ outdoor wall lantern RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075816718.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075816718.jpg) | +| AA69697 | OSRAM Classic A60 RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AA69697.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AA69697.jpg) | +| AC03645 | OSRAM LIGHTIFY LED CLA60 E27 RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC03645.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC03645.jpg) | +| AC03642 | OSRAM SMART+ CLASSIC A 60 TW (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC03642.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC03642.jpg) | +| AA70155 | OSRAM LIGHTIFY LED A19 tunable white / Classic A60 TW (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AA70155.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AA70155.jpg) | +| AA68199 | OSRAM LIGHTIFY LED PAR16 50 GU10 tunable white (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AA68199.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AA68199.jpg) | +| AB32840 | OSRAM LIGHTIFY LED Classic B40 tunable white (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB32840.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB32840.jpg) | +| 4058075816794 | OSRAM Smart+ Ceiling TW (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075816794.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075816794.jpg) | +| AC03641 | OSRAM LIGHTIFY LED Classic A60 clear (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC03641.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC03641.jpg) | +| 4052899926158 | OSRAM LIGHTIFY Surface Light TW (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4052899926158.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4052899926158.jpg) | +| AB401130055 | OSRAM LIGHTIFY Surface Light LED Tunable White (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB401130055.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB401130055.jpg) | +| AB3257001NJ | OSRAM Smart+ plug (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB3257001NJ.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB3257001NJ.jpg) | +| 4052899926110 | OSRAM Flex RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4052899926110.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4052899926110.jpg) | +| 4058075036185 | OSRAM Outdoor Flex RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075036185.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075036185.jpg) | +| 4058075036147 | OSRAM Smart+ Gardenpole RGBW (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075036147.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/4058075036147.jpg) | +| AB35996 | OSRAM Smart+ Spot GU10 Multicolor (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB35996.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AB35996.jpg) | +| AC08562 | OSRAM SMART+ Candle E14 Dimmable White (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC08562.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/AC08562.jpg) | + +### Paulmann +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 50045 | Paulmann SmartHome Zigbee LED-stripe (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/50045.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/50045.jpg) | +| 50049 | Paulmann SmartHome Yourled RGB Controller (on/off, brightness, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/50049.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/50049.jpg) | + +### Philips +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 7299760PH | Philips Hue Bloom (on/off, brightness, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7299760PH.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7299760PH.jpg) | +| 7146060PH | Philips Hue Go (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7146060PH.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7146060PH.jpg) | +| 433714 | Philips Hue Lux A19 bulb E27 (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/433714.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/433714.jpg) | +| 9290011370 | Philips Hue white A60 bulb E27 (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290011370.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290011370.jpg) | +| 8718696449691 | Philips Hue White Single bulb B22 (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696449691.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696449691.jpg) | +| 7299355PH | Philips Hue white and color ambiance LightStrip (on/off, brightness, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7299355PH.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7299355PH.jpg) | +| 915005106701 | Philips Hue white and color ambiance LightStrip plus (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/915005106701.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/915005106701.jpg) | +| 9290012573A | Philips Hue white and color ambiance E26/E27/E14 (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290012573A.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290012573A.jpg) | +| 9290002579A | Philips Hue white and color ambiance BR30 (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290002579A.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290002579A.jpg) | +| 8718696485880 | Philips Hue white and color ambiance GU10 (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696485880.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696485880.jpg) | +| 915005733701 | Philips Hue White and color ambiance Play Lightbar (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/915005733701.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/915005733701.jpg) | +| 8718696695203 | Philips Hue white ambiance E14 (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696695203.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696695203.jpg) | +| 8718696598283 | Philips Hue white ambiance GU10 (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696598283.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696598283.jpg) | +| 8718696548738 | Philips Hue white ambiance E26/E27 (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696548738.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/8718696548738.jpg) | +| 3261030P7 | Philips Hue Being (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/3261030P7.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/3261030P7.jpg) | +| 3216331P5 | Philips Philips Hue White ambiance Aurelle Rectangle Panel Light (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/3216331P5.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/3216331P5.jpg) | +| 7199960PH | Philips Hue Iris (on/off, brightness, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7199960PH.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/7199960PH.jpg) | +| 324131092621 | Philips Hue dimmer switch (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/324131092621.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/324131092621.jpg) | +| 9290012607 | Philips Hue motion sensor (occupancy, temperature, illuminance) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290012607.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/9290012607.jpg) | + +### Sengled +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| E11-G13 | Sengled Element Classic (A19) (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E11-G13.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E11-G13.jpg) | +| E11-G23/E11-G33 | Sengled Element Classic (A60) (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E11-G23-E11-G33.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E11-G23-E11-G33.jpg) | +| Z01-CIA19NAE26 | Sengled Element Touch (A19) (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/Z01-CIA19NAE26.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/Z01-CIA19NAE26.jpg) | +| E11-N1EA | Sengled Element Plus Color (A19) (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E11-N1EA.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/E11-N1EA.jpg) | + +### SmartThings +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| STSS-MULT-001 | SmartThings SmartSense multi sensor (contact) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/STSS-MULT-001.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/STSS-MULT-001.jpg) | +| STS-PRS-251 | SmartThings SmartThings arrival sensor (presence) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/STS-PRS-251.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/STS-PRS-251.jpg) | + +### Sylvania +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 73742 | Sylvania LIGHTIFY LED adjustable white RT 5/6 (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/73742.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/73742.jpg) | +| 73740 | Sylvania LIGHTIFY LED adjustable white BR30 (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/73740.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/73740.jpg) | +| 73693 | Sylvania LIGHTIFY LED RGBW A19 (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/73693.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/73693.jpg) | +| 74283 | Sylvania LIGHTIFY LED soft white dimmable A19 (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/74283.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/74283.jpg) | +| 74696 | Sylvania LIGHTIFY LED soft white dimmable A19 (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/74696.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/74696.jpg) | +| 72922-A | Sylvania SMART+ Smart Plug (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/72922-A.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/72922-A.jpg) | +| 74282 | Sylvania Smart Home adjustable white MR16 LED bulb (on/off, brightness, color temperature) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/74282.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/74282.jpg) | + +### Trust +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| ZLED-2709 | Trust Smart Dimmable LED Bulb (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ZLED-2709.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ZLED-2709.jpg) | + +### Xiaomi +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| WXKG01LM | Xiaomi MiJia wireless switch (single, double, triple, quadruple, many, long, long_release click) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG01LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG01LM.jpg) | +| WXKG11LM | Xiaomi Aqara wireless switch (single, double click (and triple, quadruple, hold, release depending on model)) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG11LM.jpg) | +| WXKG12LM | Xiaomi Aqara wireless switch (with gyroscope) (single, double, shake, hold, release) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG12LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG12LM.jpg) | +| WXKG03LM | Xiaomi Aqara single key wireless wall switch (single click) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG03LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG03LM.jpg) | +| WXKG02LM | Xiaomi Aqara double key wireless wall switch (left, right and both click) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG02LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WXKG02LM.jpg) | +| QBKG04LM | Xiaomi Aqara single key wired wall switch (on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG04LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG04LM.jpg) | +| QBKG11LM | Xiaomi Aqara single key wired wall switch (on/off, power measurement) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG11LM.jpg) | +| QBKG03LM | Xiaomi Aqara double key wired wall switch (release/hold, on/off) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG03LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG03LM.jpg) | +| QBKG12LM | Xiaomi Aqara double key wired wall switch (on/off, power measurement) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG12LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBKG12LM.jpg) | +| WSDCGQ01LM | Xiaomi MiJia temperature & humidity sensor (temperature and humidity) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WSDCGQ01LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WSDCGQ01LM.jpg) | +| WSDCGQ11LM | Xiaomi Aqara temperature, humidity and pressure sensor (temperature, humidity and pressure) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WSDCGQ11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/WSDCGQ11LM.jpg) | +| RTCGQ01LM | Xiaomi MiJia human body movement sensor (occupancy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RTCGQ01LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RTCGQ01LM.jpg) | +| RTCGQ11LM | Xiaomi Aqara human body movement and illuminance sensor (occupancy and illuminance) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RTCGQ11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/RTCGQ11LM.jpg) | +| MCCGQ01LM | Xiaomi MiJia door & window contact sensor (contact) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MCCGQ01LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MCCGQ01LM.jpg) | +| MCCGQ11LM | Xiaomi Aqara door & window contact sensor (contact) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MCCGQ11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MCCGQ11LM.jpg) | +| SJCGQ11LM | Xiaomi Aqara water leak sensor (water leak true/false) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SJCGQ11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/SJCGQ11LM.jpg) | +| MFKZQ01LM | Xiaomi Mi smart home cube (shake, wakeup, fall, tap, slide, flip180, flip90, rotate_left and rotate_right) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MFKZQ01LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/MFKZQ01LM.jpg) | +| ZNCZ02LM | Xiaomi Mi power plug ZigBee (on/off, power measurement) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ZNCZ02LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/ZNCZ02LM.jpg) | +| QBCZ11LM | Xiaomi Aqara socket Zigbee (on/off, power measurement) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBCZ11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/QBCZ11LM.jpg) | +| JTYJ-GD-01LM/BW | Xiaomi MiJia Honeywell smoke detector (smoke) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/JTYJ-GD-01LM-BW.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/JTYJ-GD-01LM-BW.jpg) | +| JTQJ-BF-01LM/BW | Xiaomi MiJia gas leak detector (gas) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/JTQJ-BF-01LM-BW.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/JTQJ-BF-01LM-BW.jpg) | +| A6121 | Xiaomi Vima Smart Lock (inserted, forgotten, key error) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/A6121.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/A6121.jpg) | +| DJT11LM | Xiaomi Aqara vibration sensor (drop, tilt and touch) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DJT11LM.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/DJT11LM.jpg) | + + diff --git a/package.json b/package.json index 0f2828bc..c7312cab 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,10 @@ ], "scripts": { "coverage": "nyc --all report --reporter=text mocha --recursive --timeout=3000", - "docgen": "node support/docgen.js", + "docgen": "node docgen/docgen.js", "eslint": "node_modules/.bin/eslint .", "start": "node index.js", - "test": "mocha --recursive", - "verify-homeassistant-mapping": "node support/verify-homeassistant-mapping.js" + "test": "mocha --recursive" }, "author": "Koen Kanters", "license": "GPL-3.0", diff --git a/support/docgen.js b/support/docgen.js deleted file mode 100644 index 6b8b16ee..00000000 --- a/support/docgen.js +++ /dev/null @@ -1,130 +0,0 @@ -/** - * This script generates the supported devices page. - * Run by executing: npm run docs - */ - -const deviceMapping = require('zigbee-shepherd-converters').devices; -const fs = require('fs'); -const YAML = require('json2yaml'); -const homeassistant = require('../lib/homeassistant'); - -const outputdir = process.argv[2]; - -if (!outputdir) { - console.error("Please specify an output directory"); -} - -let file = 'Supported-devices.md'; -let text = '*NOTE: Automatically generated by `npm run docgen`*\n'; -text += ` -In case you own a Zigbee device which is **NOT** listed here, please see [How to support new devices](https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices). -\n`; - -const logDevices = (devices) => { - let result = ''; - result += '| Model | Description | Picture |\n'; - result += '| ------------- | ------------- | -------------------------- |\n'; - devices = new Map(devices.map((d) => [d.model, d])); - devices.forEach((device) => { - const pathFriendly = device.model.replace(new RegExp("/", "g"), '-').replace(new RegExp(":", "g"), '-').replace(new RegExp(" ", "g"), '-'); - result += `| ${device.model} | ${device.vendor} ${device.description} (${device.supports}) | ![${pathFriendly}](images/devices/${pathFriendly}.jpg) |\n`; - }); - - return result; -} - -const vendors = Array.from(new Set(deviceMapping.map((d) => d.vendor))); -vendors.sort(); -vendors.forEach((vendor) => { - text += `### ${vendor}\n`; - text += logDevices(deviceMapping.filter((d) => d.vendor === vendor)); - text += '\n'; -}) - -fs.writeFileSync(outputdir + '/' + file, text); - - -file = 'Integrating-with-Home-Assistant.md'; -text = '*NOTE: Automatically generated by `npm run docgen`*\n\n'; -text += 'If you\'re hosting zigbee2mqtt using [this hassio addon-on](https://github.com/danielwelch/hassio-zigbee2mqtt) use their documentation on how to configure.\n\n' -text += 'The easiest way to integrate zigbee2mqtt with Home Assistant is by using [MQTT discovery](https://www.home-assistant.io/docs/mqtt/discovery/).\n\n' -text += 'To achieve the best possible integration (including MQTT discovery):\n'; -text += '- In your **zigbee2mqtt** `configuration.yaml` set `homeassistant: true`\n' -text += '- In your **Home Assistant** `configuration.yaml`:\n'; - -text += '```yaml\n'; -text += 'mqtt:\n'; -text += ' discovery: true\n'; -text += ' broker: [YOUR MQTT BROKER] # Remove if you want to use builtin-in MQTT broker\n'; -text += ' birth_message:\n'; -text += ` topic: 'hass/status'\n`; -text += ` payload: 'online'\n`; -text += ' will_message:\n'; -text += ` topic: 'hass/status'\n`; -text += ` payload: 'offline'\n`; -text += '```'; -text += '\n\n' - -text += 'Zigbee2mqtt is expecting Home Assistant to send it\'s birth/will messages to `hass/status`.' -text += 'Be sure to add this to your `configuration.yaml` if you want zigbee2mqtt to resend the cached values when Home Assistant restarts' -text += '\n\n' - -text += 'To respond to button clicks (e.g. WXKG01LM) you can use the following Home Assistant configuration:\n' -text += '```yaml' -text += ` -automation: - - alias: Respond to button clicks - trigger: - platform: mqtt - topic: 'zigbee2mqtt/ { - const payload = { - platform: 'mqtt', - state_topic: "zigbee2mqtt/", - availability_topic: "zigbee2mqtt/bridge/state", - ...device.discovery_payload, - }; - - if (payload.command_topic) { - if (payload.command_topic_prefix) { - payload.command_topic = `zigbee2mqtt//${payload.command_topic_prefix}/set`; - } else { - payload.command_topic = `zigbee2mqtt//set`; - } - } - - delete payload.command_topic_prefix; - - let yml = YAML.stringify([payload]); - yml = yml.replace(/(-) \n /g, '- '); - yml = yml.replace('---', `${device.type}:`) - return yml; -} - -deviceMapping.forEach((device) => { - text += `### ${device.model}\n`; - text += '```yaml\n' - - const configurations = homeassistant.mapping[device.model] - configurations.forEach((d, i) => { - text += homeassistantConfig(d); - if (configurations.length > 1 && i < configurations.length - 1) { - text += '\n'; - } - }) - - text += '```\n\n'; -}); - -fs.writeFileSync(outputdir + '/' + file, text); diff --git a/test/docgen.test.js b/test/docgen.test.js new file mode 100644 index 00000000..e84aec0c --- /dev/null +++ b/test/docgen.test.js @@ -0,0 +1,28 @@ +const chai = require('chai'); +const fs = require('fs'); +const path = require('path'); + +const base = path.join(__dirname, '..', 'docs'); + +const supportDevices = require('../docgen/supported-devices'); +const integratingWithHomeassistant = require('../docgen/integrating-with-homeassistant'); + +describe('Docgen', () => { + it('supported-devices.md should be up-to-date.', () => { + const actual = fs.readFileSync(path.join(base, 'supported-devices.md')).toString(); + chai.assert.strictEqual( + supportDevices, + actual, + 'supported-devices.md is not up-to-date, forgot to run npm run docgen?' + ); + }); + + it('integrating-with-homeassistant.md should be up-to-date.', () => { + const actual = fs.readFileSync(path.join(base, 'integrating-with-homeassistant.md')).toString(); + chai.assert.strictEqual( + integratingWithHomeassistant, + actual, + 'supported-devices.md is not up-to-date, forgot to run npm run docgen?' + ); + }); +});