Add support for reading unit history data
unit.getHistoryData(fromTime, toTime) will request data about sensor and circuit changes over time, then `getHistoryData` will be emitted when the data is ready to be handled. Fixes #59
This commit is contained in:
13
index.js
13
index.js
@ -319,6 +319,11 @@ class UnitConnection extends EventEmitter {
|
||||
this.client.write(new messages.SLSetSystemTime(null, date, shouldAdjustForDST, senderId).toBuffer());
|
||||
}
|
||||
|
||||
getHistoryData(fromTime, toTime, senderId) {
|
||||
debugUnit('[%d] requesting history data from `%s` to `%s`', senderId || 0, fromTime || new Date(), toTime || new Date());
|
||||
this.client.write(new messages.SLGetHistoryData(null, fromTime, toTime, senderId).toBuffer());
|
||||
}
|
||||
|
||||
onClientMessage(msg) {
|
||||
debugUnit('received message of length %d', msg.length);
|
||||
if (msg.length < 4) {
|
||||
@ -432,6 +437,14 @@ class UnitConnection extends EventEmitter {
|
||||
debugUnit(" it's a set system time ack");
|
||||
this.emit('setSystemTime', new messages.SLSetSystemTime(msg));
|
||||
break;
|
||||
case messages.SLGetHistoryData.getResponseId():
|
||||
debugUnit(" it's a history data query ack");
|
||||
this.emit('getHistoryDataPending');
|
||||
break;
|
||||
case messages.SLGetHistoryData.getPayloadId():
|
||||
debugUnit(" it's a history data payload");
|
||||
this.emit('getHistoryData', new messages.SLGetHistoryData(msg));
|
||||
break;
|
||||
case 12501:
|
||||
debugUnit(" it's a schedule changed notification");
|
||||
this.emit('scheduleChanged');
|
||||
|
Reference in New Issue
Block a user