UNPKG

dirigera

Version:

A TypeScript client for IKEA's DIRIGERA smart home hub

56 lines (55 loc) 2.9 kB
import type { Capabilities } from '../Capabilities'; import type { Room } from '../Room'; import type { DeviceSet } from '../DeviceSet'; import type { AirPurifierAttributes } from './AirPurifier'; import type { BlindsAttributes } from './Blinds'; import type { Controller } from './Controller'; import type { EnvironmentSensorAttributes } from './EnvironmentSensor'; import type { HubAttributes } from './Hub'; import type { LightAttributes } from './Light'; import type { LightSensorAttributes } from './LightSensor'; import type { MotionSensorAttributes } from './MotionSensor'; import type { OpenCloseSensorAttributes } from './OpenCloseSensor'; import type { OutletAttributes } from './Outlet'; import type { RepeaterAttributes } from './Repeater'; import type { SpeakerAttributes } from './Speaker'; export interface CommonDeviceAttributes { customName: string; firmwareVersion: string; hardwareVersion: string; manufacturer: string; model: string; productCode?: string; serialNumber: string; } export interface IdentifiableDeviceAttributes { identifyStarted: string; identifyPeriod: number; } export interface JoinableDeviceAttributes { permittingJoin: boolean; } export interface OtaUpdatableDeviceAttributes { otaStatus: 'upToDate' | 'updateAvailable'; otaState: 'batteryCheckFailed' | 'checkFailed' | 'checkInProgress' | 'downloadFailed' | 'downloadInProgress' | 'readyToCheck' | 'readyToDownload' | 'readyToUpdate' | 'updateComplete' | 'updateFailed' | 'updateInProgress'; otaProgress: number; otaPolicy: 'autoUpdate' | 'autoDownload'; otaScheduleStart: string; otaScheduleEnd: string; } export interface Device { id: string; relationId?: string; type: 'airPurifier' | 'blinds' | 'controller' | 'gateway' | 'light' | 'outlet' | 'repeater' | 'sensor' | 'speaker' | 'unknown'; deviceType: 'airPurifier' | 'blinds' | 'environmentSensor' | 'shortcutController' | 'lightController' | 'soundController' | 'blindsController' | 'gateway' | 'light' | 'lightSensor' | 'motionSensor' | 'openCloseSensor' | 'outlet' | 'repeater' | 'speaker' | 'waterSensor'; createdAt: string; isReachable: boolean; lastSeen: string; attributes: CommonDeviceAttributes & Partial<IdentifiableDeviceAttributes> & Partial<JoinableDeviceAttributes> & Partial<OtaUpdatableDeviceAttributes> & Partial<AirPurifierAttributes> & Partial<BlindsAttributes> & Partial<Controller['attributes']> & Partial<EnvironmentSensorAttributes> & Partial<HubAttributes> & Partial<LightAttributes> & Partial<LightSensorAttributes> & Partial<MotionSensorAttributes> & Partial<OpenCloseSensorAttributes> & Partial<OutletAttributes> & Partial<RepeaterAttributes> & Partial<SpeakerAttributes>; capabilities: Capabilities; room?: Room; deviceSet: DeviceSet[]; remoteLinks: string[]; isHidden?: boolean; customIcon?: string; }