lavva.exalushome.extalife
Version:
Library implementing communication and abstraction layers for ExtaLife API in ExalusHome system
67 lines • 3.19 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { Api } from 'lavva.exalushome';
import { DataFrame, Method, Status } from 'lavva.exalushome/build/js/DataFrame';
import { ExalusConnectionService } from 'lavva.exalushome/build/js/Services/ExalusConnectionService';
import { ResponseResult } from 'lavva.exalushome/build/js/Services/FieldChangeResult';
import { GetParamsErrorCode } from '../../../ExtaLife';
export class FirmwareService {
constructor() {
this._connection = null;
this._connection = Api.Get(ExalusConnectionService.ServiceName);
}
GetServiceName() {
return FirmwareService.ServiceName;
}
GetFirmwareVersionAsync(device) {
return __awaiter(this, void 0, void 0, function* () {
var _a;
const result = yield ((_a = this._connection) === null || _a === void 0 ? void 0 : _a.SendAndWaitForResponseAsync(new GetFirmwareVersion(device.Guid), 35000, false));
if (result === null || result === undefined)
return new ResponseResult(GetParamsErrorCode.UnknownError, `Failed to retrieve firmware version - unknow error.`);
switch (result.Status) {
case Status.OK:
if (result.Data != null) {
const fv = new FirmwareVersion();
fv.Major = result.Data.Major;
fv.Minor = result.Data.Minor;
fv.Revision = result.Data.Revision;
fv.Build = result.Data.Build;
return fv;
}
break;
case Status.Error:
return new ResponseResult(GetParamsErrorCode.UnknownError, `Failed to retrieve firmware version - unknow error.`);
}
return new ResponseResult(GetParamsErrorCode.OtherError, `Failed to retrieve firmware version, response error: ${result.Status} data: ${result.Data}`);
});
}
}
FirmwareService.ServiceName = "FirmwareService";
export class FirmwareVersion {
constructor() {
this.Revision = 0;
this.Build = 0;
this.Minor = 0;
this.Major = 0;
}
ToString() {
return `${this.Major}.${this.Minor}.${this.Build}.${this.Revision}`;
}
}
class GetFirmwareVersion extends DataFrame {
constructor(data) {
super();
this.Resource = "/extalife/device/firmware/version/complete";
this.Method = Method.Get;
this.Data = data;
}
}
//# sourceMappingURL=FirmwareService.js.map