node-hue-api
Version:
Philips Hue API Library for Node.js
50 lines (49 loc) • 2.13 kB
TypeScript
import { model } from '@peter-murray/hue-bridge-model';
import { ApiDefinition } from './http/ApiDefinition';
import { Api } from './Api';
type GroupState = model.GroupState;
type Luminaire = model.Luminaire;
type Entertainment = model.Entertainment;
type Zone = model.Zone;
type Room = model.Room;
type LightGroup = model.LightGroup;
type Group = model.Group;
type Lightsource = model.Lightsource;
type AnyGroup = Group | Entertainment | LightGroup | Lightsource | Luminaire | Room | Zone;
export declare class Groups extends ApiDefinition {
private _groupStateLimiter;
constructor(hueApi: Api);
getAll(): Promise<AnyGroup[]>;
getGroup(id: number | Group): Promise<AnyGroup>;
/**
* @param name {string}
* @returns {Promise<Array<Entertainment|LightGroup|Lightsource|Luminaire|Room|Zone>>}
*/
getGroupByName(name: string): Promise<AnyGroup[]>;
createGroup(group: Group | LightGroup | Room | Entertainment | Zone): Promise<AnyGroup>;
/**
* Update the Group attributes on the bridge for the specified Group object.
* @param group The group with updates to be updated on the bridge.
* @returns {Promise<boolean>}
*/
updateGroupAttributes(group: Group): Promise<any>;
deleteGroup(id: number | AnyGroup): Promise<boolean>;
getGroupState(id: number | Group): Promise<object>;
setGroupState(id: number | string | Group, state: GroupState): Promise<boolean>;
getLightGroups(): Promise<LightGroup[]>;
getLuminaries(): Promise<Luminaire[]>;
getLightSources(): Promise<Lightsource[]>;
getRooms(): Promise<Room[]>;
getZones(): Promise<Zone[]>;
getEntertainment(): Promise<Entertainment[]>;
/** Enables the streaming functionality on an Entertainment Group */
enableStreaming(id: number | string | Entertainment): Promise<boolean>;
/**
* Disabled the streaming functionality on an Entertainment Group
* @param id {int | Entertainment}
* @returns {Promise<boolean>}
*/
disableStreaming(id: number | string | Entertainment): Promise<boolean>;
_getByType(type: string): Promise<AnyGroup[]>;
}
export {};