diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c585486..24d3d851 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,22 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr - `MINOR` version when a new device type is added, or when a new feature is added that is backwards-compatible - `PATCH` version when backwards-compatible bug fixes are implemented +## 10.6.0 (2024-04-20) + +### Added + +- Support for light models: + - `H6042` `H6043` `H6063` `H607C` `H608D` + - `H616C` `H616D` `H616E` `H6175` `H61A9` + - `H61B1` `H7021` `H7052` `H7053` `H705D` + - `H705E` `H705F` `H7063` `H706B` `H7075` + - `H70BC` `H805A` `H805B` `H805C` + +## Changed + +- Updated LAN supported models based on latest Govee docs +- Bump `node` supported versions to v18.20.2 or v20.12.2 + ## 10.5.0 (2024-03-28) ### Added diff --git a/lib/utils/constants.js b/lib/utils/constants.js index e8c4bed7..87bba0e2 100644 --- a/lib/utils/constants.js +++ b/lib/utils/constants.js @@ -137,6 +137,8 @@ export default { 'H601B', 'H601C', 'H601D', + 'H6042', + 'H6043', 'H6046', 'H6047', 'H6049', @@ -157,6 +159,7 @@ export default { 'H605D', 'H6061', 'H6062', + 'H6063', 'H6065', 'H6066', 'H6067', @@ -167,6 +170,7 @@ export default { 'H6075', 'H6076', 'H6078', + 'H607C', 'H6083', 'H6085', 'H6086', @@ -175,6 +179,7 @@ export default { 'H608A', 'H608B', 'H608C', + 'H608D', 'H6089', 'H6091', 'H6092', @@ -214,8 +219,12 @@ export default { 'H6163', 'H6167', 'H6168', + 'H616C', + 'H616D', + 'H616E', 'H6172', 'H6173', + 'H6175', 'H6176', 'H6182', 'H6188', @@ -238,6 +247,8 @@ export default { 'H61A3', 'H61A5', 'H61A8', + 'H61A9', + 'H61B1', 'H61B2', 'H61B5', 'H61BA', @@ -258,7 +269,8 @@ export default { 'H7008', 'H7012', 'H7013', - 'H70A1 ', + 'H7021', + 'H70A1', 'H7020', 'H7021', 'H7022', @@ -270,21 +282,33 @@ export default { 'H7042', 'H7050', 'H7051', + 'H7052', + 'H7053', 'H7055', 'H705A', 'H705B', 'H705C', + 'H705D', + 'H705E', + 'H705F', 'H7060', 'H7061', 'H7062', + 'H7063', 'H7065', 'H7066', 'H706A', + 'H706B', 'H706C', + 'H7075', 'H70A1', 'H70B1', + 'H70BC', 'H70C1', 'H70C2', + 'H805A', + 'H805B', + 'H805C', 'HXXXX', // placeholder for LAN-only configured models ], rgbBT: [ @@ -378,29 +402,57 @@ export default { }, lanModels: [ + 'H6042', + 'H6043', 'H6046', 'H6047', 'H6051', + 'H6052', 'H6056', 'H6059', 'H6061', 'H6062', + 'H6063', 'H6065', 'H6066', 'H6067', + 'H606A', 'H6072', 'H6073', 'H6076', 'H6078', + 'H607C', 'H6087', - 'H6092', + 'H6088', + 'H608A', + 'H608B', + 'H608C', + 'H608D', + 'H60A0', 'H610A', 'H610B', + 'H6110', 'H6117', + 'H6141', + 'H6143', + 'H6144', 'H6159', + 'H615A', + 'H615B', + 'H615C', + 'H615D', + 'H615E', 'H6163', + 'H6167', 'H6168', + 'H616C', + 'H616D', + 'H616E', 'H6172', + 'H6173', + 'H6175', + 'H6176', + 'H6182', 'H618A', 'H618C', 'H618E', @@ -417,25 +469,52 @@ export default { 'H61A3', 'H61A5', 'H61A8', + 'H61A9', + 'H61B1', 'H61B2', 'H61BA', 'H61BC', 'H61BE', + 'H61C2', 'H61C3', - 'H61D5', + 'H61C5', + 'H61E0', 'H61E1', + 'H7012', + 'H7013', + 'H7021', + 'H7028', + 'H7033', + 'H7041', + 'H7042', 'H7050', + 'H7051', + 'H7052', + 'H7053', 'H7055', 'H705A', 'H705B', 'H705C', + 'H705D', + 'H705E', + 'H705F', 'H7060', 'H7061', 'H7062', + 'H7063', 'H7065', 'H7066', + 'H706A', + 'H706B', 'H706C', - 'H70A1', + 'H7075', + 'H70B1', + 'H70BC', + 'H70C1', + 'H70C2', + 'H805A', + 'H805B', + 'H805C', ], awsOutlet1617: ['H5080', 'H5083'], diff --git a/package-lock.json b/package-lock.json index 14b954c2..9500b94e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ ], "license": "MIT", "dependencies": { - "@homebridge/plugin-ui-utils": "^1.0.1", + "@homebridge/plugin-ui-utils": "^1.0.3", "aws-iot-device-sdk": "^2.2.13", "axios": "^1.6.8", "node-persist": "^4.0.1", @@ -44,7 +44,7 @@ }, "engines": { "homebridge": "^1.6.0", - "node": "^18.20.0 || ^20.12.0" + "node": "^18.20.2 || ^20.12.2" }, "optionalDependencies": { "@abandonware/bluetooth-hci-socket": "0.5.3-11", @@ -168,9 +168,9 @@ } }, "node_modules/@homebridge/plugin-ui-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-1.0.1.tgz", - "integrity": "sha512-Qxpu+HTb5F3tz6iV+gls/snzKPcP/9lOHwoV8IpJlXOeVWj3QMeMuw19dHH8ggLPMm4GaKuObrWjU9yOMENKkw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-1.0.3.tgz", + "integrity": "sha512-p2S/czGYNRnRtMICxBUk4Uar+KCezfyxjqfStfxKgykD2082SNayVDncYUK1xRai78EGHCbif9eoyrmDweh4tQ==" }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", @@ -200,9 +200,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@isaacs/cliui": { @@ -328,25 +328,25 @@ } }, "node_modules/@npmcli/agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.1.tgz", - "integrity": "sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", + "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", "optional": true, "dependencies": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.1" + "socks-proxy-agent": "^8.0.3" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@npmcli/agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "optional": true, "dependencies": { "debug": "^4.3.4" @@ -799,16 +799,16 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "optional": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -821,9 +821,9 @@ } }, "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "optional": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -1213,9 +1213,9 @@ "optional": true }, "node_modules/es-abstract": { - "version": "1.23.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz", - "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", @@ -1257,11 +1257,11 @@ "safe-regex-test": "^1.0.3", "string.prototype.trim": "^1.2.9", "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.7", + "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.2", "typed-array-byte-length": "^1.0.1", "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.5", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", "which-typed-array": "^1.1.15" }, @@ -1592,9 +1592,9 @@ } }, "node_modules/eslint-plugin-sort-exports/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -2168,9 +2168,9 @@ } }, "node_modules/http-proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "optional": true, "dependencies": { "debug": "^4.3.4" @@ -3096,16 +3096,16 @@ } }, "node_modules/node-gyp/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "optional": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -3127,9 +3127,9 @@ } }, "node_modules/node-gyp/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "optional": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -3887,9 +3887,9 @@ } }, "node_modules/socks": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", - "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "optional": true, "dependencies": { "ip-address": "^9.0.5", @@ -3901,12 +3901,12 @@ } }, "node_modules/socks-proxy-agent": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", - "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", + "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", "optional": true, "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.1", "debug": "^4.3.4", "socks": "^2.7.1" }, @@ -3915,9 +3915,9 @@ } }, "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "optional": true, "dependencies": { "debug": "^4.3.4" diff --git a/package.json b/package.json index 8cfa553c..e41136e3 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,11 @@ }, "engines": { "homebridge": "^1.6.0", - "node": "^18.20.0 || ^20.12.0" + "node": "^18.20.2 || ^20.12.2" }, "repository": { "type": "git", - "url": "https://github.com/bwp91/homebridge-govee.git" + "url": "git+https://github.com/bwp91/homebridge-govee.git" }, "bugs": { "url": "https://github.com/bwp91/homebridge-govee/issues" @@ -54,7 +54,7 @@ } ], "dependencies": { - "@homebridge/plugin-ui-utils": "^1.0.1", + "@homebridge/plugin-ui-utils": "^1.0.3", "aws-iot-device-sdk": "^2.2.13", "axios": "^1.6.8", "node-persist": "^4.0.1",