Added helper methods for interpreting the equipFlags value

Provided by @mikemucc in #15. Also updated the readme with the new information.
This commit is contained in:
2019-12-27 15:57:21 -06:00
parent e567e9c821
commit 661d8db173
2 changed files with 41 additions and 1 deletions

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.
### 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
* `controllerId` - integer indicating the controller's ID
@ -340,7 +360,7 @@ Passed as an argument to the emitted `controllerConfig` event handler.
* `controllerType` - byte
* `hwType` - 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
* `bodyArray` - array (size number-of-circuits) holding circuit data
* `circuitId` - integer indicating circuit ID (e.g.: 500 is spa, 505 is pool)

View File

@ -82,4 +82,24 @@ exports.SLControllerConfigMessage = class SLControllerConfigMessage extends SLMe
static getResponseId() {
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)
}
};