Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: implement discoverable and transparently-typed CC value definitions #4704

Merged
merged 29 commits into from Jun 21, 2022

Conversation

AlCalzone
Copy link
Member

@AlCalzone AlCalzone commented Jun 10, 2022

This PR revamps the definition for all value IDs. Instead of having separate getXYZValueId functions floating around, all value definitions for all CCs are now (will be...) collected on a single object per CC, which has transparent type definitions that include the value ID definition:
image
For example, BasicCCValues.currentValue.id equals to the following value ID:

{
    commandClass: CommandClasses.Basic,
    property: "currentValue",
}

and BasicCCValues.currentValue.endpoint(1) returns the following value ID:

{
    commandClass: CommandClasses.Basic,
    endpoint: 1,
    property: "currentValue",
}

Additional meta information for each value ID can be accessed using BinarySwitchCCValues.targetValue.meta:

{
    label: "Target value";
    valueChangeOptions: readonly ["transitionDuration"];
    type: "boolean";
    readable: true;
    writeable: true;
}

Some CC values are dynamic and have to be accessed through a value-specific function call, e.g. BinarySensorCCValues.state(sensorType).id etc. The returned object is the same as with static CC values.

When done, this...
fixes: #552

and enables #532 and #528

@zwave-js-assistant
Copy link

🚧 It seems like this PR has lint errors 🚧

I should be able to fix them for you. If you want me to, just comment
@zwave-js-bot fix lint

@zwave-js-assistant
Copy link

🚧 It seems like this PR has lint errors 🚧

I should be able to fix them for you. If you want me to, just comment
@zwave-js-bot fix lint

@zwave-js-assistant
Copy link

🚧 It seems like this PR has lint errors 🚧

I should be able to fix them for you. If you want me to, just comment
@zwave-js-bot fix lint

@zwave-js-assistant
Copy link

🚧 It seems like this PR has lint errors 🚧

I should be able to fix them for you. If you want me to, just comment
@zwave-js-bot fix lint

@zwave-js-assistant
Copy link

🚧 It seems like this PR has lint errors 🚧

I should be able to fix them for you. If you want me to, just comment
@zwave-js-bot fix lint

@zwave-js-assistant
Copy link

🚧 It seems like this PR has lint errors 🚧

I should be able to fix them for you. If you want me to, just comment
@zwave-js-bot fix lint

