mirror of
https://github.com/bourquep/mysa-js-sdk.git
synced 2026-02-04 09:41:07 +00:00
fix!: Device and state properties are now optional (#170)
Updated DeviceBase, BrandInfo, and DeviceState interfaces to make most properties optional, improving flexibility for partial objects and better handling of missing data.
This commit is contained in:
@@ -10,9 +10,9 @@ export interface BrandInfo {
|
||||
/** Unique identifier for the brand */
|
||||
Id: number;
|
||||
/** Remote control model number for the AC device */
|
||||
remoteModelNumber: string;
|
||||
remoteModelNumber?: string;
|
||||
/** Original Equipment Manufacturer brand name */
|
||||
OEMBrand: string;
|
||||
OEMBrand?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -56,55 +56,55 @@ export interface ModeObj {
|
||||
*/
|
||||
export interface DeviceBase {
|
||||
/** Button digital input configuration value */
|
||||
ButtonDI: number;
|
||||
ButtonDI?: number;
|
||||
/** Maximum current rating as a string value */
|
||||
MaxCurrent: string;
|
||||
MaxCurrent?: string;
|
||||
/** Device model identifier string */
|
||||
Model: string;
|
||||
/** Button average value configuration */
|
||||
ButtonAVE: number;
|
||||
ButtonAVE?: number;
|
||||
/** Operating voltage of the device */
|
||||
Voltage: number;
|
||||
Voltage?: number;
|
||||
/** Button polling interval configuration */
|
||||
ButtonPolling: number;
|
||||
ButtonPolling?: number;
|
||||
/** Minimum brightness level (0-100) */
|
||||
MinBrightness: number;
|
||||
MinBrightness?: number;
|
||||
/** User-assigned device name */
|
||||
Name: string;
|
||||
Name?: string;
|
||||
/** Button low power mode configuration */
|
||||
ButtonLowPower: number;
|
||||
ButtonLowPower?: number;
|
||||
/** Type of heater controlled by the device */
|
||||
HeaterType: string;
|
||||
HeaterType?: string;
|
||||
/** Button repeat delay configuration in milliseconds */
|
||||
ButtonRepeatDelay: number;
|
||||
ButtonRepeatDelay?: number;
|
||||
/** Button repeat start delay configuration in milliseconds */
|
||||
ButtonRepeatStart: number;
|
||||
ButtonRepeatStart?: number;
|
||||
/** Display animation style setting */
|
||||
Animation: string;
|
||||
Animation?: string;
|
||||
/** Maximum brightness level (0-100) */
|
||||
MaxBrightness: number;
|
||||
MaxBrightness?: number;
|
||||
/** Array of user IDs allowed to control this device */
|
||||
AllowedUsers: string[];
|
||||
AllowedUsers?: string[];
|
||||
/** Current button state indicator */
|
||||
ButtonState: string;
|
||||
ButtonState?: string;
|
||||
/** Home identifier that this device belongs to */
|
||||
Home: string;
|
||||
Home?: string;
|
||||
/** Button sensitivity threshold configuration */
|
||||
ButtonThreshold: number;
|
||||
ButtonThreshold?: number;
|
||||
/** Data format version used by the device */
|
||||
Format: string;
|
||||
Format?: string;
|
||||
/** Time zone setting for the device */
|
||||
TimeZone: string;
|
||||
TimeZone?: string;
|
||||
/** Unix timestamp of when device was last paired */
|
||||
LastPaired: number;
|
||||
LastPaired?: number;
|
||||
/** Minimum temperature setpoint allowed */
|
||||
MinSetpoint: number;
|
||||
MinSetpoint?: number;
|
||||
/** Current operating mode of the device */
|
||||
Mode: ModeObj;
|
||||
Mode?: ModeObj;
|
||||
/** User ID of the device owner */
|
||||
Owner: string;
|
||||
Owner?: string;
|
||||
/** Maximum temperature setpoint allowed */
|
||||
MaxSetpoint: number;
|
||||
MaxSetpoint?: number;
|
||||
/** Unique device identifier */
|
||||
Id: string;
|
||||
/** Optional zone assignment for the device */
|
||||
|
||||
@@ -13,43 +13,43 @@ export interface DeviceState {
|
||||
/** Overall timestamp for the device state */
|
||||
Timestamp: number;
|
||||
/** Time the device has been on */
|
||||
OnTime: TimestampedValue<number>;
|
||||
OnTime?: TimestampedValue<number>;
|
||||
/** Temperature set point */
|
||||
SetPoint: TimestampedValue<number>;
|
||||
SetPoint?: TimestampedValue<number>;
|
||||
/** Display brightness level */
|
||||
Brightness: TimestampedValue<number>;
|
||||
Brightness?: TimestampedValue<number>;
|
||||
/** Schedule mode setting */
|
||||
ScheduleMode: TimestampedValue<number>;
|
||||
ScheduleMode?: TimestampedValue<number>;
|
||||
/** Hold time setting */
|
||||
HoldTime: TimestampedValue<number>;
|
||||
HoldTime?: TimestampedValue<number>;
|
||||
/** Wi-Fi signal strength */
|
||||
Rssi: TimestampedValue<number>;
|
||||
Rssi?: TimestampedValue<number>;
|
||||
/** Thermostat mode */
|
||||
TstatMode: TimestampedValue<number>;
|
||||
TstatMode?: TimestampedValue<number>;
|
||||
/** Available heap memory */
|
||||
FreeHeap: TimestampedValue<number>;
|
||||
FreeHeap?: TimestampedValue<number>;
|
||||
/** Sensor temperature reading */
|
||||
SensorTemp: TimestampedValue<number>;
|
||||
SensorTemp?: TimestampedValue<number>;
|
||||
/** Current mode */
|
||||
Mode: TimestampedValue<number>;
|
||||
Mode?: TimestampedValue<number>;
|
||||
/** Voltage measurement */
|
||||
Voltage: TimestampedValue<number>;
|
||||
Voltage?: TimestampedValue<number>;
|
||||
/** Temperature corrected for calibration */
|
||||
CorrectedTemp: TimestampedValue<number>;
|
||||
CorrectedTemp?: TimestampedValue<number>;
|
||||
/** Duty cycle percentage */
|
||||
Duty: TimestampedValue<number>;
|
||||
Duty?: TimestampedValue<number>;
|
||||
/** Heat sink temperature */
|
||||
HeatSink: TimestampedValue<number>;
|
||||
HeatSink?: TimestampedValue<number>;
|
||||
/** Time the device has been off */
|
||||
OffTime: TimestampedValue<number>;
|
||||
OffTime?: TimestampedValue<number>;
|
||||
/** Connection status */
|
||||
Connected: TimestampedValue<boolean>;
|
||||
Connected?: TimestampedValue<boolean>;
|
||||
/** Current consumption */
|
||||
Current: TimestampedValue<number>;
|
||||
Current?: TimestampedValue<number>;
|
||||
/** Humidity reading */
|
||||
Humidity: TimestampedValue<number>;
|
||||
Humidity?: TimestampedValue<number>;
|
||||
/** Lock status */
|
||||
Lock: TimestampedValue<number>;
|
||||
Lock?: TimestampedValue<number>;
|
||||
/** Fan speed */
|
||||
FanSpeed?: TimestampedValue<number>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user