@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
330 lines • 14.7 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeviceListResponse = exports.GoveeAPIDevice = exports.DeviceExtensionProperties = exports.DeviceExternalResources = exports.DeviceData = exports.DeviceSettings = void 0;
const class_transformer_1 = require("class-transformer");
const json_stringify_safe_1 = __importDefault(require("json-stringify-safe"));
const govee_api_models_1 = require("../../govee-api.models");
const _ultimate_govee_common_1 = require("../../../../common");
class DeviceSettings {
}
exports.DeviceSettings = DeviceSettings;
__decorate([
(0, class_transformer_1.Expose)({ name: 'wifiName' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "wifiName", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'wifiMac' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "wifiMacAddress", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'bleName' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "bleName", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'topic' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "topic", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'address' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "bleAddress", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'pactType' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "pactType", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'pactCode' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "pactCode", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'boilWaterCompletedNotiOnOff' }),
_ultimate_govee_common_1.TransformBoolean,
(0, class_transformer_1.Transform)(({ value }) => (value === undefined ? undefined : `${value ? '1' : '0'}`), {
toPlainOnly: true,
}),
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "notifyWaterBoiling", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'completionNotiOnOff' }),
_ultimate_govee_common_1.TransformBoolean,
(0, class_transformer_1.Transform)(({ value }) => (value === undefined ? undefined : `${value ? '1' : '0'}`), {
toPlainOnly: true,
}),
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "notifyComplete", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'autoShutDownOnOff' }),
_ultimate_govee_common_1.TransformBoolean,
(0, class_transformer_1.Transform)(({ value }) => (value === undefined ? undefined : `${value ? '1' : '0'}`), {
toPlainOnly: true,
}),
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "automaticShutDown", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'filterExpireOnOff' }),
_ultimate_govee_common_1.TransformBoolean,
(0, class_transformer_1.Transform)(({ value }) => (value === undefined ? undefined : `${value ? '1' : '0'}`), {
toPlainOnly: true,
}),
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "filterExpired", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'playState' }),
_ultimate_govee_common_1.TransformBoolean,
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "playState", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'wifiSoftVersion' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "wifiSoftVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'wifiHardVersion' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "wifiHardwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'versionHard' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "hardwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'versionSoft' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "softwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'ic' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "ic", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'secretCode' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "secretCode", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'device' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "deviceId", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'deviceName' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "deviceName", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sku' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "model", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'waterShortageOnOff' }),
_ultimate_govee_common_1.TransformBoolean,
(0, class_transformer_1.Transform)(({ value }) => (value === undefined ? undefined : `${value ? '1' : '0'}`), {
toPlainOnly: true,
}),
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "waterShortage", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'battery' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "batteryLevel", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'humMax' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "maxHumidity", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'humMin' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "minHumidity", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'humCali' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "Calibration", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'humWarning' }),
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "humidityWarning", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'temMax' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "maxTemperature", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'temMin' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "minTemperature", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'temCali' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "temperatureCalibration", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'temWarning' }),
__metadata("design:type", Boolean)
], DeviceSettings.prototype, "temperatureWarning", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'uploadRate' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "uploadRate", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'bdType' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "bdType", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'mcuSoftVersion' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "mcuSoftwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'mcuHardVersion' }),
__metadata("design:type", String)
], DeviceSettings.prototype, "mcuHardwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'time' }),
__metadata("design:type", Number)
], DeviceSettings.prototype, "time", void 0);
class DeviceData {
}
exports.DeviceData = DeviceData;
__decorate([
(0, class_transformer_1.Expose)({ name: 'online' }),
_ultimate_govee_common_1.TransformBoolean,
__metadata("design:type", Boolean)
], DeviceData.prototype, "isOnline", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'isOnOff' }),
_ultimate_govee_common_1.TransformBoolean,
__metadata("design:type", Boolean)
], DeviceData.prototype, "isOn", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'bind' }),
_ultimate_govee_common_1.TransformBoolean,
__metadata("design:type", Boolean)
], DeviceData.prototype, "bind", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'tem' }),
__metadata("design:type", Number)
], DeviceData.prototype, "currentTemperature", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'hum' }),
__metadata("design:type", Number)
], DeviceData.prototype, "currentHumditity", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'lastTime' }),
__metadata("design:type", Number)
], DeviceData.prototype, "lastReportTimestamp", void 0);
class DeviceExternalResources {
}
exports.DeviceExternalResources = DeviceExternalResources;
__decorate([
(0, class_transformer_1.Expose)({ name: 'skuImageUrl' }),
__metadata("design:type", String)
], DeviceExternalResources.prototype, "imageUrl", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'onImageUrl' }),
__metadata("design:type", String)
], DeviceExternalResources.prototype, "onImageUrl", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'offImageUrl' }),
__metadata("design:type", String)
], DeviceExternalResources.prototype, "offImageUrl", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'ext' }),
__metadata("design:type", String)
], DeviceExternalResources.prototype, "ext", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'ic' }),
__metadata("design:type", Number)
], DeviceExternalResources.prototype, "ic", void 0);
class DeviceExtensionProperties {
}
exports.DeviceExtensionProperties = DeviceExtensionProperties;
__decorate([
(0, class_transformer_1.Expose)({ name: 'deviceSettings' }),
(0, class_transformer_1.Transform)(({ value }) => (0, class_transformer_1.plainToInstance)(DeviceSettings, JSON.parse(value)), { toClassOnly: true }),
(0, class_transformer_1.Transform)(({ value }) => (0, json_stringify_safe_1.default)((0, class_transformer_1.instanceToPlain)(value)), {
toPlainOnly: true,
}),
__metadata("design:type", DeviceSettings)
], DeviceExtensionProperties.prototype, "deviceSettings", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'lastDeviceData' }),
(0, class_transformer_1.Transform)(({ value }) => (0, class_transformer_1.plainToInstance)(DeviceData, JSON.parse(value)), {
toClassOnly: true,
}),
(0, class_transformer_1.Transform)(({ value }) => (0, json_stringify_safe_1.default)((0, class_transformer_1.instanceToPlain)(value)), {
toPlainOnly: true,
}),
__metadata("design:type", DeviceData)
], DeviceExtensionProperties.prototype, "deviceData", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'extResources' }),
(0, class_transformer_1.Transform)(({ value }) => (0, class_transformer_1.plainToInstance)(DeviceExternalResources, JSON.parse(value)), { toClassOnly: true }),
(0, class_transformer_1.Transform)(({ value }) => (0, json_stringify_safe_1.default)((0, class_transformer_1.instanceToPlain)(value)), {
toPlainOnly: true,
}),
__metadata("design:type", DeviceExternalResources)
], DeviceExtensionProperties.prototype, "externalResources", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'subDevice' }),
__metadata("design:type", String)
], DeviceExtensionProperties.prototype, "subDevice", void 0);
class GoveeAPIDevice {
}
exports.GoveeAPIDevice = GoveeAPIDevice;
__decorate([
(0, class_transformer_1.Expose)({ name: 'groupId' }),
__metadata("design:type", Number)
], GoveeAPIDevice.prototype, "groupId", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'device' }),
__metadata("design:type", String)
], GoveeAPIDevice.prototype, "device", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sku' }),
__metadata("design:type", String)
], GoveeAPIDevice.prototype, "sku", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'spec' }),
__metadata("design:type", String)
], GoveeAPIDevice.prototype, "spec", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'versionHard' }),
__metadata("design:type", String)
], GoveeAPIDevice.prototype, "verionHard", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'versionSoft' }),
__metadata("design:type", String)
], GoveeAPIDevice.prototype, "versionSoft", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'deviceName' }),
__metadata("design:type", String)
], GoveeAPIDevice.prototype, "deviceName", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'pactType' }),
__metadata("design:type", Number)
], GoveeAPIDevice.prototype, "pactType", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'pactCode' }),
__metadata("design:type", Number)
], GoveeAPIDevice.prototype, "pactCode", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'goodsType' }),
__metadata("design:type", Number)
], GoveeAPIDevice.prototype, "goodsType", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'deviceExt' }),
(0, class_transformer_1.Type)(() => DeviceExtensionProperties),
__metadata("design:type", DeviceExtensionProperties)
], GoveeAPIDevice.prototype, "deviceExt", void 0);
class DeviceListResponse extends govee_api_models_1.GoveeAPIResponse {
}
exports.DeviceListResponse = DeviceListResponse;
__decorate([
(0, class_transformer_1.Expose)({ name: 'devices' }),
(0, class_transformer_1.Type)(() => GoveeAPIDevice),
__metadata("design:type", Array)
], DeviceListResponse.prototype, "devices", void 0);
//# sourceMappingURL=device-list.response.js.map