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: add Zniffer support #6651

Merged
merged 16 commits into from
May 6, 2024
Merged

feat: add Zniffer support #6651

merged 16 commits into from
May 6, 2024

Conversation

AlCalzone
Copy link
Member

@AlCalzone AlCalzone commented Feb 1, 2024

This PR adds support for communicating with a Zniffer. This is done via a new "driver" available via the Zniffer class.

TODO:

  • code cleanup
  • option for selecting a default region
  • proper support for the different 500 series frequencies
  • support for parsing FLiRS frames
  • storing and exporting captured frames
  • documentation
  • expose CRC errors
  • disable strict validation (Entry Control CC etc.)
  • investigate "broken" frames that confuse the parser

docs/api/zniffer.md Outdated Show resolved Hide resolved
@AlCalzone AlCalzone changed the base branch from release-12.5.x to master April 3, 2024 15:25
const raw = ZnifferMessage.from({ data });
debugger;
if (raw instanceof ZnifferDataMessage) {
const mpdu = parseMPDU(raw);

Check notice

Code scanning / CodeQL

Unused variable, import, function or class

Unused variable mpdu.
@AlCalzone AlCalzone marked this pull request as ready for review May 6, 2024 21:16
@AlCalzone
Copy link
Member Author

@zwave-js-bot automerge

@zwave-js-bot zwave-js-bot enabled auto-merge (squash) May 6, 2024 21:22
@zwave-js-bot zwave-js-bot merged commit f1eec7c into master May 6, 2024
17 checks passed
@zwave-js-bot zwave-js-bot deleted the zniffer branch May 6, 2024 21:23
AlCalzone added a commit that referenced this pull request May 7, 2024
This release enhances the diagnostics in Z-Wave JS by adding support for controlling a Zniffer, which allows inspecting traffic from any Z-Wave network. See [here](https://zwave-js.github.io/node-zwave-js/#/api/zniffer) for details on using this API, and [here](https://zwave-js.github.io/node-zwave-js/#/troubleshooting/zniffer) for information on how to create a Zniffer device.

### Features
* Add Zniffer support (#6651)

### Bugfixes
* Ignore SmartStart requests and log errors when some keys for the granted security classes were not configured (#6787)
* Fixed an issue where excluded ZWLR nodes were not removed from the list of nodes until restart (#6795)
* The mandatory CCs for a device class are no longer automatically considered supported. Instead only the NIF is used to determine them (#6788)
* The `mandatorySupportedCCs` and `mandatoryControlledCCs` properties of the `DeviceClass` class are now deprecated and return an empty array (#6796)

### Config file changes
* Use specific float encoding for Namron 4512757 (#6793)
* Add fingerprint for Aeotec MultiSensor 7 (#6807)

### Changes under the hood
* Fix links on Long Range documentation page (#6790)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants