• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bacnet-js / client
85%

Build:
DEFAULT BRANCH: master
Repo Added 30 Jun 2025 08:45AM UTC
Token v4In3fzt0YTUeHy5shOCNKx8KCw0Tpk59 regen
Build 106 Last
Files 44
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
Sync Branches
  • master
  • async-methods
  • better-types
  • chore/support-for-nodetype-enum
  • copilot/fix-31
  • copilot/fix-readrange-bug-special-log-record
  • copilot/update-examples-folder
  • feat/copilot-instructions
  • feat/foreign-device-registration
  • feature/schedule-calendar-trend
  • feature/schedule-calendar-write
  • fix-file-write
  • fix/active-cov-subscriptions
  • fix/date-decode-wildcard-raw
  • fix/event-notify-service-map
  • fix/flaky-request-manager-tests
  • fix/get-event-information-decoder
  • fix/localhost-service-requests
  • fix/npdu-default-hop-count
  • fix/segmentation
  • no-callbacks-yes-promises
  • read-write-property-requests-payload-types
  • rename-repo

01 Oct 2026 02:03PM UTC coverage: 85.274% (+0.01%) from 85.263%
36873434322

push

github

web-flow
fix: default NPDU hop count to 0xff so routed requests are not discarded (#87)

## Summary

Fixes #86.

Most service methods call `npdu.encode()` without the `hopCount`
argument, so when the receiver address contains a routed destination
(`net`/`adr` set) the NPDU hop count byte is encoded as `0x00`. Per
ASHRAE 135 §6.2.2 a router must discard routed NPDUs with hop count 0,
so services like `subscribeCov`, `subscribeProperty`,
`writePropertyMultiple`, `readRange` and `timeSync` never reach devices
behind a router and time out.
`readProperty`/`writeProperty`/`readPropertyMultiple`/`whoIs` are
unaffected because they pass `DEFAULT_HOP_COUNT` explicitly.

## Change

Default the `hopCount` parameter in `npdu.encode()` to `0xff` (and drop
the `hopCount || 0` fallback), fixing all call sites in one change. This
matches the spec's guidance to initialize the hop count to 255. Callers
that pass an explicit hop count (e.g. `DEFAULT_HOP_COUNT`) are
unchanged.

## Verification

- `npm run build` clean
- `npm run test:unit` — 204/204 pass
- Encoding check: `npdu.encode(buf, 0x04, { net: 2, adr: [12] })` now
produces `01 24 00 02 01 0c ff` (previously `...0c 00`)
- Tested end-to-end against a bacnet-stack `router-mstp` (BACnet/IP net
1 ↔ MS/TP net 2): `subscribeCov` to an MS/TP device previously logged
`NPDU: DNET=2. Discarded!` on the router and timed out; with this fix
the subscription is acknowledged and COV notifications are received.

1053 of 1545 branches covered (68.16%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

5589 of 6244 relevant lines covered (89.51%)

37.82 hits per line

Relevant lines Covered
Build:
Build:
6244 RELEVANT LINES 5589 COVERED LINES
37.82 HITS PER LINE
Source Files on master
  • Tree
  • List 44
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
36873434322 master fix: default NPDU hop count to 0xff so routed requests are not discarded (#87) ## Summary Fixes #86. Most service methods call `npdu.encode()` without the `hopCount` argument, so when the receiver address contains a routed destination (`net`/`a... push 01 Oct 2026 02:06PM UTC web-flow github
85.27
27957665690 master Merge a71fd05be into 27a399a00 Pull #81 02 Jul 2026 09:35AM UTC web-flow github
85.26
25485390981 master chore(release): 3.3.2 push 07 May 2026 08:43AM UTC robertsLando github
85.26
25485331981 master fix: uses appropriate typings for property read/write request payloads (#78) This PR fixes a mistyping affecting read/write request payloads. For some reason, the payloads of events modelling read/write requests had been defined separately and in... push 07 May 2026 08:42AM UTC web-flow github
85.26
23839642556 master chore(release): 3.3.1 push 01 Apr 2026 08:37AM UTC robertsLando github
85.26
23839569494 master fix: decode special log records in ReadRange without status flags (#77) Fixes ReadRange decoding when TREND_LOG contains special log records (e.g., `log-interrupted`, `time-change`) that don't have status flags. ## Problem When reading a `TREND... push 01 Apr 2026 08:35AM UTC web-flow github
85.28
22664539794 master chore(release): 3.3.0 push 04 Mar 2026 10:07AM UTC robertsLando github
85.14
22664488652 master feat: foreign device registration (#74) ## Summary This PR adds BACnet Foreign Device Registration (FDR) support and BBMD-based Who-Is discovery to `@bacnet-js/client`, including forwarded response handling and examples for manual validation. F... push 04 Mar 2026 10:06AM UTC web-flow github
85.16
22634073103 master fix: set file type as isStream (#62) see issue https://github.com/bacnet-js/client/issues/61 --------- Co-authored-by: robertsLando <daniel.sorridi@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> push 03 Mar 2026 05:08PM UTC web-flow github
85.28
22633679020 master fix(tests): eliminate flaky timers and silent false positives (#75) ## Summary ### Test fixes - **RequestManager unit tests**: replaced real `setTimeout`/`wait()` with `t.mock.timers` (Node.js mock timers API) so all timing is fully deterministi... push 03 Mar 2026 04:58PM UTC web-flow github
85.3
See All Builds (106)

Badge your Repo: client

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc