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.
- Every call now can optionally specify an ID that will be returned with the result, allowing tracking of simultaneous commands.
- Fleshed out the still-undocumented
SLEquipmentConfigurationMessage
with a few more helper methods for interpreting the data inside. - Helper method for getting a circuit from its device ID on an
SLControllerConfigMessage
. - Support for getting the status of pumps and setting flow speeds per-pump-per-circuit.
- Constants for interpreting heat command/mode properties on various messages:
- ScreenLogic.HEAT_MODE_OFF
- ScreenLogic.HEAT_MODE_SOLAR
- ScreenLogic.HEAT_MODE_SOLARPREFERRED
- ScreenLogic.HEAT_MODE_HEATPUMP
- ScreenLogic.HEAT_MODE_DONTCHANGE
- Debug logs using the "debug" NPM package. You'll need to run an
npm install
after updating to this version. - Ability to cancel delays in pool equipment. #20 - thanks @bshep
- Ability to register for push messages from the equipment so the connection can be kept open instead of repeatedly reconnecting and polling for changes. See the
addClient()
andremoveClient()
functions on theUnitConnection
docs. Thanks @bshep
- Added support for adding, deleting, listing, and updating scheduled events - thanks @bshep
- Added egg timer support - thanks @bshep
- Support for controlling the salt cell generator's output levels.
- Helper methods for interpreting
controllerType
. - Experimental support for an Equipment Configuration message (not documented as of yet -
SLEquipmentConfigurationMessage
/getEquipmentConfiguration()
). This message returns arrays of various information about the equipment, but I don't know how to interpret the information in those arrays yet. Any assistance with decoding this information would be hugely helpful. error
handler on all objects for reacting to unhandled node errors - thanks @schemers
- VSCode "Example" configuration can now be launched on non-Windows platforms.
- Minor memory/performance optimizations.
- Running tests no longer changes any state of any pool equipment.
- Several methods added to SLControllerConfigMessage for interpreting the equipFlags value.
- server.gatewayName no longer cuts off the last character of the name. #14 - thanks @mikemucc
- Ability to set heat setpoint.
- Ability to set heat mode.
- Event for supplying incorrect parameters to
set
functions. - Ability to send limited selection of light commands.
- Messages larger than 1024 bytes are now handled properly.
- Remote connection through Pentair servers
- Connecting to password-protected systems (this is only enforced by the ScreenLogic system on remote connections)
- Ability to set circuit state.
- FindUnits.sendServerBroadcast() was failing in certain environments.
- Direct connection support.
- Initial release