UNPKG

lavva.exalushome.extalife

Version:

Library implementing communication and abstraction layers for ExtaLife API in ExalusHome system

67 lines 3.19 kB
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