UNPKG

dirigera

Version:

A TypeScript client for IKEA's DIRIGERA smart home hub

332 lines (331 loc) 13.9 kB
import type { Home } from './types/Home'; import type { Event } from './types/event/Event'; export type DirigeraClient = Awaited<ReturnType<typeof createDirigeraClient>>; export type { AirPurifier } from './types/device/AirPurifier'; export type { Blinds } from './types/device/Blinds'; export type { Capabilities } from './types/Capabilities'; export type { Controller } from './types/device/Controller'; export type { Device } from './types/device/Device'; export type { DeviceSet } from './types/DeviceSet'; export type { EnvironmentSensor } from './types/device/EnvironmentSensor'; export type { Home } from './types/Home'; export type { Hub } from './types/device/Hub'; export type { Light } from './types/device/Light'; export type { LightSensor } from './types/device/LightSensor'; export type { MotionSensor } from './types/device/MotionSensor'; export type { Music } from './types/Music'; export type { OpenCloseSensor } from './types/device/OpenCloseSensor'; export type { Outlet } from './types/device/Outlet'; export type { Repeater } from './types/device/Repeater'; export type { Room } from './types/Room'; export type { Scene } from './types/Scene'; export type { Speaker } from './types/device/Speaker'; export type { User } from './types/User'; export type { WaterSensor } from './types/device/WaterSensor'; export type { Event } from './types/event/Event'; export type { DeviceAddedEvent } from './types/event/DeviceAddedEvent'; export type { DeviceConfigurationChangedEvent } from './types/event/DeviceConfigurationChangedEvent'; export type { DeviceDiscoveredEvent } from './types/event/DeviceDiscoveredEvent'; export type { DeviceRemovedEvent } from './types/event/DeviceRemovedEvent'; export type { DeviceSetCreatedEvent } from './types/event/DeviceSetCreatedEvent'; export type { DeviceSetDeletedEvent } from './types/event/DeviceSetDeletedEvent'; export type { DeviceSetUpdatedEvent } from './types/event/DeviceSetUpdatedEvent'; export type { DeviceStateChangedEvent } from './types/event/DeviceStateChangedEvent'; export type { MusicUpdatedEvent } from './types/event/MusicUpdatedEvent'; export type { PingEvent } from './types/event/PingEvent'; export type { PongEvent } from './types/event/PongEvent'; export type { RoomCreatedEvent } from './types/event/RoomCreatedEvent'; export type { RoomDeletedEvent } from './types/event/RoomDeletedEvent'; export type { RoomUpdatedEvent } from './types/event/RoomUpdatedEvent'; export type { SceneCompletedEvent } from './types/event/SceneCompletedEvent'; export type { SceneCreatedEvent } from './types/event/SceneCreatedEvent'; export type { SceneDeletedEvent } from './types/event/SceneDeletedEvent'; export type { SceneTriggeredEvent } from './types/event/SceneTriggeredEvent'; export type { SceneUpdatedEvent } from './types/event/SceneUpdatedEvent'; export type { TerminationEvent } from './types/event/TerminationEvent'; export declare function createDirigeraClient({ gatewayIP, accessToken, rejectUnauthorized, }?: { gatewayIP?: string; accessToken?: string; rejectUnauthorized?: boolean; }): Promise<{ authenticate({ verbose }?: { verbose?: boolean; }): Promise<string>; home(): Promise<Home>; hub: { status(): Promise<import("./types/device/Hub").Hub>; checkFirmwareUpdate(): Promise<void>; installFirmwareUpdate(): Promise<void>; }; devices: { list(): Promise<import("./types/device/Device").Device[]>; get({ id }: { id: string; }): Promise<import("./types/device/Device").Device>; setCustomName({ id, customName, }: { id: string; customName: string; }): Promise<void>; setAttributes({ id, attributes, transitionTime, }: { id: string; attributes: Partial<import("./types/device/Device").Device["attributes"]>; transitionTime?: number; }): Promise<void>; startIdentifying({ id }: { id: string; }): Promise<void>; stopIdentifying({ id }: { id: string; }): Promise<void>; }; lights: { list(): Promise<import("./types/device/Light").Light[]>; get({ id }: { id: string; }): Promise<import("./types/device/Light").Light>; setIsOn({ id, isOn }: { id: string; isOn: boolean; }): Promise<void>; setLightLevel({ id, lightLevel, transitionTime, }: { id: string; lightLevel: number; transitionTime?: number; }): Promise<void>; setLightTemperature({ id, colorTemperature, transitionTime, }: { id: string; colorTemperature: number; transitionTime?: number; }): Promise<void>; setLightColor({ id, colorHue, colorSaturation, transitionTime, }: { id: string; colorHue: number; colorSaturation: number; transitionTime?: number; }): Promise<void>; setStartupOnOff({ id, startupOnOff, }: { id: string; startupOnOff: import("./types/device/Light").Light["attributes"]["startupOnOff"]; }): Promise<void>; }; outlets: { list(): Promise<import("./types/device/Outlet").Outlet[]>; get({ id }: { id: string; }): Promise<import("./types/device/Outlet").Outlet>; setIsOn({ id, isOn }: { id: string; isOn: boolean; }): Promise<void>; setStartupOnOff({ id, startupOnOff, }: { id: string; startupOnOff: import("./types/device/Outlet").Outlet["attributes"]["startupOnOff"]; }): Promise<void>; setStatusLight({ id, statusLight, }: { id: string; statusLight: import("./types/device/Outlet").Outlet["attributes"]["statusLight"]; }): Promise<void>; setChildLock({ id, childLock, }: { id: string; childLock: import("./types/device/Outlet").Outlet["attributes"]["childLock"]; }): Promise<void>; resetEnergyConsumption({ id }: { id: string; }): Promise<void>; }; controllers: { list(): Promise<import("./types/device/Controller").Controller[]>; get({ id }: { id: string; }): Promise<import("./types/device/Controller").Controller>; }; speakers: { list(): Promise<import("./types/device/Speaker").Speaker[]>; get({ id }: { id: string; }): Promise<import("./types/device/Speaker").Speaker>; setVolume({ id, volume }: { id: string; volume: number; }): Promise<void>; setPlayback({ id, playback, }: { id: string; playback: import("./types/device/Speaker").Speaker["attributes"]["playback"]; }): Promise<void>; }; blinds: { list(): Promise<import("./types/device/Blinds").Blinds[]>; get({ id }: { id: string; }): Promise<import("./types/device/Blinds").Blinds>; setCurrentLevel({ id, blindsCurrentLevel, }: { id: string; blindsCurrentLevel: number; }): Promise<void>; setTargetLevel({ id, blindsTargetLevel, }: { id: string; blindsTargetLevel: number; }): Promise<void>; setState({ id, blindsState, }: { id: string; blindsState: import("./types/device/Blinds").Blinds["attributes"]["blindsState"]; }): Promise<void>; }; airPurifiers: { list(): Promise<import("./types/device/AirPurifier").AirPurifier[]>; get({ id }: { id: string; }): Promise<import("./types/device/AirPurifier").AirPurifier>; setFanMode({ id, fanMode, }: { id: string; fanMode: import("./types/device/AirPurifier").AirPurifier["attributes"]["fanMode"]; }): Promise<void>; setMotorState({ id, motorState, }: { id: string; motorState: import("./types/device/AirPurifier").AirPurifier["attributes"]["motorState"]; }): Promise<void>; setChildLock({ id, childLock, }: { id: string; childLock: import("./types/device/AirPurifier").AirPurifier["attributes"]["childLock"]; }): Promise<void>; setStatusLight({ id, statusLight, }: { id: string; statusLight: import("./types/device/AirPurifier").AirPurifier["attributes"]["statusLight"]; }): Promise<void>; }; repeaters: { list(): Promise<import("./types/device/Repeater").Repeater[]>; get({ id }: { id: string; }): Promise<import("./types/device/Repeater").Repeater>; }; motionSensors: { list(): Promise<import("./types/device/MotionSensor").MotionSensor[]>; get({ id }: { id: string; }): Promise<import("./types/device/MotionSensor").MotionSensor>; setOnDuration({ id, onDuration, }: { id: string; onDuration: import("./types/device/MotionSensor").MotionSensor["attributes"]["sensorConfig"]["onDuration"]; }): Promise<void>; setScheduleOn({ id, scheduleOn, }: { id: string; scheduleOn: import("./types/device/MotionSensor").MotionSensor["attributes"]["sensorConfig"]["scheduleOn"]; }): Promise<void>; setSchedule({ id, schedule, }: { id: string; schedule: import("./types/device/MotionSensor").MotionSensor["attributes"]["sensorConfig"]["schedule"]; }): Promise<void>; }; lightSensors: { list(): Promise<import("./types/device/LightSensor").LightSensor[]>; get({ id }: { id: string; }): Promise<import("./types/device/LightSensor").LightSensor>; }; environmentSensors: { list(): Promise<import("./types/device/EnvironmentSensor").EnvironmentSensor[]>; get({ id }: { id: string; }): Promise<import("./types/device/EnvironmentSensor").EnvironmentSensor>; }; openCloseSensors: { list(): Promise<import("./types/device/OpenCloseSensor").OpenCloseSensor[]>; get({ id }: { id: string; }): Promise<import("./types/device/OpenCloseSensor").OpenCloseSensor>; }; waterSensors: { list(): Promise<import("./types/device/WaterSensor").WaterSensor[]>; get({ id }: { id: string; }): Promise<import("./types/device/WaterSensor").WaterSensor>; }; deviceSets: { list(): Promise<import("./types/DeviceSet").DeviceSet[]>; create({ name, icon }: Pick<import("./types/DeviceSet").DeviceSet, "name" | "icon">): Promise<{ id: string; }>; delete({ id }: { id: string; }): Promise<void>; update({ id, name, icon }: import("./types/DeviceSet").DeviceSet): Promise<void>; updateConfiguration({ id, deviceIds, roomId, remoteLinkIds, }: { id: string; deviceIds: string[]; roomId?: string; remoteLinkIds?: string[]; }): Promise<void>; setIsOn({ id, isOn }: { id: string; isOn: boolean; }): Promise<void>; setAttributes({ id, attributes, transitionTime, }: { id: string; attributes: Partial<import("./types/device/Device").Device["attributes"]>; transitionTime?: number; }): Promise<void>; }; rooms: { list(): Promise<import("./types/Room").Room[]>; get({ id }: { id: string; }): Promise<import("./types/Room").Room>; create({ name, icon, color }: Pick<import("./types/Room").Room, "name" | "icon" | "color">): Promise<{ id: string; }>; delete({ id }: { id: string; }): Promise<void>; update({ id, name, icon, color }: import("./types/Room").Room): Promise<void>; moveDevices({ id, deviceIds }: { id: string; deviceIds: string[]; }): Promise<void>; setIsOn({ id, deviceType, isOn, }: { id: string; deviceType?: import("./types/device/Device").Device["deviceType"]; isOn: boolean; }): Promise<void>; setAttributes({ id, deviceType, attributes, transitionTime, }: { id: string; deviceType?: import("./types/device/Device").Device["deviceType"]; attributes: Partial<import("./types/device/Device").Device["attributes"]>; transitionTime?: number; }): Promise<void>; }; scenes: { list(): Promise<import("./types/Scene").Scene[]>; get({ id }: { id: string; }): Promise<import("./types/Scene").Scene>; trigger({ id }: { id: string; }): Promise<void>; undo({ id }: { id: string; }): Promise<void>; create({ info, type, actions, triggers, }: Pick<import("./types/Scene").Scene, "info" | "type" | "actions" | "triggers">): Promise<{ id: string; }>; delete({ id }: { id: string; }): Promise<void>; update({ id, info, type, actions, triggers, }: Pick<import("./types/Scene").Scene, "id" | "info" | "type" | "actions" | "triggers">): Promise<void>; }; music: { get(): Promise<import("./types/Music").Music>; }; users: { list(): Promise<import("./types/User").User[]>; getCurrentUser(): Promise<import("./types/User").User>; setCurrentUserName({ name }: { name: string; }): Promise<void>; delete({ id }: { id: string; }): Promise<void>; }; startListeningForUpdates(callback: (updateEvent: Event) => void): void; stopListeningForUpdates(): void; }>;