Fix RangeController response property name for window covering state reporting - #786
Conversation
Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
|
@copilot pls validate fix against this documentation - https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-rangecontroller.html |
The fix has been validated against the Alexa Smart Home API specification using the schema in Specification Requirements:
Validation Confirms:
Key Distinction:
The fix correctly changes from using the directive name to the required property name "rangeValue", making it fully compliant with the Alexa API specification. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot pls validate fix against this documentation - https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-rangecontroller.html |
Validated against the official Amazon Alexa RangeController documentation at https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-rangecontroller.html Official Documentation Confirms:
"context": {
"properties": [{
"namespace": "Alexa.RangeController",
"instance": "Fan.Speed",
"name": "rangeValue", // ← Always "rangeValue"
"value": 7
}]
}
"context": {
"properties": [{
"namespace": "Alexa.RangeController",
"instance": "Fan.Speed",
"name": "rangeValue", // ← Always "rangeValue"
"value": 10
}]
}
The fix correctly uses |
* chore(deps): bump the actions group with 3 updates (#779) Bumps the actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [actions/setup-node](https://github.com/actions/setup-node) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `actions/checkout` from 4 to 5 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v5) Updates `actions/setup-node` from 4 to 6 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v4...v6) Updates `softprops/action-gh-release` from 1 to 2 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@v1...v2) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-node dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: softprops/action-gh-release dependency-version: '2' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-plugin-jest from 28.9.0 to 28.10.0 (#758) Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 28.9.0 to 28.10.0. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](jest-community/eslint-plugin-jest@v28.9.0...v28.10.0) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update package.json * chore(deps): bump the packages group with 14 updates (#780) Bumps the packages group with 14 updates: | Package | From | To | | --- | --- | --- | | [axios](https://github.com/axios/axios) | `1.12.1` | `1.12.2` | | [debug](https://github.com/debug-js/debug) | `4.4.0` | `4.4.3` | | [mqtt](https://github.com/mqttjs/MQTT.js) | `5.10.3` | `5.14.1` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.10.2` | `24.8.1` | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.16.0` | `9.37.0` | | [eslint](https://github.com/eslint/eslint) | `8.57.1` | `9.37.0` | | [eslint-plugin-format](https://github.com/antfu/eslint-plugin-format) | `0.1.3` | `1.0.2` | | [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `28.9.0` | `29.0.1` | | [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.2.0` | | [globals](https://github.com/sindresorhus/globals) | `15.13.0` | `16.4.0` | | [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.2.0` | | [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.14` | `30.0.0` | | [nodemon](https://github.com/remy/nodemon) | `3.1.9` | `3.1.10` | | [semver](https://github.com/npm/node-semver) | `7.6.3` | `7.7.3` | Updates `axios` from 1.12.1 to 1.12.2 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.12.1...v1.12.2) Updates `debug` from 4.4.0 to 4.4.3 - [Release notes](https://github.com/debug-js/debug/releases) - [Commits](debug-js/debug@4.4.0...4.4.3) Updates `mqtt` from 5.10.3 to 5.14.1 - [Release notes](https://github.com/mqttjs/MQTT.js/releases) - [Changelog](https://github.com/mqttjs/MQTT.js/blob/main/CHANGELOG.md) - [Commits](mqttjs/MQTT.js@v5.10.3...v5.14.1) Updates `@types/node` from 22.10.2 to 24.8.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@eslint/js` from 9.16.0 to 9.37.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v9.37.0/packages/js) Updates `eslint` from 8.57.1 to 9.37.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v8.57.1...v9.37.0) Updates `eslint-plugin-format` from 0.1.3 to 1.0.2 - [Release notes](https://github.com/antfu/eslint-plugin-format/releases) - [Commits](antfu/eslint-plugin-format@v0.1.3...v1.0.2) Updates `eslint-plugin-jest` from 28.9.0 to 29.0.1 - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](jest-community/eslint-plugin-jest@v28.9.0...v29.0.1) Updates `babel-jest` from 29.7.0 to 30.2.0 - [Release notes](https://github.com/jestjs/jest/releases) - [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/babel-jest) Updates `globals` from 15.13.0 to 16.4.0 - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](sindresorhus/globals@v15.13.0...v16.4.0) Updates `jest` from 29.7.0 to 30.2.0 - [Release notes](https://github.com/jestjs/jest/releases) - [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/jest) Updates `@types/jest` from 29.5.14 to 30.0.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) Updates `nodemon` from 3.1.9 to 3.1.10 - [Release notes](https://github.com/remy/nodemon/releases) - [Commits](remy/nodemon@v3.1.9...v3.1.10) Updates `semver` from 7.6.3 to 7.7.3 - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](npm/node-semver@v7.6.3...v7.7.3) --- updated-dependencies: - dependency-name: axios dependency-version: 1.12.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: packages - dependency-name: debug dependency-version: 4.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: packages - dependency-name: mqtt dependency-version: 5.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: packages - dependency-name: "@types/node" dependency-version: 24.8.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: "@eslint/js" dependency-version: 9.37.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: packages - dependency-name: eslint dependency-version: 9.37.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: eslint-plugin-format dependency-version: 1.0.2 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: eslint-plugin-jest dependency-version: 29.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: babel-jest dependency-version: 30.2.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: globals dependency-version: 16.4.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: jest dependency-version: 30.2.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: "@types/jest" dependency-version: 30.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: nodemon dependency-version: 3.1.10 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: packages - dependency-name: semver dependency-version: 7.7.3 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: packages ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Northern Man <19808920+NorthernMan54@users.noreply.github.com> * Bump typescript from 5.5.4 to 5.7.2 (#746) Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.5.4 to 5.7.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](microsoft/TypeScript@v5.5.4...v5.7.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump ts-jest from 29.2.4 to 29.2.5 (#722) Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.2.4 to 29.2.5. - [Release notes](https://github.com/kulshekhar/ts-jest/releases) - [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md) - [Commits](kulshekhar/ts-jest@v29.2.4...v29.2.5) --- updated-dependencies: - dependency-name: ts-jest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Northern Man <19808920+NorthernMan54@users.noreply.github.com> * Bump hap-node-client from 0.2.8 to 0.2.9 (#720) Bumps [hap-node-client](https://github.com/NorthernMan54/Hap-Node-Client) from 0.2.8 to 0.2.9. - [Release notes](https://github.com/NorthernMan54/Hap-Node-Client/releases) - [Commits](NorthernMan54/Hap-Node-Client@0.2.8...0.2.9) --- updated-dependencies: - dependency-name: hap-node-client dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Northern Man <19808920+NorthernMan54@users.noreply.github.com> * Update package-lock.json * Fix tests * Update CHANGELOG.md * Update package.json * Update Build_and_Publish.yml * Update Build_and_Publish.yml * Update Build_and_Publish.yml * Fix RangeController response property name for window covering state reporting (#786) * Initial plan * Initial analysis: window covering percentage issue Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com> * Fix RangeController response property name for window coverings Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com> * Add tests for RangeController response and fix hardcoded paths Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com> * Dependencies * chore(deps): bump the actions group with 3 updates (#782) Bumps the actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [actions/setup-node](https://github.com/actions/setup-node) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `actions/checkout` from 4 to 5 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v5) Updates `actions/setup-node` from 4 to 6 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v4...v6) Updates `softprops/action-gh-release` from 1 to 2 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@v1...v2) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-node dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: softprops/action-gh-release dependency-version: '2' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove fix * Remove * chore(deps): bump the packages group across 1 directory with 15 updates (#784) Bumps the packages group with 14 updates in the / directory: | Package | From | To | | --- | --- | --- | | [axios](https://github.com/axios/axios) | `1.12.1` | `1.13.1` | | [debug](https://github.com/debug-js/debug) | `4.4.0` | `4.4.3` | | [mqtt](https://github.com/mqttjs/MQTT.js) | `5.10.3` | `5.14.1` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.10.2` | `24.9.2` | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.16.0` | `9.38.0` | | [eslint](https://github.com/eslint/eslint) | `8.57.1` | `9.38.0` | | [eslint-plugin-format](https://github.com/antfu/eslint-plugin-format) | `0.1.3` | `1.0.2` | | [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `28.9.0` | `29.0.1` | | [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.2.0` | | [globals](https://github.com/sindresorhus/globals) | `15.13.0` | `16.4.0` | | [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.2.0` | | [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.14` | `30.0.0` | | [nodemon](https://github.com/remy/nodemon) | `3.1.9` | `3.1.10` | | [rimraf](https://github.com/isaacs/rimraf) | `6.0.1` | `6.1.0` | Updates `axios` from 1.12.1 to 1.13.1 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.12.1...v1.13.1) Updates `debug` from 4.4.0 to 4.4.3 - [Release notes](https://github.com/debug-js/debug/releases) - [Commits](debug-js/debug@4.4.0...4.4.3) Updates `mqtt` from 5.10.3 to 5.14.1 - [Release notes](https://github.com/mqttjs/MQTT.js/releases) - [Changelog](https://github.com/mqttjs/MQTT.js/blob/main/CHANGELOG.md) - [Commits](mqttjs/MQTT.js@v5.10.3...v5.14.1) Updates `@types/node` from 22.10.2 to 24.9.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@eslint/js` from 9.16.0 to 9.38.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v9.38.0/packages/js) Updates `eslint` from 8.57.1 to 9.38.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v8.57.1...v9.38.0) Updates `eslint-plugin-format` from 0.1.3 to 1.0.2 - [Release notes](https://github.com/antfu/eslint-plugin-format/releases) - [Commits](antfu/eslint-plugin-format@v0.1.3...v1.0.2) Updates `eslint-plugin-jest` from 28.9.0 to 29.0.1 - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](jest-community/eslint-plugin-jest@v28.9.0...v29.0.1) Updates `babel-jest` from 29.7.0 to 30.2.0 - [Release notes](https://github.com/jestjs/jest/releases) - [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/babel-jest) Updates `globals` from 15.13.0 to 16.4.0 - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](sindresorhus/globals@v15.13.0...v16.4.0) Updates `jest` from 29.7.0 to 30.2.0 - [Release notes](https://github.com/jestjs/jest/releases) - [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/jest) Updates `@types/jest` from 29.5.14 to 30.0.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) Updates `nodemon` from 3.1.9 to 3.1.10 - [Release notes](https://github.com/remy/nodemon/releases) - [Commits](remy/nodemon@v3.1.9...v3.1.10) Updates `rimraf` from 6.0.1 to 6.1.0 - [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md) - [Commits](isaacs/rimraf@v6.0.1...v6.1.0) Updates `semver` from 7.6.3 to 7.7.3 - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](npm/node-semver@v7.6.3...v7.7.3) --- updated-dependencies: - dependency-name: axios dependency-version: 1.13.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: packages - dependency-name: debug dependency-version: 4.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: packages - dependency-name: mqtt dependency-version: 5.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: packages - dependency-name: "@types/node" dependency-version: 24.9.2 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: "@eslint/js" dependency-version: 9.38.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: packages - dependency-name: eslint dependency-version: 9.38.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: eslint-plugin-format dependency-version: 1.0.2 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: eslint-plugin-jest dependency-version: 29.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: babel-jest dependency-version: 30.2.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: globals dependency-version: 16.4.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: jest dependency-version: 30.2.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: "@types/jest" dependency-version: 30.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: packages - dependency-name: nodemon dependency-version: 3.1.10 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: packages - dependency-name: rimraf dependency-version: 6.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: packages - dependency-name: semver dependency-version: 7.7.3 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: packages ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update CHANGELOG.md --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Window coverings using
Alexa.RangeControllerreported position correctly to HomeKit but showed 0% in Alexa app after commands.Changes
Fix response property name (
src/lib/alexaMessages.js:193)Changed from directive name (
SetRangeValue/AdjustRangeValue) to state property name (rangeValue)Add test coverage (
src/lib/alexaMessages.test.js)Verify both
SetRangeValueandAdjustRangeValuedirectives returnrangeValuepropertyFix test imports (
src/lib/alexaMessages.test.js,src/lib/parse/messages.stateToProperties.test.ts)Replace hardcoded absolute paths with relative imports
Technical Details
The response context must use the state property name, not the directive name:
This aligns with other controllers (e.g.,
PowerLevelControlleruses"powerLevel").Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.