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

bacnet-js / client / 21899787580 / 1
83%
master: 83%

Build:
DEFAULT BRANCH: master
Ran 11 Feb 2026 09:37AM UTC
Files 44
Run time 1s
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

11 Feb 2026 09:34AM UTC coverage: 82.951% (-0.02%) from 82.967%
21899787580.1

push

github

web-flow
feat: read schedule,calendar and trend (#64)

## Summary
This PR ports schedule/calendar/trend read compatibility from the legacy
`node-bacstack` implementation into `@bacnet-js/client`, and adds read
examples for manual validation.

Source reference:
- https://github.com/EveGun/node-bacstack

## What changed
- Added specialized decode paths in `ReadProperty.decodeAcknowledge`
for:
  - `WEEKLY_SCHEDULE`
  - `EXCEPTION_SCHEDULE`
  - `EFFECTIVE_PERIOD`
  - `DATE_LIST`
- Added BACnet `WEEKNDAY` support in ASN.1 decode flow.
- Added `decodeRange` integration in `ReadRange.decodeAcknowledge`.
- Fixed non-zero offset slicing in `ReadRange` fallback range buffer
handling.
- Fixed closing-tag length consumption in exception schedule decode.
- Added unit tests for schedule/calendar parsing and trend range
decoding.
- Added read examples:
  - `examples/read-schedule-weekly.ts`
  - `examples/read-schedule-exceptions.ts`
  - `examples/read-schedule-period.ts`
  - `examples/read-calendar-datelist.ts`
  - `examples/read-trend.ts`

## Type consistency
- Trend range `timestamp` now returns `Date` (instead of epoch number)
for consistency with other decoded date/time fields.

## Validation
- `npm run lint` ✅
- `npm run test:unit` ✅
- Docker-based compliance tests executed successfully in local
environment ✅
- Manually validated against a WAGO PFC200 device
(schedule/calendar/trend read paths) ✅

## Notes
- Write examples were intentionally removed from this read-focused
branch.
- Write-side porting will follow in a separate branch/PR.
- Parser behavior was validated against real BACnet traffic captures
from WAGO PFC200 communication (Wireshark), then confirmed with live
device reads.

877 of 1362 branches covered (64.39%)

Branch coverage included in aggregate %.

5166 of 5923 relevant lines covered (87.22%)

36.67 hits per line

Source Files on job 21899787580.1
  • Tree
  • List 44
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 21899787580
  • 0ce3996b on github
  • Prev Job for on master (#19532691339.1)
  • Next Job for on master (#21907071234.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc