bigassfans
Version: 
A library for discovering and controlling BigAssFans
1,308 lines • 156 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WallControlConfiguration = exports.Network = exports.Property = exports.RemoteCommandData = exports.SystemAction = exports.Query = exports.Update = exports.Job = exports.Payload = exports.ApiMessage = exports.scheduleJob_ActionToJSON = exports.scheduleJob_ActionFromJSON = exports.ScheduleJob_Action = exports.standbyLed_ColorPresetToJSON = exports.standbyLed_ColorPresetFromJSON = exports.StandbyLed_ColorPreset = exports.wallControlConfiguration_FunctionToJSON = exports.wallControlConfiguration_FunctionFromJSON = exports.WallControlConfiguration_Function = exports.systemAction_CommandToJSON = exports.systemAction_CommandFromJSON = exports.SystemAction_Command = exports.query_TypeToJSON = exports.query_TypeFromJSON = exports.Query_Type = exports.externalDeviceTypeToJSON = exports.externalDeviceTypeFromJSON = exports.ExternalDeviceType = exports.firmwareTypeToJSON = exports.firmwareTypeFromJSON = exports.FirmwareType = exports.assistWithToJSON = exports.assistWithFromJSON = exports.AssistWith = exports.rebootReasonToJSON = exports.rebootReasonFromJSON = exports.RebootReason = exports.dayToJSON = exports.dayFromJSON = exports.Day = exports.multipleLightModeToJSON = exports.multipleLightModeFromJSON = exports.MultipleLightMode = exports.operatingModeToJSON = exports.operatingModeFromJSON = exports.OperatingMode = exports.directionToJSON = exports.directionFromJSON = exports.Direction = exports.protobufPackage = void 0;
exports.ScheduleJob_Schedule_ScheduleEvent = exports.ScheduleJob_Schedule = exports.ScheduleJob = exports.ScheduleProperty = exports.DeviceCapabilities = exports.StandbyLed = exports.GroupContainer = exports.ExternalDeviceVersion = exports.DetailedVersion = exports.DebugInfo = void 0;
/* eslint-disable */
const _m0 = __importStar(require("protobufjs/minimal"));
const Long = require("long");
exports.protobufPackage = "BigAssFans";
var Direction;
(function (Direction) {
    Direction[Direction["Forward"] = 0] = "Forward";
    Direction[Direction["Reverse"] = 1] = "Reverse";
})(Direction || (exports.Direction = Direction = {}));
function directionFromJSON(object) {
    switch (object) {
        case 0:
        case "Forward":
            return Direction.Forward;
        case 1:
        case "Reverse":
            return Direction.Reverse;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum Direction");
    }
}
exports.directionFromJSON = directionFromJSON;
function directionToJSON(object) {
    switch (object) {
        case Direction.Forward:
            return "Forward";
        case Direction.Reverse:
            return "Reverse";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum Direction");
    }
}
exports.directionToJSON = directionToJSON;
var OperatingMode;
(function (OperatingMode) {
    OperatingMode[OperatingMode["Off"] = 0] = "Off";
    OperatingMode[OperatingMode["On"] = 1] = "On";
    OperatingMode[OperatingMode["Auto"] = 2] = "Auto";
})(OperatingMode || (exports.OperatingMode = OperatingMode = {}));
function operatingModeFromJSON(object) {
    switch (object) {
        case 0:
        case "Off":
            return OperatingMode.Off;
        case 1:
        case "On":
            return OperatingMode.On;
        case 2:
        case "Auto":
            return OperatingMode.Auto;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum OperatingMode");
    }
}
exports.operatingModeFromJSON = operatingModeFromJSON;
function operatingModeToJSON(object) {
    switch (object) {
        case OperatingMode.Off:
            return "Off";
        case OperatingMode.On:
            return "On";
        case OperatingMode.Auto:
            return "Auto";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum OperatingMode");
    }
}
exports.operatingModeToJSON = operatingModeToJSON;
var MultipleLightMode;
(function (MultipleLightMode) {
    MultipleLightMode[MultipleLightMode["AllLights"] = 0] = "AllLights";
    MultipleLightMode[MultipleLightMode["Downlight"] = 1] = "Downlight";
    MultipleLightMode[MultipleLightMode["Uplight"] = 2] = "Uplight";
})(MultipleLightMode || (exports.MultipleLightMode = MultipleLightMode = {}));
function multipleLightModeFromJSON(object) {
    switch (object) {
        case 0:
        case "AllLights":
            return MultipleLightMode.AllLights;
        case 1:
        case "Downlight":
            return MultipleLightMode.Downlight;
        case 2:
        case "Uplight":
            return MultipleLightMode.Uplight;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum MultipleLightMode");
    }
}
exports.multipleLightModeFromJSON = multipleLightModeFromJSON;
function multipleLightModeToJSON(object) {
    switch (object) {
        case MultipleLightMode.AllLights:
            return "AllLights";
        case MultipleLightMode.Downlight:
            return "Downlight";
        case MultipleLightMode.Uplight:
            return "Uplight";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum MultipleLightMode");
    }
}
exports.multipleLightModeToJSON = multipleLightModeToJSON;
var Day;
(function (Day) {
    Day[Day["NoDay"] = 0] = "NoDay";
    Day[Day["Sunday"] = 1] = "Sunday";
    Day[Day["Monday"] = 2] = "Monday";
    Day[Day["Tuesday"] = 3] = "Tuesday";
    Day[Day["Wednesday"] = 4] = "Wednesday";
    Day[Day["Thursday"] = 5] = "Thursday";
    Day[Day["Friday"] = 6] = "Friday";
    Day[Day["Saturday"] = 7] = "Saturday";
})(Day || (exports.Day = Day = {}));
function dayFromJSON(object) {
    switch (object) {
        case 0:
        case "NoDay":
            return Day.NoDay;
        case 1:
        case "Sunday":
            return Day.Sunday;
        case 2:
        case "Monday":
            return Day.Monday;
        case 3:
        case "Tuesday":
            return Day.Tuesday;
        case 4:
        case "Wednesday":
            return Day.Wednesday;
        case 5:
        case "Thursday":
            return Day.Thursday;
        case 6:
        case "Friday":
            return Day.Friday;
        case 7:
        case "Saturday":
            return Day.Saturday;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum Day");
    }
}
exports.dayFromJSON = dayFromJSON;
function dayToJSON(object) {
    switch (object) {
        case Day.NoDay:
            return "NoDay";
        case Day.Sunday:
            return "Sunday";
        case Day.Monday:
            return "Monday";
        case Day.Tuesday:
            return "Tuesday";
        case Day.Wednesday:
            return "Wednesday";
        case Day.Thursday:
            return "Thursday";
        case Day.Friday:
            return "Friday";
        case Day.Saturday:
            return "Saturday";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum Day");
    }
}
exports.dayToJSON = dayToJSON;
var RebootReason;
(function (RebootReason) {
    RebootReason[RebootReason["Unknown"] = 0] = "Unknown";
    RebootReason[RebootReason["Other"] = 1] = "Other";
    RebootReason[RebootReason["PowerOn"] = 2] = "PowerOn";
    RebootReason[RebootReason["Software"] = 3] = "Software";
    RebootReason[RebootReason["IndependentWatchdog"] = 4] = "IndependentWatchdog";
    RebootReason[RebootReason["TaskWatchdog"] = 5] = "TaskWatchdog";
    RebootReason[RebootReason["BrownOut"] = 6] = "BrownOut";
    RebootReason[RebootReason["LowPower"] = 7] = "LowPower";
    RebootReason[RebootReason["Lockup"] = 8] = "Lockup";
    RebootReason[RebootReason["Pin"] = 9] = "Pin";
})(RebootReason || (exports.RebootReason = RebootReason = {}));
function rebootReasonFromJSON(object) {
    switch (object) {
        case 0:
        case "Unknown":
            return RebootReason.Unknown;
        case 1:
        case "Other":
            return RebootReason.Other;
        case 2:
        case "PowerOn":
            return RebootReason.PowerOn;
        case 3:
        case "Software":
            return RebootReason.Software;
        case 4:
        case "IndependentWatchdog":
            return RebootReason.IndependentWatchdog;
        case 5:
        case "TaskWatchdog":
            return RebootReason.TaskWatchdog;
        case 6:
        case "BrownOut":
            return RebootReason.BrownOut;
        case 7:
        case "LowPower":
            return RebootReason.LowPower;
        case 8:
        case "Lockup":
            return RebootReason.Lockup;
        case 9:
        case "Pin":
            return RebootReason.Pin;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum RebootReason");
    }
}
exports.rebootReasonFromJSON = rebootReasonFromJSON;
function rebootReasonToJSON(object) {
    switch (object) {
        case RebootReason.Unknown:
            return "Unknown";
        case RebootReason.Other:
            return "Other";
        case RebootReason.PowerOn:
            return "PowerOn";
        case RebootReason.Software:
            return "Software";
        case RebootReason.IndependentWatchdog:
            return "IndependentWatchdog";
        case RebootReason.TaskWatchdog:
            return "TaskWatchdog";
        case RebootReason.BrownOut:
            return "BrownOut";
        case RebootReason.LowPower:
            return "LowPower";
        case RebootReason.Lockup:
            return "Lockup";
        case RebootReason.Pin:
            return "Pin";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum RebootReason");
    }
}
exports.rebootReasonToJSON = rebootReasonToJSON;
var AssistWith;
(function (AssistWith) {
    AssistWith[AssistWith["Nothing"] = 0] = "Nothing";
    AssistWith[AssistWith["Heating"] = 1] = "Heating";
    AssistWith[AssistWith["Cooling"] = 2] = "Cooling";
    AssistWith[AssistWith["All"] = 3] = "All";
})(AssistWith || (exports.AssistWith = AssistWith = {}));
function assistWithFromJSON(object) {
    switch (object) {
        case 0:
        case "Nothing":
            return AssistWith.Nothing;
        case 1:
        case "Heating":
            return AssistWith.Heating;
        case 2:
        case "Cooling":
            return AssistWith.Cooling;
        case 3:
        case "All":
            return AssistWith.All;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum AssistWith");
    }
}
exports.assistWithFromJSON = assistWithFromJSON;
function assistWithToJSON(object) {
    switch (object) {
        case AssistWith.Nothing:
            return "Nothing";
        case AssistWith.Heating:
            return "Heating";
        case AssistWith.Cooling:
            return "Cooling";
        case AssistWith.All:
            return "All";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum AssistWith");
    }
}
exports.assistWithToJSON = assistWithToJSON;
var FirmwareType;
(function (FirmwareType) {
    FirmwareType[FirmwareType["Host"] = 0] = "Host";
    FirmwareType[FirmwareType["Wifi"] = 1] = "Wifi";
    FirmwareType[FirmwareType["Light"] = 2] = "Light";
    FirmwareType[FirmwareType["Motor"] = 3] = "Motor";
})(FirmwareType || (exports.FirmwareType = FirmwareType = {}));
function firmwareTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "Host":
            return FirmwareType.Host;
        case 1:
        case "Wifi":
            return FirmwareType.Wifi;
        case 2:
        case "Light":
            return FirmwareType.Light;
        case 3:
        case "Motor":
            return FirmwareType.Motor;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum FirmwareType");
    }
}
exports.firmwareTypeFromJSON = firmwareTypeFromJSON;
function firmwareTypeToJSON(object) {
    switch (object) {
        case FirmwareType.Host:
            return "Host";
        case FirmwareType.Wifi:
            return "Wifi";
        case FirmwareType.Light:
            return "Light";
        case FirmwareType.Motor:
            return "Motor";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum FirmwareType");
    }
}
exports.firmwareTypeToJSON = firmwareTypeToJSON;
var ExternalDeviceType;
(function (ExternalDeviceType) {
    ExternalDeviceType[ExternalDeviceType["BleRemote"] = 0] = "BleRemote";
    ExternalDeviceType[ExternalDeviceType["BleWallControl"] = 1] = "BleWallControl";
    ExternalDeviceType[ExternalDeviceType["UnknownDevice"] = 2] = "UnknownDevice";
})(ExternalDeviceType || (exports.ExternalDeviceType = ExternalDeviceType = {}));
function externalDeviceTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "BleRemote":
            return ExternalDeviceType.BleRemote;
        case 1:
        case "BleWallControl":
            return ExternalDeviceType.BleWallControl;
        case 2:
        case "UnknownDevice":
            return ExternalDeviceType.UnknownDevice;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum ExternalDeviceType");
    }
}
exports.externalDeviceTypeFromJSON = externalDeviceTypeFromJSON;
function externalDeviceTypeToJSON(object) {
    switch (object) {
        case ExternalDeviceType.BleRemote:
            return "BleRemote";
        case ExternalDeviceType.BleWallControl:
            return "BleWallControl";
        case ExternalDeviceType.UnknownDevice:
            return "UnknownDevice";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum ExternalDeviceType");
    }
}
exports.externalDeviceTypeToJSON = externalDeviceTypeToJSON;
var Query_Type;
(function (Query_Type) {
    Query_Type[Query_Type["All"] = 0] = "All";
    Query_Type[Query_Type["Fan"] = 1] = "Fan";
    Query_Type[Query_Type["Light"] = 2] = "Light";
    Query_Type[Query_Type["Device"] = 3] = "Device";
    Query_Type[Query_Type["Network"] = 4] = "Network";
    Query_Type[Query_Type["Schedules"] = 5] = "Schedules";
    Query_Type[Query_Type["Sensor"] = 6] = "Sensor";
})(Query_Type || (exports.Query_Type = Query_Type = {}));
function query_TypeFromJSON(object) {
    switch (object) {
        case 0:
        case "All":
            return Query_Type.All;
        case 1:
        case "Fan":
            return Query_Type.Fan;
        case 2:
        case "Light":
            return Query_Type.Light;
        case 3:
        case "Device":
            return Query_Type.Device;
        case 4:
        case "Network":
            return Query_Type.Network;
        case 5:
        case "Schedules":
            return Query_Type.Schedules;
        case 6:
        case "Sensor":
            return Query_Type.Sensor;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum Query_Type");
    }
}
exports.query_TypeFromJSON = query_TypeFromJSON;
function query_TypeToJSON(object) {
    switch (object) {
        case Query_Type.All:
            return "All";
        case Query_Type.Fan:
            return "Fan";
        case Query_Type.Light:
            return "Light";
        case Query_Type.Device:
            return "Device";
        case Query_Type.Network:
            return "Network";
        case Query_Type.Schedules:
            return "Schedules";
        case Query_Type.Sensor:
            return "Sensor";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum Query_Type");
    }
}
exports.query_TypeToJSON = query_TypeToJSON;
var SystemAction_Command;
(function (SystemAction_Command) {
    SystemAction_Command[SystemAction_Command["NoAction"] = 0] = "NoAction";
    SystemAction_Command[SystemAction_Command["Reboot"] = 2] = "Reboot";
    SystemAction_Command[SystemAction_Command["StartAudibleSignal"] = 4] = "StartAudibleSignal";
    SystemAction_Command[SystemAction_Command["StartVisibleSignal"] = 5] = "StartVisibleSignal";
    SystemAction_Command[SystemAction_Command["ForgetRemote"] = 8] = "ForgetRemote";
    SystemAction_Command[SystemAction_Command["ResumeFanMode"] = 11] = "ResumeFanMode";
    SystemAction_Command[SystemAction_Command["ResumeLightMode"] = 12] = "ResumeLightMode";
})(SystemAction_Command || (exports.SystemAction_Command = SystemAction_Command = {}));
function systemAction_CommandFromJSON(object) {
    switch (object) {
        case 0:
        case "NoAction":
            return SystemAction_Command.NoAction;
        case 2:
        case "Reboot":
            return SystemAction_Command.Reboot;
        case 4:
        case "StartAudibleSignal":
            return SystemAction_Command.StartAudibleSignal;
        case 5:
        case "StartVisibleSignal":
            return SystemAction_Command.StartVisibleSignal;
        case 8:
        case "ForgetRemote":
            return SystemAction_Command.ForgetRemote;
        case 11:
        case "ResumeFanMode":
            return SystemAction_Command.ResumeFanMode;
        case 12:
        case "ResumeLightMode":
            return SystemAction_Command.ResumeLightMode;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum SystemAction_Command");
    }
}
exports.systemAction_CommandFromJSON = systemAction_CommandFromJSON;
function systemAction_CommandToJSON(object) {
    switch (object) {
        case SystemAction_Command.NoAction:
            return "NoAction";
        case SystemAction_Command.Reboot:
            return "Reboot";
        case SystemAction_Command.StartAudibleSignal:
            return "StartAudibleSignal";
        case SystemAction_Command.StartVisibleSignal:
            return "StartVisibleSignal";
        case SystemAction_Command.ForgetRemote:
            return "ForgetRemote";
        case SystemAction_Command.ResumeFanMode:
            return "ResumeFanMode";
        case SystemAction_Command.ResumeLightMode:
            return "ResumeLightMode";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum SystemAction_Command");
    }
}
exports.systemAction_CommandToJSON = systemAction_CommandToJSON;
var WallControlConfiguration_Function;
(function (WallControlConfiguration_Function) {
    WallControlConfiguration_Function[WallControlConfiguration_Function["NoFunction"] = 0] = "NoFunction";
    WallControlConfiguration_Function[WallControlConfiguration_Function["LightLevel"] = 1] = "LightLevel";
    WallControlConfiguration_Function[WallControlConfiguration_Function["LightColor"] = 2] = "LightColor";
    WallControlConfiguration_Function[WallControlConfiguration_Function["FanSpeed"] = 3] = "FanSpeed";
})(WallControlConfiguration_Function || (exports.WallControlConfiguration_Function = WallControlConfiguration_Function = {}));
function wallControlConfiguration_FunctionFromJSON(object) {
    switch (object) {
        case 0:
        case "NoFunction":
            return WallControlConfiguration_Function.NoFunction;
        case 1:
        case "LightLevel":
            return WallControlConfiguration_Function.LightLevel;
        case 2:
        case "LightColor":
            return WallControlConfiguration_Function.LightColor;
        case 3:
        case "FanSpeed":
            return WallControlConfiguration_Function.FanSpeed;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum WallControlConfiguration_Function");
    }
}
exports.wallControlConfiguration_FunctionFromJSON = wallControlConfiguration_FunctionFromJSON;
function wallControlConfiguration_FunctionToJSON(object) {
    switch (object) {
        case WallControlConfiguration_Function.NoFunction:
            return "NoFunction";
        case WallControlConfiguration_Function.LightLevel:
            return "LightLevel";
        case WallControlConfiguration_Function.LightColor:
            return "LightColor";
        case WallControlConfiguration_Function.FanSpeed:
            return "FanSpeed";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum WallControlConfiguration_Function");
    }
}
exports.wallControlConfiguration_FunctionToJSON = wallControlConfiguration_FunctionToJSON;
var StandbyLed_ColorPreset;
(function (StandbyLed_ColorPreset) {
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Custom"] = 0] = "Custom";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Red"] = 1] = "Red";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Green"] = 2] = "Green";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Blue"] = 3] = "Blue";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Teal"] = 4] = "Teal";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Yellow"] = 5] = "Yellow";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Violet"] = 6] = "Violet";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["White"] = 7] = "White";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Orange"] = 8] = "Orange";
    StandbyLed_ColorPreset[StandbyLed_ColorPreset["Pink"] = 9] = "Pink";
})(StandbyLed_ColorPreset || (exports.StandbyLed_ColorPreset = StandbyLed_ColorPreset = {}));
function standbyLed_ColorPresetFromJSON(object) {
    switch (object) {
        case 0:
        case "Custom":
            return StandbyLed_ColorPreset.Custom;
        case 1:
        case "Red":
            return StandbyLed_ColorPreset.Red;
        case 2:
        case "Green":
            return StandbyLed_ColorPreset.Green;
        case 3:
        case "Blue":
            return StandbyLed_ColorPreset.Blue;
        case 4:
        case "Teal":
            return StandbyLed_ColorPreset.Teal;
        case 5:
        case "Yellow":
            return StandbyLed_ColorPreset.Yellow;
        case 6:
        case "Violet":
            return StandbyLed_ColorPreset.Violet;
        case 7:
        case "White":
            return StandbyLed_ColorPreset.White;
        case 8:
        case "Orange":
            return StandbyLed_ColorPreset.Orange;
        case 9:
        case "Pink":
            return StandbyLed_ColorPreset.Pink;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum StandbyLed_ColorPreset");
    }
}
exports.standbyLed_ColorPresetFromJSON = standbyLed_ColorPresetFromJSON;
function standbyLed_ColorPresetToJSON(object) {
    switch (object) {
        case StandbyLed_ColorPreset.Custom:
            return "Custom";
        case StandbyLed_ColorPreset.Red:
            return "Red";
        case StandbyLed_ColorPreset.Green:
            return "Green";
        case StandbyLed_ColorPreset.Blue:
            return "Blue";
        case StandbyLed_ColorPreset.Teal:
            return "Teal";
        case StandbyLed_ColorPreset.Yellow:
            return "Yellow";
        case StandbyLed_ColorPreset.Violet:
            return "Violet";
        case StandbyLed_ColorPreset.White:
            return "White";
        case StandbyLed_ColorPreset.Orange:
            return "Orange";
        case StandbyLed_ColorPreset.Pink:
            return "Pink";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum StandbyLed_ColorPreset");
    }
}
exports.standbyLed_ColorPresetToJSON = standbyLed_ColorPresetToJSON;
var ScheduleJob_Action;
(function (ScheduleJob_Action) {
    ScheduleJob_Action[ScheduleJob_Action["NoAction"] = 0] = "NoAction";
    ScheduleJob_Action[ScheduleJob_Action["Update"] = 1] = "Update";
    ScheduleJob_Action[ScheduleJob_Action["Remove"] = 2] = "Remove";
    ScheduleJob_Action[ScheduleJob_Action["Read"] = 3] = "Read";
})(ScheduleJob_Action || (exports.ScheduleJob_Action = ScheduleJob_Action = {}));
function scheduleJob_ActionFromJSON(object) {
    switch (object) {
        case 0:
        case "NoAction":
            return ScheduleJob_Action.NoAction;
        case 1:
        case "Update":
            return ScheduleJob_Action.Update;
        case 2:
        case "Remove":
            return ScheduleJob_Action.Remove;
        case 3:
        case "Read":
            return ScheduleJob_Action.Read;
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum ScheduleJob_Action");
    }
}
exports.scheduleJob_ActionFromJSON = scheduleJob_ActionFromJSON;
function scheduleJob_ActionToJSON(object) {
    switch (object) {
        case ScheduleJob_Action.NoAction:
            return "NoAction";
        case ScheduleJob_Action.Update:
            return "Update";
        case ScheduleJob_Action.Remove:
            return "Remove";
        case ScheduleJob_Action.Read:
            return "Read";
        default:
            throw new globalThis.Error("Unrecognized enum value " + object + " for enum ScheduleJob_Action");
    }
}
exports.scheduleJob_ActionToJSON = scheduleJob_ActionToJSON;
function createBaseApiMessage() {
    return { inner: undefined };
}
exports.ApiMessage = {
    encode(message, writer = _m0.Writer.create()) {
        if (message.inner !== undefined) {
            exports.Payload.encode(message.inner, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseApiMessage();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.inner = exports.Payload.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { inner: isSet(object.inner) ? exports.Payload.fromJSON(object.inner) : undefined };
    },
    toJSON(message) {
        const obj = {};
        if (message.inner !== undefined) {
            obj.inner = exports.Payload.toJSON(message.inner);
        }
        return obj;
    },
    create(base) {
        return exports.ApiMessage.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseApiMessage();
        message.inner = (object.inner !== undefined && object.inner !== null)
            ? exports.Payload.fromPartial(object.inner)
            : undefined;
        return message;
    },
};
function createBasePayload() {
    return { job: undefined, query: undefined, update: undefined };
}
exports.Payload = {
    encode(message, writer = _m0.Writer.create()) {
        if (message.job !== undefined) {
            exports.Job.encode(message.job, writer.uint32(18).fork()).ldelim();
        }
        if (message.query !== undefined) {
            exports.Query.encode(message.query, writer.uint32(26).fork()).ldelim();
        }
        if (message.update !== undefined) {
            exports.Update.encode(message.update, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBasePayload();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.job = exports.Job.decode(reader, reader.uint32());
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.query = exports.Query.decode(reader, reader.uint32());
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.update = exports.Update.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            job: isSet(object.job) ? exports.Job.fromJSON(object.job) : undefined,
            query: isSet(object.query) ? exports.Query.fromJSON(object.query) : undefined,
            update: isSet(object.update) ? exports.Update.fromJSON(object.update) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.job !== undefined) {
            obj.job = exports.Job.toJSON(message.job);
        }
        if (message.query !== undefined) {
            obj.query = exports.Query.toJSON(message.query);
        }
        if (message.update !== undefined) {
            obj.update = exports.Update.toJSON(message.update);
        }
        return obj;
    },
    create(base) {
        return exports.Payload.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBasePayload();
        message.job = (object.job !== undefined && object.job !== null) ? exports.Job.fromPartial(object.job) : undefined;
        message.query = (object.query !== undefined && object.query !== null) ? exports.Query.fromPartial(object.query) : undefined;
        message.update = (object.update !== undefined && object.update !== null)
            ? exports.Update.fromPartial(object.update)
            : undefined;
        return message;
    },
};
function createBaseJob() {
    return { systemAction: undefined, commands: [], scheduleJob: [] };
}
exports.Job = {
    encode(message, writer = _m0.Writer.create()) {
        if (message.systemAction !== undefined) {
            exports.SystemAction.encode(message.systemAction, writer.uint32(18).fork()).ldelim();
        }
        for (const v of message.commands) {
            exports.Property.encode(v, writer.uint32(26).fork()).ldelim();
        }
        for (const v of message.scheduleJob) {
            exports.ScheduleJob.encode(v, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseJob();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.systemAction = exports.SystemAction.decode(reader, reader.uint32());
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.commands.push(exports.Property.decode(reader, reader.uint32()));
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.scheduleJob.push(exports.ScheduleJob.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            systemAction: isSet(object.systemAction) ? exports.SystemAction.fromJSON(object.systemAction) : undefined,
            commands: globalThis.Array.isArray(object?.commands) ? object.commands.map((e) => exports.Property.fromJSON(e)) : [],
            scheduleJob: globalThis.Array.isArray(object?.scheduleJob)
                ? object.scheduleJob.map((e) => exports.ScheduleJob.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.systemAction !== undefined) {
            obj.systemAction = exports.SystemAction.toJSON(message.systemAction);
        }
        if (message.commands?.length) {
            obj.commands = message.commands.map((e) => exports.Property.toJSON(e));
        }
        if (message.scheduleJob?.length) {
            obj.scheduleJob = message.scheduleJob.map((e) => exports.ScheduleJob.toJSON(e));
        }
        return obj;
    },
    create(base) {
        return exports.Job.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseJob();
        message.systemAction = (object.systemAction !== undefined && object.systemAction !== null)
            ? exports.SystemAction.fromPartial(object.systemAction)
            : undefined;
        message.commands = object.commands?.map((e) => exports.Property.fromPartial(e)) || [];
        message.scheduleJob = object.scheduleJob?.map((e) => exports.ScheduleJob.fromPartial(e)) || [];
        return message;
    },
};
function createBaseUpdate() {
    return { properties: [], scheduleJob: undefined };
}
exports.Update = {
    encode(message, writer = _m0.Writer.create()) {
        for (const v of message.properties) {
            exports.Property.encode(v, writer.uint32(18).fork()).ldelim();
        }
        if (message.scheduleJob !== undefined) {
            exports.ScheduleJob.encode(message.scheduleJob, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseUpdate();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.properties.push(exports.Property.decode(reader, reader.uint32()));
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.scheduleJob = exports.ScheduleJob.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            properties: globalThis.Array.isArray(object?.properties)
                ? object.properties.map((e) => exports.Property.fromJSON(e))
                : [],
            scheduleJob: isSet(object.scheduleJob) ? exports.ScheduleJob.fromJSON(object.scheduleJob) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.properties?.length) {
            obj.properties = message.properties.map((e) => exports.Property.toJSON(e));
        }
        if (message.scheduleJob !== undefined) {
            obj.scheduleJob = exports.ScheduleJob.toJSON(message.scheduleJob);
        }
        return obj;
    },
    create(base) {
        return exports.Update.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUpdate();
        message.properties = object.properties?.map((e) => exports.Property.fromPartial(e)) || [];
        message.scheduleJob = (object.scheduleJob !== undefined && object.scheduleJob !== null)
            ? exports.ScheduleJob.fromPartial(object.scheduleJob)
            : undefined;
        return message;
    },
};
function createBaseQuery() {
    return { type: 0 };
}
exports.Query = {
    encode(message, writer = _m0.Writer.create()) {
        if (message.type !== 0) {
            writer.uint32(8).int32(message.type);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 8) {
                        break;
                    }
                    message.type = reader.int32();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { type: isSet(object.type) ? query_TypeFromJSON(object.type) : 0 };
    },
    toJSON(message) {
        const obj = {};
        if (message.type !== 0) {
            obj.type = query_TypeToJSON(message.type);
        }
        return obj;
    },
    create(base) {
        return exports.Query.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseQuery();
        message.type = object.type ?? 0;
        return message;
    },
};
function createBaseSystemAction() {
    return { command: 0, remoteData: undefined };
}
exports.SystemAction = {
    encode(message, writer = _m0.Writer.create()) {
        if (message.command !== 0) {
            writer.uint32(8).int32(message.command);
        }
        if (message.remoteData !== undefined) {
            exports.RemoteCommandData.encode(message.remoteData, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSystemAction();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 8) {
                        break;
                    }
                    message.command = reader.int32();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.remoteData = exports.RemoteCommandData.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            command: isSet(object.command) ? systemAction_CommandFromJSON(object.command) : 0,
            remoteData: isSet(object.remoteData) ? exports.RemoteCommandData.fromJSON(object.remoteData) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.command !== 0) {
            obj.command = systemAction_CommandToJSON(message.command);
        }
        if (message.remoteData !== undefined) {
            obj.remoteData = exports.RemoteCommandData.toJSON(message.remoteData);
        }
        return obj;
    },
    create(base) {
        return exports.SystemAction.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseSystemAction();
        message.command = object.command ?? 0;
        message.remoteData = (object.remoteData !== undefined && object.remoteData !== null)
            ? exports.RemoteCommandData.fromPartial(object.remoteData)
            : undefined;
        return message;
    },
};
function createBaseRemoteCommandData() {
    return { address: "" };
}
exports.RemoteCommandData = {
    encode(message, writer = _m0.Writer.create()) {
        if (message.address !== "") {
            writer.uint32(18).string(message.address);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRemoteCommandData();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.address = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { address: isSet(object.address) ? globalThis.String(object.address) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.address !== "") {
            obj.address = message.address;
        }
        return obj;
    },
    create(base) {
        return exports.RemoteCommandData.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseRemoteCommandData();
        message.address = object.address ?? "";
        return message;
    },
};
function createBaseProperty() {
    return {
        name: undefined,
        model: undefined,
        localTime: undefined,
        utcTime: undefined,
        timeZone: undefined,
        fwVersion: undefined,
        macAddress: undefined,
        cloudId: undefined,
        deviceId: undefined,
        cloudServerUrl: undefined,
        apiVersion: undefined,
        deviceTypeId: undefined,
        detailedVersion: undefined,
        deviceCapabilities: undefined,
        pcbaPartNumber: undefined,
        pcbaRevision: undefined,
        fanMode: undefined,
        fanDirection: undefined,
        fanPercent: undefined,
        fanSpeed: undefined,
        comfortSenseEnabled: undefined,
        comfortSenseIdealTemp: undefined,
        comfortSenseMinSpeed: undefined,
        comfortSenseMaxSpeed: undefined,
        fanOccupancyEnabled: undefined,
        fanOccupancyTimeout: undefined,
        fanReturnToAutoEnabled: undefined,
        fanReturnToAutoTimeout: undefined,
        whooshEnabled: undefined,
        comfortSenseHeatAssistEnabled: undefined,
        comfortSenseHeatAssistSpeed: undefined,
        comfortSenseHeatAssistDirection: undefined,
        commandedRpm: undefined,
        actualRpm: undefined,
        ecoModeEnabled: undefined,
        fanOccupied: undefined,
        fanOnMeansAuto: undefined,
        lightMode: undefined,
        lightPercent: undefined,
        lightLevel: undefined,
        lightColorTemperature: undefined,
        lightOccupancyEnabled: undefined,
        lightOccupancyTimeout: undefined,
        lightReturnToAutoEnabled: undefined,
        lightReturnToAutoTimeout: undefined,
        lightDimToWarmEnabled: undefined,
        lightColorTemperatureMin: undefined,
        lightColorTemperatureMax: undefined,
        multipleLightMode: undefined,
        standbyLed: undefined,
        lightOccupied: undefined,
        temperature: undefined,
        humidity: undefined,
        fanTimerMinutes: undefined,
        fanTimerUtcExpiration: undefined,
        lightOnMeansAuto: undefined,
        ipAddress: undefined,
        network: undefined,
        indicatorsEnabled: undefined,
        audibleIndicatorEnabled: undefined,
        legacyIrEnabled: undefined,
        wallControlConfiguration: undefined,
        assistWith: undefined,
        remoteDiscoveryEnabled: undefined,
        externalDeviceCount: undefined,
        externalDeviceVersion: undefined,
        bleRemoteSupported: undefined,
        debugInfo: undefined,
        groupContainer: undefined,
        uvcEnabled: undefined,
        uvcLife: undefined,
    };
}
exports.Property = {
    encode(message, writer = _m0.Writer.create()) {
        if (message.name !== undefined) {
            writer.uint32(10).string(message.name);
        }
        if (message.model !== undefined) {
            writer.uint32(18).string(message.model);
        }
        if (message.localTime !== undefined) {
            writer.uint32(34).string(message.localTime);
        }
        if (message.utcTime !== undefined) {
            writer.uint32(42).string(message.utcTime);
        }
        if (message.timeZone !== undefined) {
            writer.uint32(50).string(message.timeZone);
        }
        if (message.fwVersion !== undefined) {
            writer.uint32(58).string(message.fwVersion);
        }
        if (message.macAddress !== undefined) {
            writer.uint32(66).string(message.macAddress);
        }
        if (message.cloudId !== undefined) {
            writer.uint32(74).string(message.cloudId);
        }
        if (message.deviceId !== undefined) {
            writer.uint32(82).string(message.deviceId);
        }
        if (message.cloudServerUrl !== undefined) {
            writer.uint32(90).string(message.cloudServerUrl);
        }
        if (message.apiVersion !== undefined) {
            writer.uint32(106).string(message.apiVersion);
        }
        if (message.deviceTypeId !== undefined) {
            writer.uint32(120).uint32(message.deviceTypeId);
        }
        if (message.detailedVersion !== undefined) {
            exports.DetailedVersion.encode(message.detailedVersion, writer.uint32(130).fork()).ldelim();
        }
        if (message.deviceCapabilities !== undefined) {
            exports.DeviceCapabilities.encode(message.deviceCapabilities, writer.uint32(138).fork()).ldelim();
        }
        if (message.pcbaPartNumber !== undefined) {
            writer.uint32(298).string(message.pcbaPartNumber);
        }
        if (message.pcbaRevision !== undefined) {
            writer.uint32(306).string(message.pcbaRevision);
        }
        if (message.fanMode !== undefined) {
            writer.uint32(344).int32(message.fanMode);
        }
        if (message.fanDirection !== undefined) {
            writer.uint32(352).int32(message.fanDirection);
        }
        if (message.fanPercent !== undefined) {
            writer.uint32(360).uint32(message.fanPercent);
        }
        if (message.fanSpeed !== undefined) {
            writer.uint32(368).uint32(message.fanSpeed);
        }
        if (message.comfortSenseEnabled !== undefined) {
            writer.uint32(376).bool(message.comfortSenseEnabled);
        }
        if (message.comfortSenseIdealTemp !== undefined) {
            writer.uint32(384).uint32(message.comfortSenseIdealTemp);
        }
        if (message.comfortSenseMinSpeed !== undefined) {
            writer.uint32(400).uint32(message.comfortSenseMinSpeed);
        }
        if (message.comfortSenseMaxSpeed !== undefined) {
            writer.uint32(408).uint32(message.comfortSenseMaxSpeed);
        }
        if (message.fanOccupancyEnabled !== undefined) {
            writer.uint32(416).bool(message.fanOccupancyEnabled);
        }
        if (message.fanOccupancyTimeout !== undefined) {
            writer.uint32(424).uint32(message.fanOccupancyTimeout);
        }
        if (message.fanReturnToAutoEnabled !== undefined) {
            writer.uint32(432).bool(message.fanReturnToAutoEnabled);
        }
        if (message.fanReturnToAutoTimeout !== undefined) {
            writer.uint32(440).uint32(message.fanReturnToAutoTimeout);
        }
        if (message.whooshEnabled !== undefined) {
            writer.uint32(464).bool(message.whooshEnabled);
        }
        if (message.comfortSenseHeatAssistEnabled !== undefined) {
            writer.uint32(480).bool(message.comfortSenseHeatAssistEnabled);
        }
        if (message.comfortSenseHeatAssistSpeed !== undefined) {
            writer.uint32(488).uint32(message.comfortSenseHeatAssistSpeed);
        }
        if (message.comfortSenseHeatAssistDirection !== undefined) {
            writer.uint32(496).int32(message.comfortSenseHeatAssistDirection);
        }
        if (message.commandedRpm !== undefined) {
            writer.uint32(504).uint32(message.commandedRpm);
        }
        if (message.actualRpm !== undefined) {
            writer.uint32(512).uint32(message.actualRpm);
        }
        if (message.ecoModeEnabled !== undefined) {
            writer.uint32(520).bool(message.ecoModeEnabled);
        }
        if (message.fanOccupied !== undefined) {
            writer.uint32(528).bool(message.fanOccupied);
        }
        if (message.fanOnMeansAuto !== un