smart-bus
Version:
Node.js implementation of HDL SmartBus protocol
110 lines (74 loc) • 3.11 kB
Markdown
## 0.9.0
* Add Get Curtain Duration commands (`0xE800`, `0xE801`)
* Add Dry Contact Multi-Channel Status command (`0x6F00`)
* Add Dry Contact broadcast status commands (`0x15D0`, `0x15D1`)
* Fix `0xE3E3` Curtain Status to support optional duration field
* Add comprehensive test coverage for new commands
* Maintain 100% backward compatibility with existing implementations
## 0.8.0
* Update for Node.js v22 compatibility
* Replace deprecated `new Buffer()` constructors with modern APIs
* Update minimum Node.js version from >=0.12 to >=12.0.0
* Update development dependencies (mocha, eslint, should, simple-mock)
* Replace istanbul with nyc for test coverage
**BREAKING:**
- Node.js version requirement increased from >=0.12 to >=12.0.0
## 0.7.0
* Add Read Dry Contact Status commaands (`0x15CE`, `0x15CF`)
## 0.6.0
* Allow to reuse same UDP address
* Socket events on `Bus` instance
* Enable UDP broadcast
* Add address getter to `Device` instance
* New API functions signature
* Sender device decoupled from `Bus` class
* Events on `Device` provides command object as a payload
* `Channel` DSL removed
* Keep command payload
* Fix channels info for scene status commands (`0x0003`, `0xEFFF`)
* Fix parsing of "Response Read Sensors Status" (`0x1605`)
* Add Panel buttons control commands (`0xE012`, `0xE14E`)
* Add AC Control commands (`0x193A`, `0x193B`)
**BREAKING:**
- `bus.device()`, `bus.send()` and `device.send()` functions
have new signature;
- `device.send()` method now sends command **from** device
to target;
Refer to [`Send commands`](README.md#send-commands)
readme section for details.
- Now `Bus` object represents only and udp socket,
sender device could be any device and must be initalized
separately;
Refer to [`Initialization`](README.md#initialization)
readme section for details.
- Events on `Device` instance have same payload as events on `Bus`;
- `device.channel()` abstraction removed, listen for events manually;
Refer to [`Complete example`](README.md#complete-example)
readme section for details.
## 0.5.2
* Floor heating parse add timer data only if present (#14)
## 0.5.1
* Parse only integer part of temperature value for 0xE3E5 (#11)
## 0.5.0
* Add Logic Control and Date Time commands
## 0.4.0
* Add commands for Sequence, Scene, Area, Curtain Switch, Floor Heating,
Panel Control, Sensors and Read Temperature sections of
system specification
* Add missing Channels and Universal Switch commands
## 0.3.0
* URL syntax for configuration
* Send commands without additional data
* Outgoing commands logging
## 0.2.0
* Universal Switch Control command
* Fix `Bus` object address initialization
* Reimplement `Channel` class as `EventEmitter`
**BREAKING:** `channel.level` is a simple property now,
use `channel.control` function instead.
## 0.1.1
* Support old versions of nodejs (>=0.12)
## 0.1.0
Base features:
* Receive and send SmartBus commands
* Simple DSL for "Single Channel Control" command