@AlCalzone AlCalzone added the breaking This is a breaking change label Jun 21, 2022
@AlCalzone AlCalzone marked this pull request as ready for review June 21, 2022 17:49
@AlCalzone AlCalzone merged commit 7ed1016 into release-v10 Jun 21, 2022
@AlCalzone AlCalzone deleted the better-value-ids branch June 21, 2022 17:49
AlCalzone added a commit that referenced this pull request Jul 20, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
AlCalzone added a commit that referenced this pull request Jul 21, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
AlCalzone added a commit that referenced this pull request Jul 22, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
AlCalzone added a commit that referenced this pull request Jul 26, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos in config files and some others (#4837)
AlCalzone added a commit that referenced this pull request Jul 26, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
AlCalzone added a commit that referenced this pull request Aug 5, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
AlCalzone added a commit that referenced this pull request Aug 9, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
AlCalzone added a commit that referenced this pull request Aug 10, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)
* Include both V1 values and V2+ values in `Notification CC` logs (#4904)
* Obfuscate keys in `Entry Control CC` logs (#4905)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)
* Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906)
* Move `"notification"` event args types back into `zwave-js` package (#4907)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)
* Update Zooz ZEN20 with additional parameters 28 - 36 (#4898)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
AlCalzone added a commit that referenced this pull request Aug 15, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856) with the possibility to override them for individual inclusion attempts (#4911)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)
* Allow overriding API key for the FW update service per call (#4912)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)
* Include both V1 values and V2+ values in `Notification CC` logs (#4904)
* Obfuscate keys in `Entry Control CC` logs (#4905)
* Improved command flow for S2-encrypted communication when both parties transmit at the same time (#4900)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)
* Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906)
* Move `"notification"` event args types back into `zwave-js` package (#4907)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)
* Update Zooz ZEN20 with additional parameters 28 - 36 (#4898)
* Clean up branding of Jasco devices (#4873)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
AlCalzone added a commit that referenced this pull request Aug 16, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856) with the possibility to override them for individual inclusion attempts (#4911)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)
* Allow overriding API key for the FW update service per call (#4912)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)
* Include both V1 values and V2+ values in `Notification CC` logs (#4904)
* Obfuscate keys in `Entry Control CC` logs (#4905)
* Improved command flow for S2-encrypted communication when both parties transmit at the same time (#4900)
* Fixed a bug where commands that should be discarded because of a lower than expected security level would still store their values into the value DB (#4924)
* Fixed looking up a node's provisioning entry using its node ID. This didn't work previously and would cause excluded SmartStart nodes to be included again immediately. (#4925)
* No longer overwrite the security classes of a node when they are known for certain, and retry querying securely supported CCs during the interview (#4923)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)
* Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906)
* Move `"notification"` event args types back into `zwave-js` package (#4907)
* Fixed a typo in `AddNodeStatusContext`, which would result in an `UNKNOWN` device class of newly included nodes (#4922)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)
* Update Zooz ZEN20 with additional parameters 28 - 36 (#4898)
* Clean up branding of Jasco devices (#4873)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
AlCalzone added a commit that referenced this pull request Aug 22, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856) with the possibility to override them for individual inclusion attempts (#4911)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)
* Allow overriding API key for the FW update service per call (#4912)
* Support updating some driver options on the fly (#4930)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)
* Include both V1 values and V2+ values in `Notification CC` logs (#4904)
* Obfuscate keys in `Entry Control CC` logs (#4905)
* Improved command flow for S2-encrypted communication when both parties transmit at the same time (#4900)
* Fixed a bug where commands that should be discarded because of a lower than expected security level would still store their values into the value DB (#4924)
* Fixed looking up a node's provisioning entry using its node ID. This didn't work previously and would cause excluded SmartStart nodes to be included again immediately. (#4925)
* No longer overwrite the security classes of a node when they are known for certain, and retry querying securely supported CCs during the interview (#4923)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)
* Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906)
* Move `"notification"` event args types back into `zwave-js` package (#4907)
* Fixed a typo in `AddNodeStatusContext`, which would result in an `UNKNOWN` device class of newly included nodes (#4922)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)
* Update Zooz ZEN20 with additional parameters 28 - 36 (#4898)
* Clean up branding of Jasco devices (#4873)
* Add new 700 series Jasco devices (#4928)
* Update description on several Jasco manufactured devices (#4927)
* Apply compat flag to GreenWave PowerNode 5 (#4934)
* Add wakeup instruction to Zooz ZEN34 (#4932)
* Add parameter 15 Invert Output to Heatit Z-Temp2 (#4915)
* Add Enbrighten 58438 / ZWA3016 (#4913)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
AlCalzone added a commit that referenced this pull request Aug 24, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically for almost all CCs when supported (#4761, #4945)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856) with the possibility to override them for individual inclusion attempts (#4911)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)
* Allow overriding API key for the FW update service per call (#4912)
* Support updating some driver options on the fly (#4930)
* Support correlating node responses to requests for which the ACK hasn't been received yet (#4946)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)
* Include both V1 values and V2+ values in `Notification CC` logs (#4904)
* Obfuscate keys in `Entry Control CC` logs (#4905)
* Improved command flow for S2-encrypted communication when both parties transmit at the same time (#4900)
* Fixed a bug where commands that should be discarded because of a lower than expected security level would still store their values into the value DB (#4924)
* Fixed looking up a node's provisioning entry using its node ID. This didn't work previously and would cause excluded SmartStart nodes to be included again immediately. (#4925)
* No longer overwrite the security classes of a node when they are known for certain, and retry querying securely supported CCs during the interview (#4923)
* Increase wait time after firmware update and reset nonces before attempting communication (#4944)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)
* Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906)
* Move `"notification"` event args types back into `zwave-js` package (#4907)
* Fixed a typo in `AddNodeStatusContext`, which would result in an `UNKNOWN` device class of newly included nodes (#4922)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)
* Update Zooz ZEN20 with additional parameters 28 - 36 (#4898)
* Clean up branding of Jasco devices (#4873)
* Add new 700 series Jasco devices (#4928)
* Update description on several Jasco manufactured devices (#4927)
* Apply compat flag to GreenWave PowerNode 5 (#4934)
* Add wakeup instruction to Zooz ZEN34 (#4932)
* Add parameter 15 Invert Output to Heatit Z-Temp2 (#4915)
* Add Enbrighten 58438 / ZWA3016 (#4913)
* Add alarm mappings to ZSMOKE (#4942)
* Add Zooz ZEN14 (#4921)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
AlCalzone added a commit that referenced this pull request Aug 25, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically for almost all CCs when supported (#4761, #4945)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856) with the possibility to override them for individual inclusion attempts (#4911)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)
* Allow overriding API key for the FW update service per call (#4912)
* Support updating some driver options on the fly (#4930)
* Support correlating node responses to requests for which the ACK hasn't been received yet (#4946)
* `"notification"` events are now logged (#4948)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)
* Include both V1 values and V2+ values in `Notification CC` logs (#4904)
* Obfuscate keys in `Entry Control CC` logs (#4905)
* Improved command flow for S2-encrypted communication when both parties transmit at the same time (#4900)
* Fixed a bug where commands that should be discarded because of a lower than expected security level would still store their values into the value DB (#4924)
* Fixed looking up a node's provisioning entry using its node ID. This didn't work previously and would cause excluded SmartStart nodes to be included again immediately. (#4925)
* No longer overwrite the security classes of a node when they are known for certain, and retry querying securely supported CCs during the interview (#4923)
* Increase wait time after firmware update and reset nonces before attempting communication (#4944)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)
* Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906)
* Move `"notification"` event args types back into `zwave-js` package (#4907)
* Fixed a typo in `AddNodeStatusContext`, which would result in an `UNKNOWN` device class of newly included nodes (#4922)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)
* Update Zooz ZEN20 with additional parameters 28 - 36 (#4898)
* Clean up branding of Jasco devices (#4873)
* Add new 700 series Jasco devices (#4928)
* Update description on several Jasco manufactured devices (#4927)
* Apply compat flag to GreenWave PowerNode 5 (#4934)
* Add wakeup instruction to Zooz ZEN34 (#4932)
* Add parameter 15 Invert Output to Heatit Z-Temp2 (#4915)
* Add Enbrighten 58438 / ZWA3016 (#4913)
* Add alarm mappings to ZSMOKE (#4942)
* Add Zooz ZEN14 (#4921)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
* Add some `"silly"` logging to `handleNotificationReport` (#4949)
AlCalzone added a commit that referenced this pull request Aug 25, 2022
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10)
* Dropped support for Node.js 12 (#4824, #4491)
* Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823)
* Added support to provide an API key for the firmware update service, soon mandatory (#4816)
* Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699)
* CC implementations were moved into their own package (#4668)
* CC code can now be used mostly without a driver instance (#4651)
* Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704)
* `Supervision CC` is now used automatically for almost all CCs when supported (#4761, #4945)
* Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825)
* S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856) with the possibility to override them for individual inclusion attempts (#4911)
* Node firmware versions are now exposed as `major.minor.patch` where supported (#4857)

### Features
* Implement Z-Wave Protocol CC, for internal use (#4691)
* Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892)
* Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732)
* Answer incoming requests with the same encapsulation (#4832)
* Allow passing a custom serial port implementation in `port` param of the Driver class (#4885)
* Support sending `TimeCC` reports and automatically respond to requests (#4858)
* Allow overriding API key for the FW update service per call (#4912)
* Support updating some driver options on the fly (#4930)
* Support correlating node responses to requests for which the ACK hasn't been received yet (#4946)
* `"notification"` events are now logged (#4948)

### Bugfixes
* Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661)
* Do not request ACK when sending node to sleep (#4826)
* Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827)
* Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846)
* Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848)
* Query user codes 1-by-1 if bulk reading is not supported (#4849)
* Include both V1 values and V2+ values in `Notification CC` logs (#4904)
* Obfuscate keys in `Entry Control CC` logs (#4905)
* Improved command flow for S2-encrypted communication when both parties transmit at the same time (#4900)
* Fixed a bug where commands that should be discarded because of a lower than expected security level would still store their values into the value DB (#4924)
* Fixed looking up a node's provisioning entry using its node ID. This didn't work previously and would cause excluded SmartStart nodes to be included again immediately. (#4925)
* No longer overwrite the security classes of a node when they are known for certain, and retry querying securely supported CCs during the interview (#4923)
* Increase wait time after firmware update and reset nonces before attempting communication (#4944)

### Bugfixes (broken and fixed in v10 beta)
* Emit value event after successful supervised `setValue` (#4899)
* Correct nested encapsulation of Supervision CC Reports (#4890)
* Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906)
* Move `"notification"` event args types back into `zwave-js` package (#4907)
* Fixed a typo in `AddNodeStatusContext`, which would result in an `UNKNOWN` device class of newly included nodes (#4922)

### Config file changes
* Corrected manufacturer and device labels for Heatit devices (#4838)
* Slightly clean up the Fibaro Motion Sensor config (#4790)
* Update Zooz ZEN17 to firmware 1.10 (#4809)
* Add NewOne N4003, template more in the Minoston directory (#4834)
* Add Fibaro Wall Plug UK - FGWPG-111 (#4865)
* Correct param 9 for STEINEL devices, rework to templates (#4895)
* Add Zooz Zen05 Outdoor Smart Plug (#4896)
* Add MP31ZP (rebranded MP21ZP) (#4894)
* Update Zooz ZEN20 with additional parameters 28 - 36 (#4898)
* Clean up branding of Jasco devices (#4873)
* Add new 700 series Jasco devices (#4928)
* Update description on several Jasco manufactured devices (#4927)
* Apply compat flag to GreenWave PowerNode 5 (#4934)
* Add wakeup instruction to Zooz ZEN34 (#4932)
* Add parameter 15 Invert Output to Heatit Z-Temp2 (#4915)
* Add Enbrighten 58438 / ZWA3016 (#4913)
* Add alarm mappings to ZSMOKE (#4942)
* Add Zooz ZEN14 (#4921)

### Changes under the hood
* Patch `tsserver` after install to allow displaying large types
* Upgrade dependencies (#4820, #4663)
* Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701)
* Fixed typos throughout the project (#4837, #4842)
* Added compliance tests for Z-Wave certification (#4832)
* Removed a polyfill for `Object.entries` (#4859)
* Added best practices for a reliable mesh to the docs (#4875)
* Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860)
* Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880)
* Move Supervision Session ID onto `ZWaveHost` interface (#4891)
* Add some `"silly"` logging to `handleNotificationReport` (#4949)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking This is a breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant