From 4da0fa2c10d7e2d1f14895c22c4459ea72e3884a Mon Sep 17 00:00:00 2001 From: Ben Francis Date: Thu, 11 Apr 2024 17:56:17 +0100 Subject: [PATCH] Upgrade gateway-addon dependency to 1.2 --- Adding-a-new-device.md | 1 - package-lock.json | 972 ++++++++++++++---- package.json | 2 +- test/classifier-test.js | 5 +- .../Aeotec-ZW096-Smart-Switch-6.json | 3 - .../classifier/Aeotec-ZW099-Smart-Dimmer.json | 4 - .../Aeotec-ZW100-MultiSensor-6.json | 10 - test/classifier/Aeotec-ZW111-Nano-Dimmer.json | 6 - test/classifier/Aeotec-ZW116-Nano-Switch.json | 5 - .../Aeotec-ZW120-Door-Window-Sensor-Gen5.json | 3 - test/classifier/Aeotec-ZW121-LED-Strip.json | 4 - .../classifier/Aeotec-ZW122-Water-Sensor.json | 4 - .../Aeotec-ZW130-Wallmote-Quad.json | 13 - .../Aeotec-ZW140-Dual-Nano-Switch.json | 4 - .../Aeotec-ZWA002-LED-Color-Bulb.json | 4 - .../EcoLink-FireFighter-Smoke-Alarm.json | 6 - .../Ecolink-FLF-ZWAVE5-Flood-Freeze.json | 5 - .../Everspring-HSM02-Door-Sensor.json | 4 - test/classifier/Fibaro-FGSD001-CO-Sensor.json | 7 - .../FirstAlert-ZCOMBOG-Smoke-CO-Detector.json | 4 - .../GoControl-WA00Z-Wall-Switch.json | 3 - .../Heiman-HS1SA-Smoke-Detector.json | 3 - test/classifier/Honeywell-TH8320ZW1000.json | 7 - test/classifier/Leviton-VRPA1-Switch.json | 1 - .../Monoprice-HKZW-SWS01-Door-Sensor.json | 3 - ...noprice-ZD2105US-Recessed-Door-Sensor.json | 4 - test/classifier/NeoCool-Power-Plug-12A.json | 10 +- test/classifier/Yale-YRD110-Door-Lock.json | 2 - test/classifier/Zooz-ZSE40-4-in-1.json | 7 - zwave-classifier.js | 3 +- zwave-property.js | 3 + 31 files changed, 810 insertions(+), 302 deletions(-) diff --git a/Adding-a-new-device.md b/Adding-a-new-device.md index 2f5feb1..4ffc985 100644 --- a/Adding-a-new-device.md +++ b/Adding-a-new-device.md @@ -143,7 +143,6 @@ cli http://localhost:8080 zwave-e9880e42-9> info "batteryLevel": { "name": "batteryLevel", "value": 0, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/package-lock.json b/package-lock.json index aea3fb6..5bcbca6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -380,6 +380,13 @@ } } }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true, + "optional": true + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -898,6 +905,52 @@ } } }, + "@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "optional": true, + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "@serialport/binding-abstract": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.0.2.tgz", @@ -987,6 +1040,13 @@ "@sinonjs/commons": "^1.7.0" } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "optional": true + }, "@types/babel__core": { "version": "7.1.12", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", @@ -1110,7 +1170,8 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "dev": true, + "optional": true }, "acorn": { "version": "7.4.1", @@ -1140,6 +1201,37 @@ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dev": true, + "optional": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "optional": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1587,6 +1679,52 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "optional": true, + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "optional": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -1688,6 +1826,13 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "optional": true + }, "cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -1797,6 +1942,13 @@ "simple-swizzle": "^0.2.2" } }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "optional": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2065,6 +2217,28 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -2082,6 +2256,20 @@ "ansi-colors": "^4.1.1" } }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "optional": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "optional": true + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -2775,12 +2963,12 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, "requires": { - "minipass": "^2.6.0" + "minipass": "^3.0.0" } }, "fs.realpath": { @@ -2809,14 +2997,40 @@ "dev": true }, "gateway-addon": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gateway-addon/-/gateway-addon-1.0.0.tgz", - "integrity": "sha512-r96XdpNuV1Lj2WFy4FrdtE37i1HL605rzG2NdXsMSvA6zJEm3jgw0GcLpsET7QMHsTALA0SlX1rcQgdehg/Ipw==", + "version": "1.2.0-alpha.1", + "resolved": "https://registry.npmjs.org/gateway-addon/-/gateway-addon-1.2.0-alpha.1.tgz", + "integrity": "sha512-MykhshvaS1UTBAi49OvYjntShTxlTYOICcVLxcwZEDIWfU3F37Syo+DYzVU72C0n4r8GFvBu08vzi/joJ5oirg==", "dev": true, "requires": { - "ajv": "^6.12.6", - "sqlite3": "^4.2.0", - "ws": "^7.4.0" + "ajv": "^7.0.4", + "sqlite3": "^5.0.1", + "ws": "^7.4.3" + }, + "dependencies": { + "ajv": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.4.tgz", + "integrity": "sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true + } } }, "gauge": { @@ -2920,7 +3134,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true + "dev": true, + "optional": true }, "har-schema": { "version": "2.0.0", @@ -3031,6 +3246,25 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true, + "optional": true + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "optional": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -3042,12 +3276,33 @@ "sshpk": "^1.7.0" } }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.0.0" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -3068,15 +3323,6 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, "import-fresh": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", @@ -3103,6 +3349,20 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "optional": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, + "optional": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3123,6 +3383,33 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" }, + "ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "optional": true, + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "dependencies": { + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true, + "optional": true + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "optional": true + } + } + }, "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", @@ -3259,6 +3546,13 @@ "is-extglob": "^2.1.1" } }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true, + "optional": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -3303,6 +3597,7 @@ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "optional": true, "requires": { "is-docker": "^2.0.0" } @@ -4821,6 +5116,31 @@ } } }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "optional": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -4902,30 +5222,75 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "optional": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" } }, "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "requires": { - "minipass": "^2.9.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" } }, "mixin-deep": { @@ -4999,27 +5364,12 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "needle": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz", - "integrity": "sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ==", + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } + "optional": true }, "nice-try": { "version": "1.0.5", @@ -5035,6 +5385,173 @@ "semver": "^5.4.1" } }, + "node-addon-api": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", + "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", + "dev": true + }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "optional": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "optional": true + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "optional": true + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "optional": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + } + } + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -5052,6 +5569,7 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", "dev": true, + "optional": true, "requires": { "growly": "^1.3.0", "is-wsl": "^2.2.0", @@ -5066,54 +5584,26 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, + "optional": true, "requires": { "lru-cache": "^6.0.0" } } } }, - "node-pre-gyp": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", - "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", - "dev": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, "noop-logger": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, + "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1" } }, "normalize-package-data": { @@ -5134,32 +5624,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -5298,28 +5762,6 @@ "word-wrap": "^1.2.3" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -5350,6 +5792,16 @@ "p-limit": "^2.2.0" } }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "optional": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -5532,6 +5984,24 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true, + "optional": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "optional": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, "prompts": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", @@ -5749,6 +6219,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -5800,6 +6276,13 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "optional": true + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -5976,12 +6459,6 @@ } } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, "saxes": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", @@ -6060,7 +6537,8 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true + "dev": true, + "optional": true }, "signal-exit": { "version": "3.0.3", @@ -6121,6 +6599,13 @@ } } }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "optional": true + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -6243,6 +6728,41 @@ } } }, + "socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "optional": true, + "requires": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.1.2" + } + } + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -6334,13 +6854,88 @@ "dev": true }, "sqlite3": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz", - "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==", + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", "dev": true, "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.11.0" + "bindings": "^1.5.0", + "node-addon-api": "^7.0.0", + "node-gyp": "8.x", + "prebuild-install": "^7.1.1", + "tar": "^6.1.11" + }, + "dependencies": { + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + } + }, + "detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + }, + "node-abi": { + "version": "3.57.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.57.0.tgz", + "integrity": "sha512-Dp+A9JWxRaKuHP35H77I4kCKesDy5HUDEmScia2FyncMTOXASMyg251F5PhFoDA5uqBrDDffiLpbqnrZmNXW+g==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, + "prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dev": true, + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + } } }, "sshpk": { @@ -6360,6 +6955,16 @@ "tweetnacl": "~0.14.0" } }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.1.1" + } + }, "stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", @@ -6569,33 +7174,29 @@ } }, "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true } } @@ -6797,6 +7398,26 @@ "set-value": "^2.0.1" } }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "optional": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "optional": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", @@ -6867,7 +7488,8 @@ "version": "8.3.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", - "dev": true + "dev": true, + "optional": true }, "v8-compile-cache": { "version": "2.2.0", diff --git a/package.json b/package.json index d01dc81..53a2041 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "devDependencies": { "babel-eslint": "^10.1.0", "eslint": "^7.14.0", - "gateway-addon": "^1.0.0", + "gateway-addon": "^1.2.0-alpha.1", "jest": "^26.6.3" }, "files": [ diff --git a/test/classifier-test.js b/test/classifier-test.js index a38d870..f4ae805 100644 --- a/test/classifier-test.js +++ b/test/classifier-test.js @@ -53,9 +53,12 @@ function classifyJson(pathname) { const jsonProperty = json.properties[propertyName]; /* eslint-disable no-self-assign */ + jsonProperty['@type'] = jsonProperty['@type']; + jsonProperty.type = jsonProperty.type; + jsonProperty.title = jsonProperty.title; jsonProperty.description = jsonProperty.description; jsonProperty.enum = jsonProperty.enum; - jsonProperty.links = jsonProperty.links || []; + jsonProperty.forms = jsonProperty.forms || []; jsonProperty.maximum = jsonProperty.maximum; jsonProperty.minimum = jsonProperty.minimum; jsonProperty.multipleOf = jsonProperty.multipleOf; diff --git a/test/classifier/Aeotec-ZW096-Smart-Switch-6.json b/test/classifier/Aeotec-ZW096-Smart-Switch-6.json index 64c065f..c86fc89 100644 --- a/test/classifier/Aeotec-ZW096-Smart-Switch-6.json +++ b/test/classifier/Aeotec-ZW096-Smart-Switch-6.json @@ -1255,7 +1255,6 @@ "on": { "name": "on", "value": true, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -1264,7 +1263,6 @@ "instantaneousPower": { "name": "instantaneousPower", "value": "0.000", - "visible": true, "title": "Power", "type": "number", "@type": "InstantaneousPowerProperty", @@ -1274,7 +1272,6 @@ "voltage": { "name": "voltage", "value": "120.769", - "visible": true, "title": "Voltage", "type": "number", "@type": "VoltageProperty", diff --git a/test/classifier/Aeotec-ZW099-Smart-Dimmer.json b/test/classifier/Aeotec-ZW099-Smart-Dimmer.json index 179425f..5932a0a 100644 --- a/test/classifier/Aeotec-ZW099-Smart-Dimmer.json +++ b/test/classifier/Aeotec-ZW099-Smart-Dimmer.json @@ -1372,7 +1372,6 @@ "on": { "name": "on", "value": true, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -1381,7 +1380,6 @@ "level": { "name": "level", "value": 20, - "visible": true, "title": "Level", "type": "number", "@type": "LevelProperty", @@ -1393,7 +1391,6 @@ "instantaneousPower": { "name": "instantaneousPower", "value": "0.000", - "visible": true, "title": "Power", "type": "number", "@type": "InstantaneousPowerProperty", @@ -1403,7 +1400,6 @@ "voltage": { "name": "voltage", "value": "120.411", - "visible": true, "title": "Voltage", "type": "number", "@type": "VoltageProperty", diff --git a/test/classifier/Aeotec-ZW100-MultiSensor-6.json b/test/classifier/Aeotec-ZW100-MultiSensor-6.json index e2e8100..c88f65a 100644 --- a/test/classifier/Aeotec-ZW100-MultiSensor-6.json +++ b/test/classifier/Aeotec-ZW100-MultiSensor-6.json @@ -1548,7 +1548,6 @@ "motion": { "name": "motion", "value": false, - "visible": true, "title": "Motion", "type": "boolean", "@type": "MotionProperty", @@ -1559,7 +1558,6 @@ "config-3": { "name": "config-3", "value": 240, - "visible": true, "title": "Motion Timeout", "type": "number", "@type": "LevelProperty", @@ -1571,7 +1569,6 @@ "config-4": { "name": "config-4", "value": "Enabled level 5", - "visible": true, "title": "Motion Sensitivity", "type": "string", "enum": [ @@ -1587,7 +1584,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -1598,7 +1594,6 @@ "temperature": { "name": "temperature", "value": "25.4", - "visible": true, "title": "Temperature", "type": "number", "@type": "TemperatureProperty", @@ -1610,7 +1605,6 @@ "luminance": { "name": "luminance", "value": "0", - "visible": true, "title": "Luminance", "type": "number", "unit": "lux", @@ -1620,7 +1614,6 @@ "humidity": { "name": "humidity", "value": "50", - "visible": true, "title": "Humidity", "type": "number", "@type": "HumidityProperty", @@ -1633,7 +1626,6 @@ "uvIndex": { "name": "uvIndex", "value": "0", - "visible": true, "title": "UV Index", "type": "number", "readOnly": true, @@ -1642,7 +1634,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 3600, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -1654,7 +1645,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Aeotec-ZW111-Nano-Dimmer.json b/test/classifier/Aeotec-ZW111-Nano-Dimmer.json index 5e63f94..87c86e8 100644 --- a/test/classifier/Aeotec-ZW111-Nano-Dimmer.json +++ b/test/classifier/Aeotec-ZW111-Nano-Dimmer.json @@ -1754,7 +1754,6 @@ "on": { "name": "on", "value": true, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -1763,7 +1762,6 @@ "level": { "name": "level", "value": 100, - "visible": true, "title": "Level", "type": "number", "@type": "LevelProperty", @@ -1775,7 +1773,6 @@ "config-120": { "name": "config-120", "value": "Unidentified", - "visible": true, "title": "S1 Mode", "type": "string", "enum": [ @@ -1790,7 +1787,6 @@ "config-121": { "name": "config-121", "value": "Unidentified", - "visible": true, "title": "S2 Mode", "type": "string", "enum": [ @@ -1805,7 +1801,6 @@ "instantaneousPower": { "name": "instantaneousPower", "value": "0.000", - "visible": true, "title": "Power", "type": "number", "@type": "InstantaneousPowerProperty", @@ -1815,7 +1810,6 @@ "voltage": { "name": "voltage", "value": "0.000", - "visible": true, "title": "Voltage", "type": "number", "@type": "VoltageProperty", diff --git a/test/classifier/Aeotec-ZW116-Nano-Switch.json b/test/classifier/Aeotec-ZW116-Nano-Switch.json index 20ebe2a..f239310 100644 --- a/test/classifier/Aeotec-ZW116-Nano-Switch.json +++ b/test/classifier/Aeotec-ZW116-Nano-Switch.json @@ -1547,7 +1547,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -1556,7 +1555,6 @@ "config-120": { "name": "config-120", "value": "Unidentified", - "visible": true, "title": "S1 Mode", "type": "string", "enum": [ @@ -1571,7 +1569,6 @@ "config-121": { "name": "config-121", "value": "Unidentified", - "visible": true, "title": "S2 Mode", "type": "string", "enum": [ @@ -1586,7 +1583,6 @@ "instantaneousPower": { "name": "instantaneousPower", "value": "0.000", - "visible": true, "title": "Power", "type": "number", "@type": "InstantaneousPowerProperty", @@ -1596,7 +1592,6 @@ "voltage": { "name": "voltage", "value": "120.057", - "visible": true, "title": "Voltage", "type": "number", "@type": "VoltageProperty", diff --git a/test/classifier/Aeotec-ZW120-Door-Window-Sensor-Gen5.json b/test/classifier/Aeotec-ZW120-Door-Window-Sensor-Gen5.json index cc1c29e..7576ebc 100644 --- a/test/classifier/Aeotec-ZW120-Door-Window-Sensor-Gen5.json +++ b/test/classifier/Aeotec-ZW120-Door-Window-Sensor-Gen5.json @@ -801,7 +801,6 @@ "open": { "name": "open", "value": false, - "visible": true, "title": "Open", "type": "boolean", "@type": "OpenProperty", @@ -812,7 +811,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -823,7 +821,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Aeotec-ZW121-LED-Strip.json b/test/classifier/Aeotec-ZW121-LED-Strip.json index 4014f5a..78faaff 100644 --- a/test/classifier/Aeotec-ZW121-LED-Strip.json +++ b/test/classifier/Aeotec-ZW121-LED-Strip.json @@ -975,7 +975,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -992,7 +991,6 @@ "color": { "name": "color", "value": "#FFFFFF", - "visible": true, "title": "Color", "type": "string", "@type": "ColorProperty", @@ -1001,7 +999,6 @@ "warmLevel": { "name": "warmLevel", "value": 100, - "visible": true, "title": "Warm Level", "type": "number", "@type": "LevelProperty", @@ -1013,7 +1010,6 @@ "coolLevel": { "name": "coolLevel", "value": 100, - "visible": true, "title": "Cool Level", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Aeotec-ZW122-Water-Sensor.json b/test/classifier/Aeotec-ZW122-Water-Sensor.json index f0a1132..d2c02c8 100644 --- a/test/classifier/Aeotec-ZW122-Water-Sensor.json +++ b/test/classifier/Aeotec-ZW122-Water-Sensor.json @@ -1209,7 +1209,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "Water", "type": "boolean", "@type": "LeakProperty", @@ -1221,7 +1220,6 @@ "name": "temperature", "value": 21.277777777777775, "multipleOf": 0.1, - "visible": true, "readOnly": true, "title": "Temperature", "type": "number", @@ -1232,7 +1230,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 3600, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -1244,7 +1241,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Aeotec-ZW130-Wallmote-Quad.json b/test/classifier/Aeotec-ZW130-Wallmote-Quad.json index d370ed4..9773390 100644 --- a/test/classifier/Aeotec-ZW130-Wallmote-Quad.json +++ b/test/classifier/Aeotec-ZW130-Wallmote-Quad.json @@ -2288,7 +2288,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -2298,7 +2297,6 @@ "level": { "name": "level", "value": 0, - "visible": true, "title": "Level", "type": "number", "@type": "LevelProperty", @@ -2319,7 +2317,6 @@ "on2": { "name": "on2", "value": false, - "visible": true, "title": "On/Off 2", "type": "boolean", "@type": "BooleanProperty", @@ -2329,7 +2326,6 @@ "level2": { "name": "level2", "value": 0, - "visible": true, "title": "Level 2", "type": "number", "unit": "percent", @@ -2349,7 +2345,6 @@ "on3": { "name": "on3", "value": false, - "visible": true, "title": "On/Off 3", "type": "boolean", "@type": "BooleanProperty", @@ -2359,7 +2354,6 @@ "level3": { "name": "level3", "value": 0, - "visible": true, "title": "Level 3", "type": "number", "unit": "percent", @@ -2379,7 +2373,6 @@ "on4": { "name": "on4", "value": false, - "visible": true, "title": "On/Off 4", "type": "boolean", "@type": "BooleanProperty", @@ -2389,7 +2382,6 @@ "level4": { "name": "level4", "value": 0, - "visible": true, "title": "Level 4", "type": "number", "unit": "percent", @@ -2423,7 +2415,6 @@ "config-1": { "name": "config-1", "value": "Enable", - "visible": true, "title": "Touch Sounds", "type": "string", "enum": [ @@ -2435,7 +2426,6 @@ "config-2": { "name": "config-2", "value": "Enable", - "visible": true, "title": "Touch Vibration", "type": "string", "enum": [ @@ -2447,7 +2437,6 @@ "config-5": { "name": "config-5", "value": "#0000FF", - "visible": true, "title": "Touch Color", "type": "string", "@type": "ColorProperty", @@ -2456,7 +2445,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 0, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -2468,7 +2456,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 58, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Aeotec-ZW140-Dual-Nano-Switch.json b/test/classifier/Aeotec-ZW140-Dual-Nano-Switch.json index 8ad2461..1553434 100644 --- a/test/classifier/Aeotec-ZW140-Dual-Nano-Switch.json +++ b/test/classifier/Aeotec-ZW140-Dual-Nano-Switch.json @@ -1337,7 +1337,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -1346,7 +1345,6 @@ "config-120": { "name": "config-120", "value": "Unidentified", - "visible": true, "title": "S1 Mode", "type": "string", "enum": [ @@ -1361,7 +1359,6 @@ "config-121": { "name": "config-121", "value": "Unidentified", - "visible": true, "title": "S2 Mode", "type": "string", "enum": [ @@ -1376,7 +1373,6 @@ "on2": { "name": "on2", "value": true, - "visible": true, "title": "On/Off (2)", "type": "boolean", "@type": "BooleanProperty", diff --git a/test/classifier/Aeotec-ZWA002-LED-Color-Bulb.json b/test/classifier/Aeotec-ZWA002-LED-Color-Bulb.json index 70df1a2..716a453 100644 --- a/test/classifier/Aeotec-ZWA002-LED-Color-Bulb.json +++ b/test/classifier/Aeotec-ZWA002-LED-Color-Bulb.json @@ -793,7 +793,6 @@ "on": { "name": "on", "value": true, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -810,7 +809,6 @@ "color": { "name": "color", "value": "#FFFF00", - "visible": true, "title": "Color", "type": "string", "@type": "ColorProperty", @@ -819,7 +817,6 @@ "warmLevel": { "name": "warmLevel", "value": 0, - "visible": true, "title": "Warm Level", "type": "number", "@type": "LevelProperty", @@ -831,7 +828,6 @@ "coolLevel": { "name": "coolLevel", "value": 0, - "visible": true, "title": "Cool Level", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/EcoLink-FireFighter-Smoke-Alarm.json b/test/classifier/EcoLink-FireFighter-Smoke-Alarm.json index 770989e..2fc9a2b 100644 --- a/test/classifier/EcoLink-FireFighter-Smoke-Alarm.json +++ b/test/classifier/EcoLink-FireFighter-Smoke-Alarm.json @@ -743,7 +743,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "Smoke", "type": "boolean", "@type": "SmokeProperty", @@ -762,7 +761,6 @@ "co": { "name": "co", "value": false, - "visible": true, "title": "CO", "type": "boolean", "@type": "AlarmProperty", @@ -773,7 +771,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -784,7 +781,6 @@ "temperature": { "name": "temperature", "value": "25.70", - "visible": true, "title": "Temperature", "type": "number", "@type": "TemperatureProperty", @@ -796,7 +792,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 14400, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -808,7 +803,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Ecolink-FLF-ZWAVE5-Flood-Freeze.json b/test/classifier/Ecolink-FLF-ZWAVE5-Flood-Freeze.json index 182ca5c..e16f2e0 100644 --- a/test/classifier/Ecolink-FLF-ZWAVE5-Flood-Freeze.json +++ b/test/classifier/Ecolink-FLF-ZWAVE5-Flood-Freeze.json @@ -675,7 +675,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "Water", "type": "boolean", "@type": "LeakProperty", @@ -686,7 +685,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -697,7 +695,6 @@ "freeze": { "name": "freeze", "value": false, - "visible": true, "title": "Freeze", "@type": "BooleanProperty", "type": "boolean", @@ -707,7 +704,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 14400, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -719,7 +715,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 99, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Everspring-HSM02-Door-Sensor.json b/test/classifier/Everspring-HSM02-Door-Sensor.json index 3493e9a..73f31c3 100644 --- a/test/classifier/Everspring-HSM02-Door-Sensor.json +++ b/test/classifier/Everspring-HSM02-Door-Sensor.json @@ -368,7 +368,6 @@ "on": { "name": "on", "value": true, - "visible": true, "@type": "BooleanProperty", "type": "boolean", "readOnly": true, @@ -377,7 +376,6 @@ "open": { "name": "open", "value": true, - "visible": true, "title": "Open", "@type": "OpenProperty", "type": "boolean", @@ -388,7 +386,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 86400, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -400,7 +397,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 70, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Fibaro-FGSD001-CO-Sensor.json b/test/classifier/Fibaro-FGSD001-CO-Sensor.json index 49ba676..fdbb58f 100644 --- a/test/classifier/Fibaro-FGSD001-CO-Sensor.json +++ b/test/classifier/Fibaro-FGSD001-CO-Sensor.json @@ -1266,7 +1266,6 @@ "co": { "name": "co", "value": false, - "visible": true, "title": "CO", "type": "boolean", "@type": "AlarmProperty", @@ -1277,7 +1276,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -1288,7 +1286,6 @@ "overheat": { "name": "overheat", "value": false, - "visible": true, "title": "Overheat", "type": "boolean", "@type": "AlarmProperty", @@ -1299,7 +1296,6 @@ "temperature": { "name": "temperature", "value": "29.2", - "visible": true, "title": "Temperature", "type": "number", "@type": "TemperatureProperty", @@ -1311,7 +1307,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 21600, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -1323,7 +1318,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", @@ -1336,7 +1330,6 @@ "carbonMonoxideLevel": { "name": "carbonMonoxideLevel", "value": "0.0", - "visible": true, "title": "Carbon Monoxide Level", "type": "number", "@type": "ConcentrationProperty", diff --git a/test/classifier/FirstAlert-ZCOMBOG-Smoke-CO-Detector.json b/test/classifier/FirstAlert-ZCOMBOG-Smoke-CO-Detector.json index 0cfb031..09ef39d 100644 --- a/test/classifier/FirstAlert-ZCOMBOG-Smoke-CO-Detector.json +++ b/test/classifier/FirstAlert-ZCOMBOG-Smoke-CO-Detector.json @@ -314,7 +314,6 @@ "smoke": { "name": "smoke", "value": false, - "visible": true, "title": "Smoke", "description": "Smoke Sensor", "readOnly": true, @@ -324,7 +323,6 @@ "co": { "name": "co", "value": false, - "visible": true, "title": "CO", "description": "Carbon Monoxide Detector", "readOnly": true, @@ -334,7 +332,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 3600, - "visible": true, "title": "WakeUp Interval", "type": "number", "unit": "seconds", @@ -343,7 +340,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/GoControl-WA00Z-Wall-Switch.json b/test/classifier/GoControl-WA00Z-Wall-Switch.json index bfd93dd..207f447 100644 --- a/test/classifier/GoControl-WA00Z-Wall-Switch.json +++ b/test/classifier/GoControl-WA00Z-Wall-Switch.json @@ -703,7 +703,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", @@ -713,7 +712,6 @@ "level": { "name": "level", "value": 0, - "visible": true, "title": "Level", "type": "number", "@type": "LevelProperty", @@ -742,7 +740,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 67, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Heiman-HS1SA-Smoke-Detector.json b/test/classifier/Heiman-HS1SA-Smoke-Detector.json index 620e2d9..6db1cc9 100644 --- a/test/classifier/Heiman-HS1SA-Smoke-Detector.json +++ b/test/classifier/Heiman-HS1SA-Smoke-Detector.json @@ -634,7 +634,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "Smoke", "type": "boolean", "@type": "SmokeProperty", @@ -653,7 +652,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 86400, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -665,7 +663,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Honeywell-TH8320ZW1000.json b/test/classifier/Honeywell-TH8320ZW1000.json index 4421f92..278dadc 100644 --- a/test/classifier/Honeywell-TH8320ZW1000.json +++ b/test/classifier/Honeywell-TH8320ZW1000.json @@ -389,7 +389,6 @@ "heating": { "name": "heating", "value": "idle", - "visible": true, "title": "Heating/Cooling", "type": "string", "@type": "HeatingCoolingProperty", @@ -399,7 +398,6 @@ "thermostatMode": { "name": "thermostatMode", "value": "cool", - "visible": true, "title": "Mode", "type": "string", "@type": "ThermostatModeProperty", @@ -417,7 +415,6 @@ "heatingTargetTemperature": { "name": "heatingTargetTemperature", "value": "26.0", - "visible": true, "title": "Heating Target", "type": "number", "@type": "TargetTemperatureProperty", @@ -430,7 +427,6 @@ "coolingTargetTemperature": { "name": "coolingTargetTemperature", "value": "28.0", - "visible": true, "title": "Cooling Target", "type": "number", "@type": "TargetTemperatureProperty", @@ -443,7 +439,6 @@ "fanMode": { "name": "fanMode", "value": "Auto Low", - "visible": true, "title": "Fan Mode", "type": "string", "enum": [ @@ -456,7 +451,6 @@ "fanState": { "name": "fanState", "value": "Idle", - "visible": true, "title": "Fan State", "type": "string", "readOnly": true, @@ -465,7 +459,6 @@ "temperature": { "name": "temperature", "value": "24.5", - "visible": true, "title": "Temperature", "type": "number", "@type": "TemperatureProperty", diff --git a/test/classifier/Leviton-VRPA1-Switch.json b/test/classifier/Leviton-VRPA1-Switch.json index fab63f0..fbd9b0b 100644 --- a/test/classifier/Leviton-VRPA1-Switch.json +++ b/test/classifier/Leviton-VRPA1-Switch.json @@ -471,7 +471,6 @@ "on": { "name": "on", "value": false, - "visible": true, "title": "On/Off", "type": "boolean", "@type": "OnOffProperty", diff --git a/test/classifier/Monoprice-HKZW-SWS01-Door-Sensor.json b/test/classifier/Monoprice-HKZW-SWS01-Door-Sensor.json index 6179811..0f9fc3b 100644 --- a/test/classifier/Monoprice-HKZW-SWS01-Door-Sensor.json +++ b/test/classifier/Monoprice-HKZW-SWS01-Door-Sensor.json @@ -720,7 +720,6 @@ "open": { "name": "open", "value": false, - "visible": true, "title": "Open", "type": "boolean", "@type": "OpenProperty", @@ -731,7 +730,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -742,7 +740,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Monoprice-ZD2105US-Recessed-Door-Sensor.json b/test/classifier/Monoprice-ZD2105US-Recessed-Door-Sensor.json index f3b8066..c365206 100644 --- a/test/classifier/Monoprice-ZD2105US-Recessed-Door-Sensor.json +++ b/test/classifier/Monoprice-ZD2105US-Recessed-Door-Sensor.json @@ -675,7 +675,6 @@ "open": { "name": "open", "value": false, - "visible": true, "title": "Open", "type": "boolean", "@type": "OpenProperty", @@ -686,7 +685,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -697,7 +695,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 3600, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -709,7 +706,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 80, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/NeoCool-Power-Plug-12A.json b/test/classifier/NeoCool-Power-Plug-12A.json index d3c5ebf..eac3f15 100644 --- a/test/classifier/NeoCool-Power-Plug-12A.json +++ b/test/classifier/NeoCool-Power-Plug-12A.json @@ -26,8 +26,7 @@ "title": "On/Off", "type": "boolean", "value": false, - "valueId": "2-37-1-0", - "visible": true + "valueId": "2-37-1-0" }, "instantaneousPower": { "@type": "InstantaneousPowerProperty", @@ -36,8 +35,7 @@ "type": "number", "unit": "watt", "value": "0.00", - "valueId": "2-50-1-2", - "visible": true + "valueId": "2-50-1-2" }, "voltage": { "@type": "VoltageProperty", @@ -46,8 +44,7 @@ "type": "number", "unit": "volt", "value": "225.28", - "valueId": "2-50-1-4", - "visible": true + "valueId": "2-50-1-4" }, "current": { "@type": "CurrentProperty", @@ -57,7 +54,6 @@ "unit": "ampere", "value": "0.00", "valueId": "2-50-1-5", - "visible": true, "multipleOf": 0.01 } }, diff --git a/test/classifier/Yale-YRD110-Door-Lock.json b/test/classifier/Yale-YRD110-Door-Lock.json index 2531f9a..2518bb8 100644 --- a/test/classifier/Yale-YRD110-Door-Lock.json +++ b/test/classifier/Yale-YRD110-Door-Lock.json @@ -2644,7 +2644,6 @@ "locked": { "name": "locked", "value": "unlocked", - "visible": true, "title": "State", "@type": "LockedProperty", "enum": ["locked", "unlocked", "jammed", "unknown"], @@ -2671,7 +2670,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/test/classifier/Zooz-ZSE40-4-in-1.json b/test/classifier/Zooz-ZSE40-4-in-1.json index 8522027..e1b3af5 100644 --- a/test/classifier/Zooz-ZSE40-4-in-1.json +++ b/test/classifier/Zooz-ZSE40-4-in-1.json @@ -874,7 +874,6 @@ "motion": { "name": "motion", "value": false, - "visible": true, "title": "Motion", "type": "boolean", "@type": "MotionProperty", @@ -885,7 +884,6 @@ "tamper": { "name": "tamper", "value": false, - "visible": true, "title": "Tamper", "type": "boolean", "@type": "TamperProperty", @@ -897,7 +895,6 @@ "name": "temperature", "value": 21.594444444444445, "multipleOf": 0.1, - "visible": true, "readOnly": true, "title": "Temperature", "type": "number", @@ -909,7 +906,6 @@ "name": "luminance", "readOnly": true, "value": "1.56", - "visible": true, "title": "Luminance", "type": "number", "unit": "lux", @@ -918,7 +914,6 @@ "humidity": { "name": "humidity", "value": "42.21", - "visible": true, "title": "Humidity", "type": "number", "@type": "HumidityProperty", @@ -931,7 +926,6 @@ "wakeUpInterval": { "name": "wakeUpInterval", "value": 43200, - "visible": true, "title": "WakeUp Interval", "@type": "LevelProperty", "type": "number", @@ -943,7 +937,6 @@ "batteryLevel": { "name": "batteryLevel", "value": 100, - "visible": true, "title": "Battery", "type": "number", "@type": "LevelProperty", diff --git a/zwave-classifier.js b/zwave-classifier.js index 39c080a..dc90675 100644 --- a/zwave-classifier.js +++ b/zwave-classifier.js @@ -754,10 +754,11 @@ class ZWaveClassifier { DEBUG && console.log(`classify: ${node.id} added property: ${name}`, `valueId: ${valueId} value: ${property.value}`); - node.properties.set(name, property); if (name[0] == '_') { property.visible = false; } + + node.properties.set(name, property); // Invisible properties are no longer exposed in Thing Descriptions so // should eventually be removed entirely. // See https://github.com/WebThingsIO/zwave-adapter/issues/140 diff --git a/zwave-property.js b/zwave-property.js index d721d6e..b8c2520 100644 --- a/zwave-property.js +++ b/zwave-property.js @@ -63,6 +63,9 @@ class ZWaveProperty extends Property { const dict = super.asDict(); dict.valueId = this.valueId; dict.value = this.value; + if (this.hasOwnProperty('visible')) { + dict.visible = this.visible; + } return dict; }