3 Commits

Author SHA1 Message Date
c310885598 Updated changelog and package.json for release 2019-12-27 15:57:36 -06:00
661d8db173 Added helper methods for interpreting the equipFlags value
Provided by @mikemucc in #15. Also updated the readme with the new information.
2019-12-27 15:57:21 -06:00
e567e9c821 gatewayName conversion was stripping final character (#14) 2019-11-30 12:01:29 -06:00
5 changed files with 50 additions and 3 deletions

View File

@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## v1.3.1 - 2019-12-27
### Added
* Several methods added to SLControllerConfigMessage for interpreting the equipFlags value.
### Fixed
* server.gatewayName no longer cuts off the last character of the name. #14 - thanks @mikemucc
## v1.3.0 - 2019-11-26 ## v1.3.0 - 2019-11-26
### Added ### Added
* Ability to set heat setpoint. * Ability to set heat setpoint.

View File

@ -331,6 +331,26 @@ Passed as an argument to the emitted `saltCellConfig` event handler.
Passed as an argument to the emitted `controllerConfig` event handler. Passed as an argument to the emitted `controllerConfig` event handler.
### hasSolar()
Returns a bool indicating whether the system has solar present. (Helper method for interpreting the value in `equipFlags`.)
### hasSolarAsHeatpump()
Returns a bool indicating whether the system has a solar heatpump (UltraTemp, ThermalFlo) present. (Helper method for interpreting the value in `equipFlags`.)
### hasChlorinator()
Returns a bool indicating whether the system has a chlorinator present. (Helper method for interpreting the value in `equipFlags`.)
### hasCooling()
Returns a bool indicating whether the system has a cooler present. (Helper method for interpreting the value in `equipFlags`.)
### hasIntellichem()
Returns a bool indicating whether the system has an IntelliChem chemical management system present. (Helper method for interpreting the value in `equipFlags`.)
### Properties ### Properties
* `controllerId` - integer indicating the controller's ID * `controllerId` - integer indicating the controller's ID
@ -340,7 +360,7 @@ Passed as an argument to the emitted `controllerConfig` event handler.
* `controllerType` - byte * `controllerType` - byte
* `hwType` - byte * `hwType` - byte
* `controllerData` - byte * `controllerData` - byte
* `equipFlags` - integer * `equipFlags` - integer indicating the type(s) of equipment present in the system (see helper methods above for interpreting these values)
* `genCircuitName` - string indicating the circuit name * `genCircuitName` - string indicating the circuit name
* `bodyArray` - array (size number-of-circuits) holding circuit data * `bodyArray` - array (size number-of-circuits) holding circuit data
* `circuitId` - integer indicating circuit ID (e.g.: 500 is spa, 505 is pool) * `circuitId` - integer indicating circuit ID (e.g.: 500 is spa, 505 is pool)

View File

@ -36,7 +36,7 @@ class FindUnits extends EventEmitter {
port: message.readInt16LE(8), port: message.readInt16LE(8),
gatewayType: message.readUInt8(10), gatewayType: message.readUInt8(10),
gatewaySubtype: message.readUInt8(11), gatewaySubtype: message.readUInt8(11),
gatewayName: message.toString('utf8', 12, 28), gatewayName: message.toString('utf8', 12, 29),
}; };
// console.log(' type: ' + server.type + ', host: ' + server.address + ':' + server.port + ', // console.log(' type: ' + server.type + ', host: ' + server.address + ':' + server.port + ',

View File

@ -82,4 +82,24 @@ exports.SLControllerConfigMessage = class SLControllerConfigMessage extends SLMe
static getResponseId() { static getResponseId() {
return MSG_ID + 1; return MSG_ID + 1;
} }
hasSolar() {
return !!(this.equipFlags & 0x1)
}
hasSolarAsHeatpump() {
return !!(this.equipFlags & 0x2)
}
hasChlorinator() {
return !!(this.equipFlags & 0x4)
}
hasCooling() {
return !!(this.equipFlags & 0x800)
}
hasIntellichem() {
return !!(this.equipFlags & 0x8000)
}
}; };

View File

@ -1,7 +1,7 @@
{ {
"name": "node-screenlogic", "name": "node-screenlogic",
"description": "Tool for connecting to Pentair ScreenLogic systems on the local network", "description": "Tool for connecting to Pentair ScreenLogic systems on the local network",
"version": "1.3.0", "version": "1.3.1",
"main": "index.js", "main": "index.js",
"license": "MIT", "license": "MIT",
"repository": "https://github.com/parnic/node-screenlogic.git", "repository": "https://github.com/parnic/node-screenlogic.git",