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 support for discovering bacnet devices via global broadcast. #1

Open
1 of 3 tasks
SamuelToh opened this issue Jun 25, 2020 · 1 comment
Open
1 of 3 tasks

Comments

@SamuelToh
Copy link
Member

SamuelToh commented Jun 25, 2020

Node Version: 12.4.0

Node BACstack Version: 0.2.4

  • Bug Report
  • Feature Request
  • Question

Feature Request

  • As per topic.
    According to the protocol specs for Bacnet. In terms of broadcasting, there are three types and
    they are; local broadcast, remote broadcast and global broadcast.

There is a limitation on the current client whereby devices behind a BBMD, bacnet router, is undiscoverable as they cannot be reached by the standard local broadcasting.

Current Behaviour (Bug Report)

  • The client can only broadcast to a LAN.

Expected Behaviour (Bug Report)

  • User should be able to decide which mode of broadcast to perform. Nice to have, configure the max hop when doing global broadcast.

Configurable network destination value, default it to 65535

Steps to reproduce Issue (Bug Report)

  • N/A
@SamuelToh SamuelToh changed the title [Feat] Add support for global broadcast. [Feat] Add support for discovering bacnet devices via global broadcast. Jun 27, 2020
@SamuelToh
Copy link
Member Author

Had a quick scan at the src code and noticed that it is actually possible to perform whoIs through global broadcasting.
Example:
myClient.whoIs({address: '10.1.201.255', net: 65535}, {lowLimit: 2503900, highLimit: 2503900});

Note that, the docs state that the first parameter receiver for the whoIs op must be a piece of string, which is the target device's address. This is not true. It can be an object whereby you inject the broadcasting address to the address key and then the network destination value as net.

Then the supplementary options for lower and upper limits can be configured via the options param.

Sounds like this piece of work will just be an doc update.

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

No branches or pull requests

1 participant