homebridge-rinnai-touch-platform
Version:
Homebridge Plugin to control heating/cooling via a Rinnai Touch WiFi Module
41 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Message = void 0;
class Message {
constructor(message) {
try {
const messageString = (message instanceof Buffer)
? message.toString()
: message;
if (messageString.substring(0, 1) !== 'N') {
return;
}
const start = messageString.lastIndexOf('[') - 6;
if (start < 0) {
return;
}
this._sequence = parseInt(messageString.substring(start, start + 6));
this._status = messageString.substring(start + 6);
}
catch (_a) {
this._sequence = undefined;
this._status = undefined;
}
}
get sequence() {
return this._sequence;
}
get status() {
return this._status;
}
get isValid() {
return this._sequence !== undefined && this._status !== undefined;
}
toString() {
return this.isValid
? `${this._sequence}:${this._status}`
: 'invalid';
}
}
exports.Message = Message;
//# sourceMappingURL=Message.js.map