From a16e3542c0459d7c0f2261def9ce84f91c8dba85 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Sat, 29 Feb 2020 12:43:53 +0100 Subject: [PATCH] Update herdsman. #3019 --- lib/extension/otaUpdate.js | 4 +- npm-shrinkwrap.json | 79 +++++++++++++++++++++++++++++++++----- package.json | 2 +- test/otaUpdate.test.js | 8 ++-- 4 files changed, 77 insertions(+), 16 deletions(-) diff --git a/lib/extension/otaUpdate.js b/lib/extension/otaUpdate.js index 14e9744a..3c1913c0 100644 --- a/lib/extension/otaUpdate.js +++ b/lib/extension/otaUpdate.js @@ -43,8 +43,8 @@ class OTAUpdate extends BaseExtension { // Respond to the OTA request: // - In case we don't support OTA: respond with NO_IMAGE_AVAILABLE (0x98) (so the client stops requesting OTAs) // - In case we do support OTA: respond with ABORT (0x95) as we don't want to update now. - // const endpoint = data.device.endpoints.find((e) => e.supportsOutputCluster('genOta')); - // await endpoint.commandResponse('genOta', 'queryNextImageResponse', {status: supportsOTA ? 0x95 : 0x98}); + const endpoint = data.device.endpoints.find((e) => e.supportsOutputCluster('genOta')); + await endpoint.commandResponse('genOta', 'queryNextImageResponse', {status: supportsOTA ? 0x95 : 0x98}); } async readSoftwareBuildIDAndDateCode(device, update) { diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 9f954de5..5d878686 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -2759,24 +2759,85 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.5.tgz", + "integrity": "sha512-6Z5cP+LAO0rzNE7xWjWtT84jxKa5ScLEGLgegPXeO3dGeU8lNe5Ii7SlXH6KVtLGlDuaEhsvsFjrjWjw8j5lFg==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", + "chalk": "^3.0.0", "cli-cursor": "^3.1.0", "cli-width": "^2.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", "lodash": "^4.17.15", "mute-stream": "0.0.8", - "run-async": "^2.2.0", + "run-async": "^2.4.0", "rxjs": "^6.5.3", "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", + "strip-ansi": "^6.0.0", "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "ip-regex": { @@ -6791,9 +6852,9 @@ } }, "zigbee-herdsman": { - "version": "0.12.56", - "resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.12.56.tgz", - "integrity": "sha512-aVW9Uipoo7TWjmHVY197qXPgHytgUVHUs21prt9RG5WYdYcG3hoEqPUhePStp8Qtr4GTSSZWrtcAJea+bkZzkA==", + "version": "0.12.57", + "resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.12.57.tgz", + "integrity": "sha512-fVN3VOkBBptSlhEVpnFFmwPVlbYN6bzhV9f3buFiwfq/OKLKeXAILBsBbg4ozcqe4jGpXIkmIaiYslj1jOEAJg==", "requires": { "debug": "^4.1.1", "fast-deep-equal": "^2.0.1", diff --git a/package.json b/package.json index 430813cf..9ce4dbdb 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "rimraf": "*", "semver": "*", "winston": "*", - "zigbee-herdsman": "0.12.56", + "zigbee-herdsman": "0.12.57", "zigbee-herdsman-converters": "12.0.33" }, "devDependencies": { diff --git a/test/otaUpdate.test.js b/test/otaUpdate.test.js index 02559ba2..c75a0934 100644 --- a/test/otaUpdate.test.js +++ b/test/otaUpdate.test.js @@ -175,8 +175,8 @@ describe('OTA update', () => { expect(mapped.ota.isUpdateAvailable).toHaveBeenCalledTimes(1); expect(mapped.ota.isUpdateAvailable).toHaveBeenCalledWith(device, logger, {"imageType": 12382}); expect(logger.info).toHaveBeenCalledWith(`Update available for 'bulb'`); - // expect(device.endpoints[0].commandResponse).toHaveBeenCalledTimes(1); - // expect(device.endpoints[0].commandResponse).toHaveBeenCalledWith("genOta", "queryNextImageResponse", {"status": 0x95}); + expect(device.endpoints[0].commandResponse).toHaveBeenCalledTimes(1); + expect(device.endpoints[0].commandResponse).toHaveBeenCalledWith("genOta", "queryNextImageResponse", {"status": 0x95}); // Should not request again when device asks again after a short time await zigbeeHerdsman.events.message(payload); @@ -198,7 +198,7 @@ describe('OTA update', () => { const payload = {data, cluster: 'genOta', device, endpoint: device.getEndpoint(1), type: 'commandQueryNextImageRequest', linkquality: 10}; await zigbeeHerdsman.events.message(payload); await flushPromises(); - // expect(device.endpoints[0].commandResponse).toHaveBeenCalledTimes(1); - // expect(device.endpoints[0].commandResponse).toHaveBeenCalledWith("genOta", "queryNextImageResponse", {"status": 152}); + expect(device.endpoints[0].commandResponse).toHaveBeenCalledTimes(1); + expect(device.endpoints[0].commandResponse).toHaveBeenCalledWith("genOta", "queryNextImageResponse", {"status": 152}); }); });