From 3bb1f0f10b513c3871f265b7ba184db8a1a9057e Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Sun, 6 Jan 2019 15:31:08 +0100 Subject: [PATCH] Update zigbee-shepherd-converters to 7.0.10. --- docs/images/devices/1TST-EU.jpg | Bin 0 -> 9402 bytes docs/images/devices/3321-S.jpg | Bin 0 -> 5588 bytes docs/images/devices/45856GE.jpg | Bin 0 -> 1936 bytes docs/images/devices/AIRAM-CTR.U.jpg | Bin 0 -> 9537 bytes docs/images/devices/E12-N14.jpg | Bin 0 -> 8221 bytes docs/images/devices/GD-CZ-006.jpg | Bin 0 -> 5396 bytes docs/images/devices/GL-D-003Z.jpg | Bin 0 -> 15009 bytes docs/images/devices/HALIGHTDIMWWB22.jpg | Bin 0 -> 7077 bytes docs/images/devices/HGZB-20-DE.jpg | Bin 0 -> 9342 bytes docs/images/devices/L1531.jpg | Bin 0 -> 2011 bytes docs/images/devices/RB-178-T.jpg | Bin 0 -> 2481 bytes docs/information/supported_devices.md | 25 +++- docs/integration/home_assistant.md | 149 ++++++++++++++++++++++++ lib/extension/deviceConfigure.js | 2 +- lib/extension/homeassistant.js | 7 ++ npm-shrinkwrap.json | 142 +++++++++++----------- package.json | 2 +- test/deviceReceive.test.js | 15 ++- 18 files changed, 264 insertions(+), 78 deletions(-) create mode 100644 docs/images/devices/1TST-EU.jpg create mode 100644 docs/images/devices/3321-S.jpg create mode 100644 docs/images/devices/45856GE.jpg create mode 100644 docs/images/devices/AIRAM-CTR.U.jpg create mode 100644 docs/images/devices/E12-N14.jpg create mode 100644 docs/images/devices/GD-CZ-006.jpg create mode 100644 docs/images/devices/GL-D-003Z.jpg create mode 100644 docs/images/devices/HALIGHTDIMWWB22.jpg create mode 100644 docs/images/devices/HGZB-20-DE.jpg create mode 100644 docs/images/devices/L1531.jpg create mode 100644 docs/images/devices/RB-178-T.jpg diff --git a/docs/images/devices/1TST-EU.jpg b/docs/images/devices/1TST-EU.jpg new file mode 100644 index 0000000000000000000000000000000000000000..86c353a161c03d28359ee28c04e5cf72dcc69f82 GIT binary patch literal 9402 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 KaAB1okN*uYVoC-8 literal 0 HcmV?d00001 diff --git a/docs/images/devices/E12-N14.jpg b/docs/images/devices/E12-N14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0373c81e94807271a3505358b8f07ac85e2b3082 GIT binary patch literal 8221 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 literal 0 HcmV?d00001 diff --git a/docs/images/devices/GL-D-003Z.jpg b/docs/images/devices/GL-D-003Z.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fbe78e06c06aa6c8c7c68d1bf76f3dc37cb4783c GIT binary patch literal 15009 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 F{|%^KrTG8= literal 0 HcmV?d00001 diff --git a/docs/images/devices/HALIGHTDIMWWB22.jpg b/docs/images/devices/HALIGHTDIMWWB22.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fdac88c0eb038bc1456b5300d8185e9867c6551 GIT binary patch literal 7077 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 Lck=(8QhNUj1vBXy literal 0 HcmV?d00001 diff --git a/docs/images/devices/HGZB-20-DE.jpg b/docs/images/devices/HGZB-20-DE.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33be00f640de9d769beba9358b522658bd62c2c7 GIT binary patch literal 9342 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" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + schema: "json" + command_topic: "zigbee2mqtt//set" +``` +{% endraw %} + ### E1603 {% raw %} ```yaml @@ -1696,6 +1710,12 @@ switch: ``` {% endraw %} +### 1TST-EU +{% raw %} +```yaml +``` +{% endraw %} + ### 4058075816718 {% raw %} ```yaml @@ -1992,6 +2012,19 @@ light: ``` {% endraw %} +### HALIGHTDIMWWB22 +{% raw %} +```yaml +light: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + schema: "json" + command_topic: "zigbee2mqtt//set" +``` +{% endraw %} + ### RB 185 C {% raw %} ```yaml @@ -2063,6 +2096,20 @@ light: ``` {% endraw %} +### RB 178 T +{% raw %} +```yaml +light: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + schema: "json" + command_topic: "zigbee2mqtt//set" +``` +{% endraw %} + ### RS 125 {% raw %} ```yaml @@ -2401,6 +2448,20 @@ light: ``` {% endraw %} +### 45856GE +{% raw %} +```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" +``` +{% endraw %} + ### 45857GE {% raw %} ```yaml @@ -2482,6 +2543,19 @@ light: ``` {% endraw %} +### E12-N14 +{% raw %} +```yaml +light: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + schema: "json" + command_topic: "zigbee2mqtt//set" +``` +{% endraw %} + ### K2RGBW01 {% raw %} ```yaml @@ -2628,6 +2702,34 @@ light: ``` {% endraw %} +### GL-D-003Z +{% raw %} +```yaml +light: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + color_temp: true + xy: true + schema: "json" + command_topic: "zigbee2mqtt//set" +``` +{% endraw %} + +### GD-CZ-006 +{% raw %} +```yaml +light: + - platform: "mqtt" + state_topic: "zigbee2mqtt/" + availability_topic: "zigbee2mqtt/bridge/state" + brightness: true + schema: "json" + command_topic: "zigbee2mqtt//set" +``` +{% endraw %} + ### STSS-MULT-001 {% raw %} ```yaml @@ -2709,6 +2811,33 @@ binary_sensor: ``` {% endraw %} +### 3321-S +{% raw %} +```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" + unit_of_measurement: "°C" + device_class: "temperature" + value_template: "{{ value_json.temperature }}" + json_attributes: + - "linkquality" + - "battery" + - "voltage" + - "last_seen" +``` +{% endraw %} + ### ZLED-2709 {% raw %} ```yaml @@ -3086,4 +3215,24 @@ light: ``` {% endraw %} +### AIRAM-CTR.U +{% raw %} +```yaml +``` +{% endraw %} + +### HGZB-20-DE +{% raw %} +```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" +``` +{% endraw %} + diff --git a/lib/extension/deviceConfigure.js b/lib/extension/deviceConfigure.js index 9a220e143..3d82e4ebf 100644 --- a/lib/extension/deviceConfigure.js +++ b/lib/extension/deviceConfigure.js @@ -38,7 +38,7 @@ class DeviceConfigure { if (ok) { logger.info(`Succesfully configured ${friendlyName} ${ieeeAddr}`); } else { - logger.error(`Failed to configure ${friendlyName} ${ieeeAddr}`); + logger.error(`Failed to configure ${friendlyName} ${ieeeAddr} ('${msg}')`); } }); diff --git a/lib/extension/homeassistant.js b/lib/extension/homeassistant.js index adcf579d9..e3976852d 100644 --- a/lib/extension/homeassistant.js +++ b/lib/extension/homeassistant.js @@ -464,6 +464,13 @@ const mapping = { 'GL-B-008Z': [configurations.light_brightness_colortemp_colorxy], 'AV2010/25': [configurations.switch, configurations.sensor_power], 'E12-N14': [configurations.light_brightness], + '1TST-EU': [], + 'RB 178 T': [configurations.light_brightness_colortemp], + '45856GE': [configurations.switch], + 'GL-D-003Z': [configurations.light_brightness_colortemp_colorxy], + 'GD-CZ-006': [configurations.light_brightness], + 'AIRAM-CTR.U': [], + 'HGZB-20-DE': [configurations.switch], }; /** diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index c6e398a17..5663840ca 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -207,9 +207,9 @@ } }, "acorn": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", - "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.5.tgz", + "integrity": "sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg==", "dev": true }, "acorn-jsx": { @@ -655,19 +655,10 @@ "readable-stream": "> 1.0.0 < 3.0.0" } }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "^0.2.0" - } - }, "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", + "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", "dev": true }, "cc-znp": { @@ -712,9 +703,9 @@ "dev": true }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -999,7 +990,7 @@ "dependencies": { "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "~1.0.0", @@ -1017,7 +1008,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", @@ -1028,7 +1019,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } @@ -1143,9 +1134,9 @@ "dev": true }, "eslint": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.11.1.tgz", - "integrity": "sha512-gOKhM8JwlFOc2acbOrkYR05NW8M6DCMSvfcJiBB5NDxRE1gv8kbvxKaC9u69e6ZGEMWXcswA/7eKR229cEIpvg==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.12.0.tgz", + "integrity": "sha512-LntwyPxtOHrsJdcSwyQKVtHofPHdv+4+mFwEe91r2V13vqpM8yLr7b1sW+Oo/yheOPkWYsYlYJCkzlFAt8KV7g==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -1165,6 +1156,7 @@ "glob": "^7.1.2", "globals": "^11.7.0", "ignore": "^4.0.6", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "inquirer": "^6.1.0", "js-yaml": "^3.12.0", @@ -1179,7 +1171,6 @@ "pluralize": "^7.0.0", "progress": "^2.0.0", "regexpp": "^2.0.1", - "require-uncached": "^1.0.3", "semver": "^5.5.1", "strip-ansi": "^4.0.0", "strip-json-comments": "^2.0.1", @@ -1575,6 +1566,16 @@ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" }, + "import-fresh": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", + "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -1865,9 +1866,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1892,7 +1893,7 @@ }, "json2yaml": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/json2yaml/-/json2yaml-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/json2yaml/-/json2yaml-1.1.0.tgz", "integrity": "sha1-VBTZB/mBZYa4DFE+wuOusquBmmw=", "requires": { "remedial": "1.x" @@ -1979,7 +1980,7 @@ }, "log-utils": { "version": "0.2.1", - "resolved": "http://registry.npmjs.org/log-utils/-/log-utils-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.2.1.tgz", "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=", "requires": { "ansi-colors": "^0.2.0", @@ -2032,7 +2033,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mixin-object": { @@ -2058,7 +2059,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -2066,7 +2067,7 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } @@ -2180,7 +2181,7 @@ }, "mute-stream": { "version": "0.0.7", - "resolved": "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "nan": { @@ -2215,7 +2216,7 @@ }, "next-tick": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "nice-try": { @@ -3443,7 +3444,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { "kind-of": "^3.0.2" @@ -3451,7 +3452,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { "kind-of": "^3.0.2" @@ -3534,15 +3535,24 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "parent-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", + "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -3550,7 +3560,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -3915,7 +3925,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -4022,16 +4032,6 @@ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, - "require-uncached": { - "version": "1.0.3", - "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - } - }, "resolve": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", @@ -4042,9 +4042,9 @@ } }, "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "restore-cursor": { @@ -4058,11 +4058,11 @@ } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "run-async": { @@ -4243,7 +4243,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "stack-trace": { @@ -4270,7 +4270,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { "kind-of": "^3.0.2" @@ -4288,7 +4288,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { "kind-of": "^3.0.2" @@ -4323,7 +4323,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "~2.0.1", @@ -4337,7 +4337,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -4347,7 +4347,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -4355,7 +4355,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -4488,7 +4488,7 @@ }, "text-encoding": { "version": "0.6.4", - "resolved": "http://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", "dev": true }, @@ -4500,7 +4500,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -4624,7 +4624,7 @@ }, "underscore": { "version": "1.4.4", - "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=" }, "unique-stream": { @@ -4823,9 +4823,9 @@ } }, "zigbee-shepherd-converters": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/zigbee-shepherd-converters/-/zigbee-shepherd-converters-7.0.9.tgz", - "integrity": "sha512-LWPB6oGC1uXUl6gQuhf/8IZ4NcCKRAyX/Urf9JkXWt8g45IpX4WObPr5sa6l6zVKsF975ADvWnGXtWe5tg1o3Q==", + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/zigbee-shepherd-converters/-/zigbee-shepherd-converters-7.0.10.tgz", + "integrity": "sha512-8q7v5c0w7k159gp16EnecuPnvDRyGJokUhOoMTCG3J0dAbPzfvjNlBt7hrBeLIhhitbqkpa57FuXyYxPvQksxQ==", "requires": { "debounce": "*", "debug": "3.2.6", diff --git a/package.json b/package.json index 12286732d..b327d9464 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "winston": "2.4.2", "ziee": "*", "zigbee-shepherd": "git+https://github.com/Koenkk/zigbee-shepherd.git#bc2445dc0bb7a2a1d5b4a461c231e28d07f517e7", - "zigbee-shepherd-converters": "7.0.9", + "zigbee-shepherd-converters": "7.0.10", "zive": "*" }, "devDependencies": { diff --git a/test/deviceReceive.test.js b/test/deviceReceive.test.js index 7f3083a6b..f33d40bdb 100644 --- a/test/deviceReceive.test.js +++ b/test/deviceReceive.test.js @@ -142,12 +142,12 @@ describe('DeviceReceive', () => { chai.assert.deepEqual(utils.withoutLastSeen(publishDeviceState.getCall(0).args[1]), expected); }); - it('Should handle a zigbee message with voltage 2750', () => { + it('Should handle a zigbee message with voltage 2850', () => { const device = {ieeeAddr: '0x12345678'}; const message = utils.zigbeeMessage(device, 'genBasic', 'attReport', {'65281': {'1': 2850}}, 1); deviceReceive.onZigbeeMessage(message, device, WXKG02LM); chai.assert.isTrue(publishDeviceState.calledOnce); - const expected = {battery: 50, voltage: 2850}; + const expected = {battery: 35, voltage: 2850}; chai.assert.deepEqual(utils.withoutLastSeen(publishDeviceState.getCall(0).args[1]), expected); }); @@ -156,7 +156,16 @@ describe('DeviceReceive', () => { const message = utils.zigbeeMessage(device, 'genBasic', 'attReport', {'65281': {'1': 2650}}, 1); deviceReceive.onZigbeeMessage(message, device, WXKG02LM); chai.assert.isTrue(publishDeviceState.calledOnce); - const expected = {battery: 0, voltage: 2650}; + const expected = {battery: 14, voltage: 2650}; + chai.assert.deepEqual(utils.withoutLastSeen(publishDeviceState.getCall(0).args[1]), expected); + }); + + it('Should handle a zigbee message with voltage 2000', () => { + const device = {ieeeAddr: '0x12345678'}; + const message = utils.zigbeeMessage(device, 'genBasic', 'attReport', {'65281': {'1': 2000}}, 1); + deviceReceive.onZigbeeMessage(message, device, WXKG02LM); + chai.assert.isTrue(publishDeviceState.calledOnce); + const expected = {battery: 0, voltage: 2000}; chai.assert.deepEqual(utils.withoutLastSeen(publishDeviceState.getCall(0).args[1]), expected); }); });