mirror of
https://github.com/bourquep/mysa-js-sdk.git
synced 2026-02-04 09:41:07 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d861a50136 |
@@ -65,9 +65,10 @@ async function main() {
|
||||
client.emitter.on('statusChanged', (status) => {
|
||||
try {
|
||||
const device = devices.DevicesObj[status.deviceId];
|
||||
const watts = status.current !== undefined ? status.current * device.Voltage : undefined;
|
||||
const watts =
|
||||
status.current !== undefined && device.Voltage !== undefined ? status.current * device.Voltage : undefined;
|
||||
rootLogger.info(
|
||||
`[${status.deviceId}] '${device.Name}' status changed: ${status.temperature}°C, ${status.humidity}%, ${watts ?? 'na'}W`
|
||||
`[${status.deviceId}] '${device.Name ?? 'Unknown'}' status changed: ${status.temperature}°C, ${status.humidity}%, ${watts ?? 'na'}W`
|
||||
);
|
||||
} catch (error) {
|
||||
rootLogger.error(error, `Error processing status update for device '${status.deviceId}'`);
|
||||
@@ -77,7 +78,9 @@ async function main() {
|
||||
client.emitter.on('setPointChanged', (change) => {
|
||||
try {
|
||||
const device = devices.DevicesObj[change.deviceId];
|
||||
rootLogger.info(`'${device.Name}' setpoint changed from ${change.previousSetPoint} to ${change.newSetPoint}`);
|
||||
rootLogger.info(
|
||||
`'${device.Name ?? 'Unknown'}' setpoint changed from ${change.previousSetPoint} to ${change.newSetPoint}`
|
||||
);
|
||||
} catch (error) {
|
||||
rootLogger.error(error, `Error processing setpoint update for device '${change.deviceId}'`);
|
||||
}
|
||||
@@ -86,7 +89,7 @@ async function main() {
|
||||
client.emitter.on('stateChanged', (change) => {
|
||||
try {
|
||||
const device = devices.DevicesObj[change.deviceId];
|
||||
rootLogger.info(change, `'${device.Name}' state changed.`);
|
||||
rootLogger.info(change, `'${device.Name ?? 'Unknown'}' state changed.`);
|
||||
} catch (error) {
|
||||
rootLogger.error(error, `Error processing state update for device '${change.deviceId}'`);
|
||||
}
|
||||
@@ -96,7 +99,7 @@ async function main() {
|
||||
await Promise.all(
|
||||
Object.entries(devices.DevicesObj).map(async ([deviceId, device]) => {
|
||||
const serial = await client.getDeviceSerialNumber(deviceId);
|
||||
rootLogger.info(`Serial number for device '${deviceId}' (${device.Name}): ${serial}`);
|
||||
rootLogger.info(`Serial number for device '${deviceId}' (${device.Name ?? 'Unknown'}): ${serial}`);
|
||||
|
||||
await client.startRealtimeUpdates(deviceId);
|
||||
})
|
||||
|
||||
@@ -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