mirror of
https://github.com/parnic/node-intellicenter.git
synced 2025-06-16 10:10:13 -05:00
@ -5,6 +5,12 @@ 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.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [v0.5.0] - 2025-03-21
|
||||
|
||||
### Changed
|
||||
|
||||
- [Breaking change] SetHeatMode message now accepts a HeaterType value rather than an enabled boolean to support other heater types than just MasterTemp.
|
||||
|
||||
## [v0.4.0] - 2025-01-25
|
||||
|
||||
### Changed
|
||||
|
@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const index_js_1 = require("./index.js");
|
||||
const messages = __importStar(require("./messages/messages.js"));
|
||||
// import { HeaterType } from "./messages/set-heater.js";
|
||||
const example = async () => {
|
||||
console.log("searching...");
|
||||
const f = new index_js_1.FindUnits();
|
||||
@ -92,7 +93,7 @@ const example = async () => {
|
||||
// resp = await unit.send(messages.SetObjectStatus("C0003", false));
|
||||
// console.log("got response:", JSON.stringify(resp, null, 2));
|
||||
// console.log("sending Set Heatmode request...");
|
||||
// resp = await unit.send(messages.SetHeatMode("B1202", true));
|
||||
// resp = await unit.send(messages.SetHeatMode("B1202", HeaterType.MasterTemp));
|
||||
// console.log("got response:", JSON.stringify(resp, null, 2));
|
||||
unit.close();
|
||||
};
|
||||
|
@ -1 +1 @@
|
||||
{"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":"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"}
|
22
cjs/messages/set-heater.d.ts
vendored
22
cjs/messages/set-heater.d.ts
vendored
@ -1,15 +1,27 @@
|
||||
import { ICRequest } from "./request.js";
|
||||
export declare enum HeaterType {
|
||||
NoChange = 0,
|
||||
Off = 1,
|
||||
Heater = 2,
|
||||
SolarOnly = 3,
|
||||
SolarPreferred = 4,
|
||||
UltraTemp = 5,
|
||||
UltraTempPreferred = 6,
|
||||
HybridGas = 7,
|
||||
HybridUltraTemp = 8,
|
||||
HybridHybrid = 9,
|
||||
HybridDual = 10,
|
||||
MasterTemp = 11,
|
||||
MaxETherm = 12,
|
||||
ETI250 = 13
|
||||
}
|
||||
/**
|
||||
* Requests to turn a body's heater on or off.
|
||||
*
|
||||
* This is very WIP. For my pool and my heater configuration, the MODE needs to be 11 to enable my
|
||||
* heater and 1 to disable all heaters. I have a feeling 11 is unique to my system's configuration,
|
||||
* but I can't yet determine how to know what 11 maps to in order to make this more generic.
|
||||
*
|
||||
* Note that this doesn't necessarily start heating the body by itself - if the body's pump is
|
||||
* currently off, enabling the heater will not turn it on. If the pump/body is on, then this will
|
||||
* enable the heater and no further action is required.
|
||||
*
|
||||
* @returns the object used to issue this request
|
||||
*/
|
||||
export declare function SetHeatMode(bodyObjnam: string, enabled: boolean): ICRequest;
|
||||
export declare function SetHeatMode(bodyObjnam: string, heaterType: HeaterType): ICRequest;
|
||||
|
@ -1,29 +1,43 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.HeaterType = void 0;
|
||||
exports.SetHeatMode = SetHeatMode;
|
||||
const param_js_1 = require("./param.js");
|
||||
const request_js_1 = require("./request.js");
|
||||
var HeaterType;
|
||||
(function (HeaterType) {
|
||||
HeaterType[HeaterType["NoChange"] = 0] = "NoChange";
|
||||
HeaterType[HeaterType["Off"] = 1] = "Off";
|
||||
HeaterType[HeaterType["Heater"] = 2] = "Heater";
|
||||
HeaterType[HeaterType["SolarOnly"] = 3] = "SolarOnly";
|
||||
HeaterType[HeaterType["SolarPreferred"] = 4] = "SolarPreferred";
|
||||
HeaterType[HeaterType["UltraTemp"] = 5] = "UltraTemp";
|
||||
HeaterType[HeaterType["UltraTempPreferred"] = 6] = "UltraTempPreferred";
|
||||
HeaterType[HeaterType["HybridGas"] = 7] = "HybridGas";
|
||||
HeaterType[HeaterType["HybridUltraTemp"] = 8] = "HybridUltraTemp";
|
||||
HeaterType[HeaterType["HybridHybrid"] = 9] = "HybridHybrid";
|
||||
HeaterType[HeaterType["HybridDual"] = 10] = "HybridDual";
|
||||
HeaterType[HeaterType["MasterTemp"] = 11] = "MasterTemp";
|
||||
HeaterType[HeaterType["MaxETherm"] = 12] = "MaxETherm";
|
||||
HeaterType[HeaterType["ETI250"] = 13] = "ETI250";
|
||||
})(HeaterType || (exports.HeaterType = HeaterType = {}));
|
||||
/**
|
||||
* Requests to turn a body's heater on or off.
|
||||
*
|
||||
* This is very WIP. For my pool and my heater configuration, the MODE needs to be 11 to enable my
|
||||
* heater and 1 to disable all heaters. I have a feeling 11 is unique to my system's configuration,
|
||||
* but I can't yet determine how to know what 11 maps to in order to make this more generic.
|
||||
*
|
||||
* Note that this doesn't necessarily start heating the body by itself - if the body's pump is
|
||||
* currently off, enabling the heater will not turn it on. If the pump/body is on, then this will
|
||||
* enable the heater and no further action is required.
|
||||
*
|
||||
* @returns the object used to issue this request
|
||||
*/
|
||||
function SetHeatMode(bodyObjnam, enabled) {
|
||||
function SetHeatMode(bodyObjnam, heaterType) {
|
||||
const req = (0, request_js_1.GetRequest)();
|
||||
req.command = "SetParamList";
|
||||
req.objectList = [];
|
||||
const reqObj = new request_js_1.ICRequestObj();
|
||||
reqObj.objnam = bodyObjnam;
|
||||
reqObj.params = new param_js_1.ICParam();
|
||||
reqObj.params.MODE = enabled ? "11" : "1";
|
||||
reqObj.params.MODE = heaterType.toString();
|
||||
req.objectList.push(reqObj);
|
||||
return req;
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
{"version":3,"file":"set-heater.js","sourceRoot":"","sources":["../../src/messages/set-heater.ts"],"names":[],"mappings":";;AAgBA,kCAYC;AA5BD,yCAAqC;AACrC,6CAAmE;AAEnE;;;;;;;;;;;;GAYG;AACH,SAAgB,WAAW,CAAC,UAAkB,EAAE,OAAgB;IAC9D,MAAM,GAAG,GAAG,IAAA,uBAAU,GAAE,CAAC;IACzB,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC;IAC7B,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,MAAM,GAAG,IAAI,yBAAY,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,kBAAO,EAAE,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
||||
{"version":3,"file":"set-heater.js","sourceRoot":"","sources":["../../src/messages/set-heater.ts"],"names":[],"mappings":";;;AA6BA,kCAeC;AA5CD,yCAAqC;AACrC,6CAAmE;AAEnE,IAAY,UAeX;AAfD,WAAY,UAAU;IACpB,mDAAQ,CAAA;IACR,yCAAG,CAAA;IACH,+CAAM,CAAA;IACN,qDAAS,CAAA;IACT,+DAAc,CAAA;IACd,qDAAS,CAAA;IACT,uEAAkB,CAAA;IAClB,qDAAS,CAAA;IACT,iEAAe,CAAA;IACf,2DAAY,CAAA;IACZ,wDAAU,CAAA;IACV,wDAAU,CAAA;IACV,sDAAS,CAAA;IACT,gDAAM,CAAA;AACR,CAAC,EAfW,UAAU,0BAAV,UAAU,QAerB;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,UAAkB,EAClB,UAAsB;IAEtB,MAAM,GAAG,GAAG,IAAA,uBAAU,GAAE,CAAC;IACzB,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC;IAC7B,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,MAAM,GAAG,IAAI,yBAAY,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,kBAAO,EAAE,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC3C,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
@ -1,6 +1,7 @@
|
||||
"use strict";
|
||||
import { FindUnits, Unit } from "./index.js";
|
||||
import * as messages from "./messages/messages.js";
|
||||
// import { HeaterType } from "./messages/set-heater.js";
|
||||
const example = async () => {
|
||||
console.log("searching...");
|
||||
const f = new FindUnits();
|
||||
@ -58,7 +59,7 @@ const example = async () => {
|
||||
// resp = await unit.send(messages.SetObjectStatus("C0003", false));
|
||||
// console.log("got response:", JSON.stringify(resp, null, 2));
|
||||
// console.log("sending Set Heatmode request...");
|
||||
// resp = await unit.send(messages.SetHeatMode("B1202", true));
|
||||
// resp = await unit.send(messages.SetHeatMode("B1202", HeaterType.MasterTemp));
|
||||
// console.log("got response:", JSON.stringify(resp, null, 2));
|
||||
unit.close();
|
||||
};
|
||||
|
@ -1 +1 @@
|
||||
{"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":"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"}
|
22
esm/messages/set-heater.d.ts
vendored
22
esm/messages/set-heater.d.ts
vendored
@ -1,15 +1,27 @@
|
||||
import { ICRequest } from "./request.js";
|
||||
export declare enum HeaterType {
|
||||
NoChange = 0,
|
||||
Off = 1,
|
||||
Heater = 2,
|
||||
SolarOnly = 3,
|
||||
SolarPreferred = 4,
|
||||
UltraTemp = 5,
|
||||
UltraTempPreferred = 6,
|
||||
HybridGas = 7,
|
||||
HybridUltraTemp = 8,
|
||||
HybridHybrid = 9,
|
||||
HybridDual = 10,
|
||||
MasterTemp = 11,
|
||||
MaxETherm = 12,
|
||||
ETI250 = 13
|
||||
}
|
||||
/**
|
||||
* Requests to turn a body's heater on or off.
|
||||
*
|
||||
* This is very WIP. For my pool and my heater configuration, the MODE needs to be 11 to enable my
|
||||
* heater and 1 to disable all heaters. I have a feeling 11 is unique to my system's configuration,
|
||||
* but I can't yet determine how to know what 11 maps to in order to make this more generic.
|
||||
*
|
||||
* Note that this doesn't necessarily start heating the body by itself - if the body's pump is
|
||||
* currently off, enabling the heater will not turn it on. If the pump/body is on, then this will
|
||||
* enable the heater and no further action is required.
|
||||
*
|
||||
* @returns the object used to issue this request
|
||||
*/
|
||||
export declare function SetHeatMode(bodyObjnam: string, enabled: boolean): ICRequest;
|
||||
export declare function SetHeatMode(bodyObjnam: string, heaterType: HeaterType): ICRequest;
|
||||
|
@ -1,26 +1,39 @@
|
||||
import { ICParam } from "./param.js";
|
||||
import { GetRequest, ICRequestObj } from "./request.js";
|
||||
export var HeaterType;
|
||||
(function (HeaterType) {
|
||||
HeaterType[HeaterType["NoChange"] = 0] = "NoChange";
|
||||
HeaterType[HeaterType["Off"] = 1] = "Off";
|
||||
HeaterType[HeaterType["Heater"] = 2] = "Heater";
|
||||
HeaterType[HeaterType["SolarOnly"] = 3] = "SolarOnly";
|
||||
HeaterType[HeaterType["SolarPreferred"] = 4] = "SolarPreferred";
|
||||
HeaterType[HeaterType["UltraTemp"] = 5] = "UltraTemp";
|
||||
HeaterType[HeaterType["UltraTempPreferred"] = 6] = "UltraTempPreferred";
|
||||
HeaterType[HeaterType["HybridGas"] = 7] = "HybridGas";
|
||||
HeaterType[HeaterType["HybridUltraTemp"] = 8] = "HybridUltraTemp";
|
||||
HeaterType[HeaterType["HybridHybrid"] = 9] = "HybridHybrid";
|
||||
HeaterType[HeaterType["HybridDual"] = 10] = "HybridDual";
|
||||
HeaterType[HeaterType["MasterTemp"] = 11] = "MasterTemp";
|
||||
HeaterType[HeaterType["MaxETherm"] = 12] = "MaxETherm";
|
||||
HeaterType[HeaterType["ETI250"] = 13] = "ETI250";
|
||||
})(HeaterType || (HeaterType = {}));
|
||||
/**
|
||||
* Requests to turn a body's heater on or off.
|
||||
*
|
||||
* This is very WIP. For my pool and my heater configuration, the MODE needs to be 11 to enable my
|
||||
* heater and 1 to disable all heaters. I have a feeling 11 is unique to my system's configuration,
|
||||
* but I can't yet determine how to know what 11 maps to in order to make this more generic.
|
||||
*
|
||||
* Note that this doesn't necessarily start heating the body by itself - if the body's pump is
|
||||
* currently off, enabling the heater will not turn it on. If the pump/body is on, then this will
|
||||
* enable the heater and no further action is required.
|
||||
*
|
||||
* @returns the object used to issue this request
|
||||
*/
|
||||
export function SetHeatMode(bodyObjnam, enabled) {
|
||||
export function SetHeatMode(bodyObjnam, heaterType) {
|
||||
const req = GetRequest();
|
||||
req.command = "SetParamList";
|
||||
req.objectList = [];
|
||||
const reqObj = new ICRequestObj();
|
||||
reqObj.objnam = bodyObjnam;
|
||||
reqObj.params = new ICParam();
|
||||
reqObj.params.MODE = enabled ? "11" : "1";
|
||||
reqObj.params.MODE = heaterType.toString();
|
||||
req.objectList.push(reqObj);
|
||||
return req;
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
{"version":3,"file":"set-heater.js","sourceRoot":"","sources":["../../src/messages/set-heater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAa,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,OAAgB;IAC9D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC;IAC7B,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
||||
{"version":3,"file":"set-heater.js","sourceRoot":"","sources":["../../src/messages/set-heater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAa,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,CAAN,IAAY,UAeX;AAfD,WAAY,UAAU;IACpB,mDAAQ,CAAA;IACR,yCAAG,CAAA;IACH,+CAAM,CAAA;IACN,qDAAS,CAAA;IACT,+DAAc,CAAA;IACd,qDAAS,CAAA;IACT,uEAAkB,CAAA;IAClB,qDAAS,CAAA;IACT,iEAAe,CAAA;IACf,2DAAY,CAAA;IACZ,wDAAU,CAAA;IACV,wDAAU,CAAA;IACV,sDAAS,CAAA;IACT,gDAAM,CAAA;AACR,CAAC,EAfW,UAAU,KAAV,UAAU,QAerB;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,UAAkB,EAClB,UAAsB;IAEtB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC;IAC7B,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC3C,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
@ -2,6 +2,7 @@
|
||||
|
||||
import { FindUnits, Unit } from "./index.js";
|
||||
import * as messages from "./messages/messages.js";
|
||||
// import { HeaterType } from "./messages/set-heater.js";
|
||||
|
||||
const example = async () => {
|
||||
console.log("searching...");
|
||||
@ -80,7 +81,7 @@ const example = async () => {
|
||||
// console.log("got response:", JSON.stringify(resp, null, 2));
|
||||
|
||||
// console.log("sending Set Heatmode request...");
|
||||
// resp = await unit.send(messages.SetHeatMode("B1202", true));
|
||||
// resp = await unit.send(messages.SetHeatMode("B1202", HeaterType.MasterTemp));
|
||||
// console.log("got response:", JSON.stringify(resp, null, 2));
|
||||
|
||||
unit.close();
|
||||
|
@ -1,20 +1,36 @@
|
||||
import { ICParam } from "./param.js";
|
||||
import { GetRequest, ICRequest, ICRequestObj } from "./request.js";
|
||||
|
||||
export enum HeaterType {
|
||||
NoChange,
|
||||
Off,
|
||||
Heater,
|
||||
SolarOnly,
|
||||
SolarPreferred,
|
||||
UltraTemp,
|
||||
UltraTempPreferred,
|
||||
HybridGas,
|
||||
HybridUltraTemp,
|
||||
HybridHybrid,
|
||||
HybridDual,
|
||||
MasterTemp,
|
||||
MaxETherm,
|
||||
ETI250,
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests to turn a body's heater on or off.
|
||||
*
|
||||
* This is very WIP. For my pool and my heater configuration, the MODE needs to be 11 to enable my
|
||||
* heater and 1 to disable all heaters. I have a feeling 11 is unique to my system's configuration,
|
||||
* but I can't yet determine how to know what 11 maps to in order to make this more generic.
|
||||
*
|
||||
* Note that this doesn't necessarily start heating the body by itself - if the body's pump is
|
||||
* currently off, enabling the heater will not turn it on. If the pump/body is on, then this will
|
||||
* enable the heater and no further action is required.
|
||||
*
|
||||
* @returns the object used to issue this request
|
||||
*/
|
||||
export function SetHeatMode(bodyObjnam: string, enabled: boolean): ICRequest {
|
||||
export function SetHeatMode(
|
||||
bodyObjnam: string,
|
||||
heaterType: HeaterType,
|
||||
): ICRequest {
|
||||
const req = GetRequest();
|
||||
req.command = "SetParamList";
|
||||
req.objectList = [];
|
||||
@ -22,7 +38,7 @@ export function SetHeatMode(bodyObjnam: string, enabled: boolean): ICRequest {
|
||||
const reqObj = new ICRequestObj();
|
||||
reqObj.objnam = bodyObjnam;
|
||||
reqObj.params = new ICParam();
|
||||
reqObj.params.MODE = enabled ? "11" : "1";
|
||||
reqObj.params.MODE = heaterType.toString();
|
||||
req.objectList.push(reqObj);
|
||||
|
||||
return req;
|
||||
|
Reference in New Issue
Block a user