Schedule Editing Additions (#24)

* Added support for: adding schedule events, deleting schedule events, listing schedule events and updating scheduled events
This commit is contained in:
Bruce Sheplan
2020-06-03 22:07:33 -05:00
committed by GitHub
parent def2d8aad4
commit 9c72e7b61d
6 changed files with 190 additions and 0 deletions

View File

@ -232,6 +232,23 @@ class UnitConnection extends EventEmitter {
this.client.write(new messages.SLSetSaltCellConfigMessage(controllerId, poolOutput, spaOutput).toBuffer());
}
getScheduleData(scheduleType) {
this.client.write(new messages.SLGetScheduleData(null, scheduleType).toBuffer());
}
addNewScheduleEvent(scheduleType) {
this.client.write(new messages.SLAddNewScheduleEvent(null, scheduleType).toBuffer());
}
deleteScheduleEventById(scheduleId) {
this.client.write(new messages.SLDeleteScheduleEventById(scheduleId).toBuffer());
}
setScheduleEventById(scheduleId, circuitId, startTime, stopTime, dayMask, flags, heatCmd, heatSetPoint) {
this.client.write(new messages.SLSetScheduleEventById(null, scheduleId, circuitId, startTime, stopTime,
dayMask, flags, heatCmd, heatSetPoint).toBuffer());
}
onClientMessage(msg) {
// console.log('received message of length ' + msg.length);
if (msg.length < 4) {
@ -292,6 +309,18 @@ class UnitConnection extends EventEmitter {
case messages.SLEquipmentConfigurationMessage.getResponseId():
this.emit('equipmentConfiguration', new messages.SLEquipmentConfigurationMessage(msg));
break;
case messages.SLGetScheduleData.getResponseId():
this.emit('getScheduleData', new messages.SLGetScheduleData(msg));
break;
case messages.SLAddNewScheduleEvent.getResponseId():
this.emit('addNewScheduleEvent', new messages.SLAddNewScheduleEvent(msg));
break;
case messages.SLDeleteScheduleEventById.getResponseId():
this.emit('deleteScheduleEventById', new messages.SLDeleteScheduleEventById(msg));
break;
case messages.SLSetScheduleEventById.getResponseId():
this.emit('setScheduleEventById', new messages.SLSetScheduleEventById(msg));
break;
case 13:
// console.log(" it's a login failure.");
this.emit('loginFailed');