All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2024-01-17
- BREAKING Changed project name to
EMCB UDP Coordinator
to align with Eaton policies. Updated file names:emcbUDPbroadcastCoordinator
andemcbUDPdeviceCoordinator
0.12.0 - 2023-11-30
- Support for the following EV-SB commands:
getEvseDeviceState
,getEvseAppliedControlSettings
,getEvseConfigSettingsAndMode
, andpatchEvseConfigSettingsAndMode
- Example files for each SB and EV-SB command using unicast
- BREAKING Node.js minimum version bumped from v10 to v16
- Updated the message queuing system to allow every command to have it's own timeout instead of a single, static timeout for each batch of messages
- Updated several dependencies and removed unused ones
- Support for
getDeviceDebugData
andsetCloudLogging
(these were removed from the device in EM firmware release v1.16.0)
0.11.1 - 2021-04-07
- Update all documentation for EMLCP Node.JS SDK
0.11.0 - 2021-02-17
- UDP latency tests. New file
Examples/cli/discoverAndTestUDPLatency.js
- Updated
Examples/README.md
to include new UDP latency tests information.
0.10.0 - 2019-06-26
- Average Power Calculation / Logging (in Watts) to
Examples/cli/writeDeviceDataToCSV.js
getCoordinatorIPAddress()
createDevice(idDevice, ipAddress, unicastGetNextSequenceNumber = true)
- Undocumented EmcbUDPbroadcastCoordinator functionality:
setCloudLogging
andEMCB_UDP_MESSAGE_CODE_SET_CLOUD_LOGGING
constantsetMeterMode
andEMCB_UDP_MESSAGE_CODE_SET_METER_MODE
constant
- Allow
.send()
to be called by outside code with a genericmessageCode
andmessageData
, passing the response back as a raw buffer. This allows sending of arbitrary data to a device, without needing to implement a parser, etc. held by the library. Currently this is Undocumented behavior.
- Parsing issues for Int64 numbers (was only parsing 7 bytes instead of all 8
due to the fact that
Buffer.slice(start,end)
is not inclusive on theend
) - The
device
property was not present in EMCB_UDP_EVENT_DEVICE_REMOVED events - Issue with using an undefined device in
.on(EMCB_UDP_ERROR_TIMEOUT, ...)
in examples - Documentation error in
getMeterData
data.responses[${IP_ADDRESS}].period
- Formatting issues in
Examples/cli/writeDeviceDataToCSV.js
- Improved initialization code to handle devices discovered with a good Broadcast key but without a provided unicast key
0.9.0 - 2019-04-05
- EMCB_UDP_BROADCAST_ADDRESS is no longer a constant as we are now using some
async code to determine the broadcast address. This value can still be
accessed through the
EmcbUDPbroadcastCoordinator.ipAddress
property (although it may not be available immediately in sync code after instantiation).
EmcbUDPbroadcastCoordinator
now accepts abroadcastIPaddress
or aifaceName
argument to allow specifying which network interface/broadcast address a user want to use.
- The default behavior for network interface and broadcast IP address discovery is now more intelligent in selecting the appropriate network interface (no longer simply the first one with a valid local IP address)
- Improve handling of no unicast udpKey being provided for a particular device ID that was found during the discovery process.
0.8.1 - 2019-04-03
- Commands now correctly resolve/reject with exactly 1 response/timeout/error per discovered device. Timeouts were not being handled correctly in the previous release.
- Minor improvements made to
Examples/cli/discoverAndInteractiveControl.js
0.8.0 - 2019-03-29
- Initial Public (Alpha) Release!