From 63c9265ee3256cde42d909017392492402fe118d Mon Sep 17 00:00:00 2001 From: Koenkk Date: Tue, 27 Nov 2018 21:19:53 +0100 Subject: [PATCH] Update zigbee-shepherd-converters to 5.0.3. https://github.com/Koenkk/zigbee2mqtt/issues/627 --- docgen/integrating-with-homeassistant.js | 17 +++++---- docs/integrating-with-homeassistant.md | 22 +++++++++++ docs/supported-devices.md | 16 ++++++-- images/devices/900008-WW.jpg | Bin 0 -> 21090 bytes images/devices/Mega23M12.jpg | Bin 0 -> 6905 bytes lib/extension/homeassistant.js | 2 + npm-shrinkwrap.json | 33 +++++++++-------- package.json | 2 +- test/devicePublish.test.js | 45 +++++++++++++++++++++++ 9 files changed, 110 insertions(+), 27 deletions(-) create mode 100644 images/devices/900008-WW.jpg create mode 100644 images/devices/Mega23M12.jpg diff --git a/docgen/integrating-with-homeassistant.js b/docgen/integrating-with-homeassistant.js index 1d23f55a5..6da7b1d09 100644 --- a/docgen/integrating-with-homeassistant.js +++ b/docgen/integrating-with-homeassistant.js @@ -92,14 +92,17 @@ devices.forEach((device) => { 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'; + if (configurations) { + configurations.forEach((d, i) => { + configuration += homeassistantConfig(d); + if (configurations.length > 1 && i < configurations.length - 1) { + configuration += '\n'; + } + }); + + configuration += '```\n\n'; + } }); diff --git a/docs/integrating-with-homeassistant.md b/docs/integrating-with-homeassistant.md index d5752b22a..17d45f337 100644 --- a/docs/integrating-with-homeassistant.md +++ b/docs/integrating-with-homeassistant.md @@ -1988,6 +1988,28 @@ light: command_topic: "zigbee2mqtt//set" ``` +### 900008-WW +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + command_topic: "zigbee2mqtt//set" +``` + +### Mega23M12 +```yaml +light: + - platform: "mqtt_json" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + command_topic: "zigbee2mqtt//set" +``` + ### 4256251-RZHAC ```yaml switch: diff --git a/docs/supported-devices.md b/docs/supported-devices.md index c9d31b51e..29aad811c 100644 --- a/docs/supported-devices.md +++ b/docs/supported-devices.md @@ -1,6 +1,6 @@ *NOTE: This file has been generated, do not edit this file manually!* -Currently **129** devices are supported from **25** different vendors. +Currently **131** devices are supported from **27** 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). @@ -34,6 +34,11 @@ In case you own a Zigbee device which is **NOT** listed here, please see | 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) | +### Dresden Elektronik +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| Mega23M12 | Dresden Elektronik ZigBee Light Link wireless electronic ballast (on/off, brightness, color temperature, color xy) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/Mega23M12.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/Mega23M12.jpg) | + ### EDP | Model | Description | Picture | | ------------- | ------------- | -------------------------- | @@ -67,7 +72,7 @@ In case you own a Zigbee device which is **NOT** listed here, please see | 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) | +| LED1649C5 | IKEA TRADFRI LED bulb E12/E14/E17 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) | @@ -226,7 +231,7 @@ In case you own a Zigbee device which is **NOT** listed here, please see | 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) | +| MFKZQ01LM | Xiaomi Mi/Aqara 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) | @@ -234,4 +239,9 @@ In case you own a Zigbee device which is **NOT** listed here, please see | 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) | +### ilux +| Model | Description | Picture | +| ------------- | ------------- | -------------------------- | +| 900008-WW | ilux Dimmable A60 E27 LED Bulb (on/off, brightness) | ![https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/900008-WW.jpg](https://github.com/Koenkk/zigbee2mqtt/raw/dev/images/devices/900008-WW.jpg) | + diff --git a/images/devices/900008-WW.jpg b/images/devices/900008-WW.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad814e832e4f0cce704b70714aa7fcec95a7deef GIT binary patch literal 21090 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 literal 0 HcmV?d00001 diff --git a/images/devices/Mega23M12.jpg b/images/devices/Mega23M12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bdb51c7d1bbdc0d93ff233b8aaddea3070e26398 GIT binary patch literal 6905 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 literal 0 HcmV?d00001 diff --git a/lib/extension/homeassistant.js b/lib/extension/homeassistant.js index f3dcacc95..a00ef0ebb 100644 --- a/lib/extension/homeassistant.js +++ b/lib/extension/homeassistant.js @@ -396,6 +396,8 @@ const mapping = { 'RB 285 C': [configurations.light_brightness_colortemp_colorxy], '3216331P5': [configurations.light_brightness_colortemp], 'AC08562': [configurations.light_brightness], + '900008-WW': [configurations.light_brightness], + 'Mega23M12': [configurations.light_brightness_colortemp_colorxy], }; /** diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 3d1d25d08..594f7d7f8 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -219,9 +219,9 @@ "dev": true }, "acorn-jsx": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.0.tgz", - "integrity": "sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", + "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", "dev": true }, "ajv": { @@ -666,7 +666,7 @@ }, "callsites": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "resolved": "http://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, @@ -1001,7 +1001,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } @@ -3708,10 +3708,11 @@ }, "dependencies": { "clone-deep": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.0.tgz", - "integrity": "sha512-aNJ5/7Bz2IYBb7nIj34TLGk78lBXpXUgV9qsLngtTvJ9+scsZNnlU0OX2S2N4ax/sUQt7sDBkXiGjGJEmNbXOQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "requires": { + "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" } @@ -3851,9 +3852,9 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "queue": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/queue/-/queue-4.5.0.tgz", - "integrity": "sha512-DwxpAnqJuoQa+wyDgQuwkSshkhlqIlWEvwvdAY27fDPunZ2cVJzXU4JyjY+5l7zs7oGLaYAQm4MbLOVFAHFBzA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/queue/-/queue-4.5.1.tgz", + "integrity": "sha512-AMD7w5hRXcFSb8s9u38acBZ+309u6GsiibP4/0YacJeaurRshogB7v/ZcVPxP5gD5+zIw6ixRHdutiYUJfwKHw==", "requires": { "inherits": "~2.0.0" } @@ -4302,7 +4303,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "~2.0.1", @@ -4326,7 +4327,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -4804,9 +4805,9 @@ } }, "zigbee-shepherd-converters": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/zigbee-shepherd-converters/-/zigbee-shepherd-converters-5.0.2.tgz", - "integrity": "sha512-+G4QkFGVg13Iyb4dW8vijaz305DpFoQTICqgconguCS5mhHJYORBKVVKQ1FywkdbDLIIkF4IYUyO+Y74vMhufg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/zigbee-shepherd-converters/-/zigbee-shepherd-converters-5.0.3.tgz", + "integrity": "sha512-dBEAAWniNWWiP5T7anG6uQR19x9dyFIXuoxTT9cMTjPb1fswqGg+Ie8NJhBKcFDVwJyP8gz3hOFuHWJlc/22mw==", "requires": { "debounce": "*", "zcl-id": "*" diff --git a/package.json b/package.json index c7312cab5..a27f6d479 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "rimraf": "*", "winston": "2.4.2", "zigbee-shepherd": "git+https://github.com/Koenkk/zigbee-shepherd.git#ce52ac4131e2a505af6197b4a26d2b5360e4eb80", - "zigbee-shepherd-converters": "5.0.2" + "zigbee-shepherd-converters": "5.0.3" }, "devDependencies": { "chai": "*", diff --git a/test/devicePublish.test.js b/test/devicePublish.test.js index 2ad89eb59..082d17923 100644 --- a/test/devicePublish.test.js +++ b/test/devicePublish.test.js @@ -42,6 +42,51 @@ describe('DevicePublish', () => { chai.assert.deepEqual(zigbee.publish.getCall(0).args[6], null); }); + it('Should publish messages to zigbee devices when brightness is in %', () => { + zigbee.publish.resetHistory(); + zigbee.getDevice = sinon.fake.returns({modelId: 'TRADFRI bulb E27 CWS opal 600lm'}); + devicePublish = new DevicePublish(zigbee, mqtt, null, null); + devicePublish.onMQTTMessage('zigbee2mqtt/0x12345678/set', JSON.stringify({brightness: '92%'})); + chai.assert.isTrue(zigbee.publish.calledOnce); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[0], '0x12345678'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[1], 'genLevelCtrl'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[2], 'moveToLevelWithOnOff'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[3], 'functional'); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[4], {level: '235', transtime: 0}); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[5], cfg.default); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[6], null); + }); + + it('Should publish messages to zigbee devices with color_temp', () => { + zigbee.publish.resetHistory(); + zigbee.getDevice = sinon.fake.returns({modelId: 'TRADFRI bulb E27 CWS opal 600lm'}); + devicePublish = new DevicePublish(zigbee, mqtt, null, null); + devicePublish.onMQTTMessage('zigbee2mqtt/0x12345678/set', JSON.stringify({color_temp: '222'})); + chai.assert.isTrue(zigbee.publish.calledOnce); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[0], '0x12345678'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[1], 'lightingColorCtrl'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[2], 'moveToColorTemp'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[3], 'functional'); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[4], {colortemp: '222', transtime: 0}); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[5], cfg.default); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[6], null); + }); + + it('Should publish messages to zigbee devices with color_temp in %', () => { + zigbee.publish.resetHistory(); + zigbee.getDevice = sinon.fake.returns({modelId: 'TRADFRI bulb E27 CWS opal 600lm'}); + devicePublish = new DevicePublish(zigbee, mqtt, null, null); + devicePublish.onMQTTMessage('zigbee2mqtt/0x12345678/set', JSON.stringify({color_temp: '100%'})); + chai.assert.isTrue(zigbee.publish.calledOnce); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[0], '0x12345678'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[1], 'lightingColorCtrl'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[2], 'moveToColorTemp'); + chai.assert.strictEqual(zigbee.publish.getCall(0).args[3], 'functional'); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[4], {colortemp: '500', transtime: 0}); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[5], cfg.default); + chai.assert.deepEqual(zigbee.publish.getCall(0).args[6], null); + }); + it('Should publish messages to zigbee devices with non-default ep', () => { zigbee.publish.resetHistory(); zigbee.getDevice = sinon.fake.returns({modelId: 'lumi.ctrl_neutral1'});